#!/usr/bin/make -f # Uncomment this to turn on debhelper verbose mode. #export DH_VERBOSE=1 # Set some custom build flags export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow,+pie DEB_CFLAGS_MAINT_APPEND = -Wall include /usr/share/dpkg/architecture.mk -include /usr/share/dpkg/buildtools.mk CONFFLAGS = # Used e.g. for manpages (to build them in a reprodicible way) include /usr/share/dpkg/pkg-info.mk DEB_DATE := $(strip $(shell LC_ALL=C date -u +%F -d@$(SOURCE_DATE_EPOCH))) %: dh $@ ifneq (,$(filter nodoc, $(DEB_BUILD_OPTIONS))) CONFFLAGS += --disable-asciidoc endif override_dh_auto_configure: dh_auto_configure -- $(CONFFLAGS) \ --with-tmpfilesdir=/usr/lib/tmpfiles.d \ --enable-shared \ --enable-cryptsetup-reencrypt execute_after_dh_auto_build: # build askpass and passdev keyscripts $(CC) -o debian/askpass debian/askpass.c -Wall -Werror $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -pedantic $(CC) -o debian/scripts/passdev debian/scripts/passdev.c -Wall -Werror $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -pedantic # build suspend binary $(CC) -o debian/scripts/suspend/cryptsetup-suspend debian/scripts/suspend/cryptsetup-suspend.c \ -Wall -Werror $(CFLAGS) $(CPPFLAGS) -I$(CURDIR)/lib $(LDFLAGS) -L$(CURDIR)/.libs -lcryptsetup -pedantic ifeq (,$(filter nodoc, $(DEB_BUILD_OPTIONS))) # generate manpages sed 's/VERSION/$(DEB_VERSION)/;s/DATE/$(DEB_DATE)/' \ debian/doc/variables.xml.in >debian/doc/variables.xml xsltproc --nonet --xinclude -o debian/doc/ \ /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \ debian/doc/manpages.xml pod2man --section=8 --center="Administrative commands" \ --release="$(DEB_VERSION)" debian/scripts/luksformat \ debian/doc/luksformat.8 endif # generate gettext po files (for luksformat) $(MAKE) -C debian/scripts/po all luksformat.pot execute_before_dh_auto_test: # tests/fake_token_path.so is built without global $(CFLAGS) @echo "blhc: ignore-line-regexp: gcc\\s.*\\s\\.\\./tests/[0-9A-Za-z_-]+\\.c\\s.*" execute_after_dh_auto_install: # install gettext po files (for luksformat) $(MAKE) -C debian/scripts/po DESTDIR=$(CURDIR)/debian/cryptsetup-bin install execute_after_dh_install: # install apport files when building on Ubuntu ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes),yes) mkdir -p $(CURDIR)/debian/cryptsetup/usr/share/apport/package-hooks install -m 0644 debian/cryptsetup.apport \ $(CURDIR)/debian/cryptsetup/usr/share/apport/package-hooks/cryptsetup.py endif override_dh_installinit: dh_installinit -pcryptsetup --no-start --name=cryptdisks dh_installinit -pcryptsetup --no-start --name=cryptdisks-early execute_after_dh_auto_clean: $(MAKE) -C debian/scripts/po update clean if [ -f $(CURDIR)/debian/cryptsetup-initramfs.preinst.in ]; then \ mv -fT $(CURDIR)/debian/cryptsetup-initramfs.preinst.in $(CURDIR)/debian/cryptsetup-initramfs.preinst; \ fi override_dh_bugfiles: dh_bugfiles -A execute_after_dh_fixperms-arch: chmod 0755 debian/cryptsetup/usr/lib/cryptsetup/checks/* chmod 0755 debian/cryptsetup/usr/lib/cryptsetup/scripts/decrypt_* chmod 0755 debian/cryptsetup-suspend/usr/lib/cryptsetup/scripts/suspend/cryptsetup-suspend-wrapper chmod 0755 debian/cryptsetup-suspend/usr/lib/systemd/system-shutdown/cryptsetup-suspend.shutdown ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES))) chmod 0755 debian/cryptsetup-udeb/usr/lib/cryptsetup/checks/* chmod 0755 debian/cryptsetup-udeb/usr/lib/cryptsetup/scripts/decrypt_* endif execute_after_dh_fixperms-indep: chmod 0755 debian/cryptsetup-initramfs/usr/share/cryptsetup/initramfs/bin/* chmod 0755 debian/cryptsetup-initramfs/usr/share/initramfs-tools/hooks/* chmod 0755 debian/cryptsetup-initramfs/usr/share/initramfs-tools/scripts/*/*