Name libfdisk1
Description fdisk partitioning library
Version 2.41-5
Package Base util-linux
Homepage https://github.com/util-linux/util-linux
Maintainers ['Chris Hofstaedtler <zeha@debian.org>']
Contributors []
Distro-repo https://salsa.debian.org/debian/util-linux
Sources ['https://sources.debian.org/data/main/u/util-linux/2.41-5/debian/watch', 'https://sources.debian.org/src/util-linux/2.41-5/debian/patches/debian', 'https://sources.debian.org/src/util-linux/2.41-5/debian/patches/series', 'https://sources.debian.org/src/util-linux/2.41-5/debian/patches/upstream-stable']
Dependencies ['libblkid1', 'libc6', 'libuuid1']
Optional-Dependencies []
Build-Dependencies ['debhelper-compat', 'dh-exec', 'dh-package-notes', 'dh-sequence-installsysusers', 'dh-sequence-zz-debputy-rrr', 'asciidoctor <!stage1 !nodoc>', 'bc <!stage1 !nocheck>', 'bison', 'flex', 'gettext', 'libaudit-dev [linux-any] <!stage1>', 'libcap-ng-dev [linux-any] <!stage1>', 'libcrypt-dev <!stage1>', 'libcryptsetup-dev [linux-any] <!pkg.util-linux.noverity>', 'libncurses-dev', 'libpam0g-dev <!stage1>', 'libreadline-dev', 'libselinux1-dev [linux-any]', 'libsqlite3-dev', 'libsystemd-dev [linux-any] <!stage1>', 'libtool', 'libudev-dev [linux-any] <!stage1>', 'netbase <!stage1 !nocheck>', 'pkgconf', 'po-debconf', 'po4a', 'socat <!stage1 !nocheck>', 'systemd [linux-any] <!stage1>', 'systemd-dev [linux-any] <!stage1>', 'zlib1g-dev']
Provides []
Builddate
Architecture amd64
Distro-Version trixie
Licenses []
Hash e0af64cd4197cb87b6801d28d3edd24474e8db6b20a89f4e6216f56a5c1830f5
#!/usr/bin/make -f
# for asciidoctor. C.UTF-8 should be guaranteed to work even in minimal envs.
export LC_ALL=C.UTF-8

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/pkg-info.mk
include /usr/share/debhelper/dh_package_notes/package-notes.mk

CONFOPTS += --enable-usrdir-path
CONFOPTS += --disable-makeinstall-chown
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
	CONFOPTS += --disable-newgrp --disable-login --disable-nologin
else
	CONFOPTS += --with-systemd --with-udev --with-audit
	CONFOPTS += --enable-newgrp --enable-login --enable-nologin
endif

ifneq ($(filter pkg.util-linux.noverity,$(DEB_BUILD_PROFILES)),)
	CONFOPTS += --without-cryptsetup
else
	CONFOPTS += --with-cryptsetup=dlopen
endif
endif

# As a result of CVE-2024-28085, we no longer install mesg/write.
CONFOPTS += --disable-mesg
CONFOPTS += --disable-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
# => procps
CONFOPTS += --disable-kill
# => passwd
CONFOPTS += --disable-chfn-chsh
# => bsdmainutils
CONFOPTS += --disable-cal
# => wtmpdb
CONFOPTS += --disable-last --disable-utmpdump

# Keep hwclock as GPLv2 (and others)
CONFOPTS += --disable-hwclock-gplv3

ifeq ($(DEB_HOST_ARCH),hurd-i386)
# hurd porters plan to drop 32bit before 2038
	CONFOPTS += --disable-year2038
endif

# 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

ifeq ($(filter stage1,$(DEB_BUILD_PROFILES))-$(DEB_HOST_ARCH_OS),-linux)
export deb_systemdsystemunitdir = $(shell pkg-config --variable=systemdsystemunitdir systemd | sed s,^/,,)
else
export deb_systemdsystemunitdir = debhelper needs this variable even when it doesn't need it
endif

%:
	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
	#
	# 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 -print
	#
	# show installed man pages
	find debian/tmp/usr/share/man

override_dh_auto_clean:
	sed -i 's/# Linux only # //' debian/login.pam
	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)
	# remove postinst generated in dh_installdeb
	rm -f debian/util-linux.postinst

override_dh_install:
ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
	# 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)
endif
	#
	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:
ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
	:
else
	dh_installman --language=C
endif

override_dh_missing:
	dh_missing --list-missing

override_dh_installinit:
ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
	# 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
endif

override_dh_installpam:
ifneq ($(DEB_HOST_ARCH_OS),linux)
	sed -i 's/^session    optional   pam_keyinit.so/# Linux only # session    optional   pam_keyinit.so/' debian/login.pam
endif
	dh_installpam --package=login
	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

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

execute_before_dh_installdeb:
ifeq ($(DEB_HOST_ARCH_OS), linux)
	# due to UL_REQUIRES_LINUX([more]), only set up pager alternative
	# on linux -- this avoids running uname in the maintainer script
	# as doing so would be unreliable for chrootless installations
	cp debian/util-linux.postinst.linux debian/util-linux.postinst
endif