97 lines
3.6 KiB
Makefile
Executable file
97 lines
3.6 KiB
Makefile
Executable file
#!/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/*/*
|