blob: 757085ce19af377d0e52fbbc3effc5829d3adb21 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
#!/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) \
--libdir=/lib/$(DEB_HOST_MULTIARCH) \
--sbindir=/sbin \
--with-tmpfilesdir=/usr/lib/tmpfiles.d \
--enable-libargon2 \
--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/lib/cryptsetup/checks/*
chmod 0755 debian/cryptsetup/lib/cryptsetup/scripts/decrypt_*
chmod 0755 debian/cryptsetup-suspend/lib/cryptsetup/scripts/suspend/cryptsetup-suspend-wrapper
chmod 0755 debian/cryptsetup-suspend/lib/systemd/system-shutdown/cryptsetup-suspend.shutdown
ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES)))
chmod 0755 debian/cryptsetup-udeb/lib/cryptsetup/checks/*
chmod 0755 debian/cryptsetup-udeb/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/*/*
|