Name cryptsetup-initramfs
Description disk encryption support - initramfs integration
Version 2:2.7.0-1ubuntu4.2
Package Base cryptsetup
Homepage https://gitlab.com/cryptsetup/cryptsetup
Maintainers ['Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>']
Contributors ['Guilhem Moulin <guilhem@debian.org>', 'Jonas Meurer <jonas@freesources.org>']
Distro-repo https://git.launchpad.net/ubuntu/+source/cryptsetup/tree/?h=ubuntu/noble
Sources ['https://git.launchpad.net/ubuntu/+source/cryptsetup-initramfs/plain/debian/watch?h=ubuntu/noble']
Dependencies ['busybox-initramfs', 'cryptsetup', 'debconf', 'initramfs-tools']
Optional-Dependencies ['console-setup', 'kbd', 'plymouth']
Build-Dependencies ['asciidoctor <!nodoc>', 'autoconf', 'automake', 'autopoint', 'debhelper-compat', 'dh-strip-nondeterminism', 'docbook-xml <!nodoc>', 'docbook-xsl <!nodoc>', 'gettext', 'jq <!nocheck>', 'libargon2-dev', 'libblkid-dev', 'libdevmapper-dev', 'libjson-c-dev', 'libpopt-dev', 'libselinux1-dev', 'libsepol-dev', 'libssh-dev', 'libssl-dev', 'libtool', 'pkgconf', 'po-debconf', 'procps <!nocheck>', 'uuid-dev', 'xsltproc <!nodoc>', 'xxd <!nocheck>']
Provides []
Builddate
Architecture amd64
Distro-Version noble
Licenses []
Hash 2d0cad34abef898ea030e46e16ac37d1c692a0beb9acc114026e32ab72b91f71
#!/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-fips \
		--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_*
ifneq ($(DEB_HOST_ARCH),i386)
	chmod 0755 debian/cryptsetup-suspend/lib/cryptsetup/scripts/suspend/cryptsetup-suspend-wrapper
	chmod 0755 debian/cryptsetup-suspend/lib/systemd/system-shutdown/cryptsetup-suspend.shutdown
endif
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/*/*