diff options
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..a03d8cc --- /dev/null +++ b/debian/rules @@ -0,0 +1,178 @@ +#!/usr/bin/make -f + +include /usr/share/dpkg/architecture.mk +include /usr/share/dpkg/pkg-info.mk + +ifeq ($(DEB_HOST_ARCH_OS),linux) +CONFOPTS += --with-selinux +CONFOPTS += --with-smack +CONFOPTS += --enable-partx + +ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),) + CONFOPTS += --without-systemd --without-udev --without-audit +else + CONFOPTS += --with-systemd --with-udev --with-audit +endif + +ifneq ($(filter pkg.util-linux.noverity,$(DEB_BUILD_PROFILES)),) + CONFOPTS += --without-cryptsetup +else + CONFOPTS += --with-cryptsetup=dlopen +endif +endif + + +CONFOPTS += --enable-write + +# build static versions of programs used in fdisk-udeb and util-linux-udeb +CONFOPTS += --enable-static-programs=fdisk,sfdisk,blkid + +# Help welcome packaging the (libmount) python bindings. +# See http://bugs.debian.org/811361 +CONFOPTS += --without-python + +# disable utilities shipped by other packages +# => login +CONFOPTS += --disable-login +CONFOPTS += --disable-nologin +# => procps +CONFOPTS += --disable-kill +# => passwd +CONFOPTS += --disable-chfn-chsh +# => bsdmainutils +CONFOPTS += --disable-cal + +# Keep hwclock as GPLv2 (and others) +CONFOPTS += --disable-hwclock-gplv3 + +# Get the list of binary package, except lib* and *-udeb, from +# debian/control instead of hardcoding the list when installing +# bash-completions below. +BINARYPACKAGES := $(shell awk '/^Package: /{if($$2 !~ /^lib|-udeb$$/) print $$2}' $(CURDIR)/debian/control ) + +# hardening +export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow + +%: + dh $@ + +override_dh_autoreconf: + AM_OPTS=--copy LT_OPTS=--copy dh_autoreconf ./autogen.sh + +override_dh_auto_configure: + dh_auto_configure -- $(CONFOPTS) + +override_dh_auto_install: + dh_auto_install +ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),) + # Manually generate and install units to avoid missing files when + # util-linux.install gets executed in stage1 builds. + install -d debian/tmp/lib/systemd/system + make PATHFILES=sys-utils/fstrim.service sys-utils/fstrim.service + install -m644 sys-utils/fstrim.service debian/tmp/lib/systemd/system/fstrim.service + install -m644 sys-utils/fstrim.timer debian/tmp/lib/systemd/system/fstrim.timer +endif + # + # remove *.la files + rm -f debian/tmp/usr/lib/*/*.la + # + # Avoid shipping static libraries. + # - libblkid.a is used by e2fsprogs. + find debian/tmp/usr/lib -name 'lib*.a' \! -name 'libuuid.a' \! -name 'libblkid.a' -delete + +override_dh_auto_clean: + dh_auto_clean + # drop arch-overrides, generated in dh_install by dh-exec usage. + rm -f debian/uuid-runtime.install.$(DEB_HOST_ARCH) \ + debian/util-linux.install.$(DEB_HOST_ARCH) + +override_dh_install: + # generate arch-override, as dh-exec install-rename can only run once. + [ -f debian/util-linux.install.$(DEB_HOST_ARCH) ] || \ + debian/util-linux.install > \ + debian/util-linux.install.$(DEB_HOST_ARCH) + [ -f debian/uuid-runtime.install.$(DEB_HOST_ARCH) ] || \ + debian/uuid-runtime.install > \ + debian/uuid-runtime.install.$(DEB_HOST_ARCH) + # + install -D -p -m644 debian/fdisk-udeb.lintian-overrides \ + debian/fdisk-udeb/usr/share/lintian/overrides/fdisk-udeb + dh_install \ + -Nfdisk-udeb -Nlibblkid1-udeb \ + -Nlibfdisk1-udeb -Nlibsmartcols1-udeb -Nlibuuid1-udeb \ + -Nutil-linux-udeb + dh_install --remaining-packages + # + # Install bash-completions only for binaries we ship + for PACKAGE in $(BINARYPACKAGES) ; do \ + for BINARY in debian/$$PACKAGE/bin/* debian/$$PACKAGE/sbin/* \ + debian/$$PACKAGE/usr/bin/* \ + debian/$$PACKAGE/usr/sbin/* ; \ + do \ + BASENAME=$$(basename $$BINARY); \ + BCDIR=usr/share/bash-completion/completions/; \ + BCNAME=$$BCDIR/$$BASENAME ; \ + if [ "$$BASENAME" != '*' ] && find "debian/tmp/$$BCNAME" -quit; \ + then \ + echo "$$PACKAGE: Installing $$BCNAME"; \ + [ -d debian/$$PACKAGE/$$BCDIR ] || \ + mkdir -p debian/$$PACKAGE/$$BCDIR; \ + mv debian/tmp/$$BCNAME debian/$$PACKAGE/$$BCNAME; \ + fi; \ + done; \ + done + # + rm -rf debian/*-udeb/usr/share/doc + +override_dh_installman: + dh_installman --language=C + +override_dh_missing: + dh_missing --list-missing + +override_dh_gencontrol: +ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),) + dh_gencontrol --package=bsdutils -- -v1:$(DEB_VERSION_UPSTREAM_REVISION) +endif + dh_gencontrol --remaining-packages + +override_dh_installinit: + # hwclock works on all Linux architectures, except s390 + # (and s390x, of course). +ifeq (linux,$(DEB_HOST_ARCH_OS)) +ifeq (,$(findstring s390,$(DEB_HOST_ARCH))) + # install /etc/init.d/hwclock.sh + dh_installinit --package=util-linux-extra --name=hwclock.sh --no-start + # install /etc/default/hwclock + dh_installinit --package=util-linux-extra --name=hwclock +endif +endif + # install uuidd sysvinit script + make misc-utils/uuidd.rc + ln -s ../misc-utils/uuidd.rc debian/uuid-runtime.uuidd.init + dh_installinit --name=uuidd --restart-after-upgrade + rm -f debian/uuid-runtime.uuidd.init + +override_dh_installpam: + dh_installpam --package=util-linux --name=runuser + dh_installpam --package=util-linux --name=runuser-l + dh_installpam --package=util-linux --name=su + dh_installpam --package=util-linux --name=su-l + +override_dh_fixperms: + dh_fixperms -i -a -Xusr/bin/wall -Xusr/bin/write -Xbin/mount -Xbin/umount -Xbin/su + +ifeq (linux,$(DEB_HOST_ARCH_OS)) +override_dh_installsystemd: + dh_installsystemd -putil-linux fstrim.timer + dh_installsystemd -putil-linux fstrim.service + dh_installsystemd --remaining-packages +endif + +override_dh_auto_test: +ifeq ($(DEB_HOST_ARCH_OS), linux) + dh_auto_test --max-parallel=1 +else + @echo "WARNING: non-linux detected, making tests non-fatal." + dh_auto_test --max-parallel=1 || true +endif |