zfsonlinux/spl-debian-pve/rules
2015-01-10 14:43:04 +01:00

64 lines
1.9 KiB
Makefile
Executable File

#!/usr/bin/make -f
NAME := $(shell awk '$$1 == "Name:" { print $$2; }' META)
VERSION := $(shell dpkg-parsechangelog \
| awk '$$1 == "Version:" { print $$2; }' | cut -d- -f1)
REVISION := $(shell dpkg-parsechangelog \
| awk '$$1 == "Version:" { print $$2; }' | cut -d- -f2-)
%:
dh $@ --with autoreconf
override_dh_auto_configure:
@# Embed the downstream version in the module.
@sed \
-e 's/^Version:.*/Version: $(VERSION)/' \
-e 's/^Release:.*/Release: $(REVISION)/' \
-i.orig META
@# Create the makefiles and configure script.
./autogen.sh
@# Build the userland, but don't build the kernel modules.
dh_auto_configure -- --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
@# Delete boilerplate to satisfy the lintian extra-license-file check.
rm '$(CURDIR)/$(NAME)-$(VERSION)/COPYING'
@# This shunt allows DKMS to install the Module.symvers and spl_config.h
@# files to the ${dkms_tree} area through the POST_INSTALL directive.
echo '#!/bin/sh' >'$(CURDIR)/$(NAME)-$(VERSION)/cp'
echo 'cp "$$@"' >>'$(CURDIR)/$(NAME)-$(VERSION)/cp'
chmod 755 '$(CURDIR)/$(NAME)-$(VERSION)/cp'
# 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)
override_dh_auto_clean:
dh_auto_clean
@if test -e META.orig; then mv META.orig META; fi
%:
dh $@