#!/usr/bin/make -f # # ScoutFS Debian package build rules # # The kmod is NOT built here — it is built on the target system by DKMS. # Only the utils are compiled during package build. # export DH_VERBOSE = 1 VERSION := $(shell cat VERSION 2>/dev/null || echo "0.0.0") %: dh $@ --with dkms override_dh_auto_configure: # No configure step needed override_dh_auto_build: # Build utils only; kmod is built by DKMS at install time SCOUTFS_FORMAT_HASH=$(SCOUTFS_FORMAT_HASH) $(MAKE) -C scoutfs/utils override_dh_auto_install: # --- scoutfs-utils --- install -m 755 -D scoutfs/utils/src/scoutfs \ debian/scoutfs-utils/usr/sbin/scoutfs # Man pages for f in scoutfs/utils/man/*.5; do \ install -m 644 -D "$$f" \ "debian/scoutfs-utils/usr/share/man/man5/$$(basename $$f)"; \ done for f in scoutfs/utils/man/*.7; do \ install -m 644 -D "$$f" \ "debian/scoutfs-utils/usr/share/man/man7/$$(basename $$f)"; \ done for f in scoutfs/utils/man/*.8; do \ install -m 644 -D "$$f" \ "debian/scoutfs-utils/usr/share/man/man8/$$(basename $$f)"; \ done # Fenced service install -m 755 -D scoutfs/utils/fenced/scoutfs-fenced \ debian/scoutfs-utils/usr/libexec/scoutfs-fenced/scoutfs-fenced install -m 644 -D scoutfs/utils/fenced/scoutfs-fenced.service \ debian/scoutfs-utils/lib/systemd/system/scoutfs-fenced.service install -m 644 -D scoutfs/utils/fenced/scoutfs-fenced.conf.example \ debian/scoutfs-utils/etc/scoutfs/scoutfs-fenced.conf.example # --- scoutfs-dev --- install -m 644 -D scoutfs/kmod/src/format.h \ debian/scoutfs-dev/usr/include/scoutfs/format.h install -m 644 -D scoutfs/kmod/src/ioctl.h \ debian/scoutfs-dev/usr/include/scoutfs/ioctl.h # --- scoutfs-dkms --- # Install full kmod source tree for DKMS install -d debian/scoutfs-dkms/usr/src/scoutfs-$(VERSION) cp -a scoutfs/kmod debian/scoutfs-dkms/usr/src/scoutfs-$(VERSION)/kmod cp -a scoutfs/Makefile debian/scoutfs-dkms/usr/src/scoutfs-$(VERSION)/ # Install DKMS config with version substituted sed 's/@VERSION@/$(VERSION)/' dkms/dkms.conf \ > debian/scoutfs-dkms/usr/src/scoutfs-$(VERSION)/dkms.conf # Install pre-build check install -d debian/scoutfs-dkms/usr/src/scoutfs-$(VERSION)/dkms install -m 755 dkms/dkms-pre-build.sh \ debian/scoutfs-dkms/usr/src/scoutfs-$(VERSION)/dkms/dkms-pre-build.sh # Install kernel hooks (Debian postinst.d/postrm.d) install -m 755 -D scripts/scoutfs-kernel-hook \ debian/scoutfs-dkms/etc/kernel/postinst.d/scoutfs install -m 755 -D scripts/scoutfs-kernel-hook \ debian/scoutfs-dkms/etc/kernel/postrm.d/scoutfs override_dh_dkms: dh_dkms -pscoutfs-dkms -V $(VERSION) override_dh_auto_clean: $(MAKE) -C scoutfs/utils clean 2>/dev/null || true override_dh_auto_test: # Tests require a running scoutfs filesystem; skip during packaging