Files
scoutfs/debian/rules
2026-03-27 17:03:52 -05:00

85 lines
2.7 KiB
Makefile

#!/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