#!/usr/bin/make -f NAME := $(shell awk '/^Name:/{print $$2}' META) VERSION := $(shell awk '/^Version:/{print $$2}' META) %: dh $@ override_dh_auto_configure: # Build the userland, but don't build the kernel modules. ./configure --prefix=/usr --with-config=user override_dh_auto_test: # scripts/check.sh tries insmod and rmmod, so it cannot # run in an unprivileged build environment. override_dh_auto_install: # Install the utilities. make install DESTDIR='$(CURDIR)/debian/tmp' # Create a dummy hostid file for the zfs-initramfs package. # NB: Commentary in the spl.postinst script. mkdir -p '$(CURDIR)/debian/tmp/etc/' /usr/bin/printf '\xFF\xFF\xFF\xFF' >'$(CURDIR)/debian/tmp/etc/hostid' # Get a bare copy of the source code. # This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree. make distdir # This shunt allows DKMS to delete header files that are peculiar to each # module instance through the POST_REMOVE directive in the dkms.conf file. echo '#!/bin/sh' >'$(CURDIR)/$(NAME)-$(VERSION)/rm' echo 'rm "$$@"' >>'$(CURDIR)/$(NAME)-$(VERSION)/rm' chmod 755 '$(CURDIR)/$(NAME)-$(VERSION)/rm' # Install the DKMS source. mkdir -p '$(CURDIR)/debian/tmp/usr/src/' mv '$(CURDIR)/$(NAME)-$(VERSION)' '$(CURDIR)/debian/tmp/usr/src/' # Install the dkms.conf file. dh_dkms -V $(VERSION) # @FIXME: `make distclean` fails when --with-config=user is set. # Kludge by creating dummy makefiles. echo 'distclean:' >$(CURDIR)/include/Makefile echo ' -rm -f Makefile' >>$(CURDIR)/include/Makefile echo 'distclean:' >$(CURDIR)/module/Makefile echo ' -rm -f Makefile' >>$(CURDIR)/module/Makefile