85 lines
2.7 KiB
Makefile
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
|