84 lines
2.5 KiB
Makefile
Executable file
84 lines
2.5 KiB
Makefile
Executable file
#!/usr/bin/make -f
|
|
|
|
DEB_LDFLAGS_MAINT_APPEND := -Wl,-z,defs
|
|
DEB_CFLAGS_MAINT_APPEND := $(shell getconf LFS_CFLAGS)
|
|
DEB_BUILD_MAINT_OPTIONS := hardening=+bindnow
|
|
export DEB_LDFLAGS_MAINT_APPEND DEB_CFLAGS_MAINT_APPEND DEB_BUILD_MAINT_OPTIONS
|
|
ifeq ($(shell dpkg-architecture -qDEB_BUILD_ARCH_OS),hurd)
|
|
DEB_LDFLAGS_MAINT_APPEND += -lpthread
|
|
endif
|
|
|
|
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
|
|
|
LC_COLLATE=C
|
|
export LC_COLLATE
|
|
|
|
|
|
d = $(CURDIR)/debian
|
|
dl = $(d)/local
|
|
|
|
%:
|
|
dh $@
|
|
|
|
|
|
# avoid libaudit-dev and libsystemd-dev when bootstrapping
|
|
ifneq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
|
|
meson_OPTS += -Daudit=disabled -Dlogind=disabled
|
|
endif
|
|
packages := $(shell dh_listpackages)
|
|
|
|
ifneq (,$(filter libpam-doc libpam-runtime,$(packages)))
|
|
meson_OPTS += -Ddocs=enabled
|
|
endif
|
|
|
|
|
|
override_dh_auto_configure:
|
|
# Explicitly set libdir, sbindir to avoid upstream's override logic.
|
|
dh_auto_configure -- \
|
|
--default-library=both \
|
|
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
|
|
--sbindir=/usr/sbin \
|
|
-Disadir=/usr/lib/security \
|
|
-Dsystemdunitdir=/usr/lib/systemd/system \
|
|
-Dnis=disabled \
|
|
-Dusergroups=true \
|
|
$(meson_OPTS)
|
|
|
|
# .install files don't have "except for" handling, so we need to exclude
|
|
# our module that doesn't match right here
|
|
override_dh_install:
|
|
dh_install
|
|
# Make sure the md5sums for the templates we ship are
|
|
# recognized by pam-auth-update.
|
|
for f in common-auth common-session common-session-noninteractive common-account common-password; do \
|
|
if grep -q $$(perl debian/template-md5sum debian/local/$$f ) debian/local/pam-auth-update; then \
|
|
echo $$f okay; \
|
|
else \
|
|
echo md5sum for $$f not registered in debian/local/pam-auth-update; \
|
|
echo use debian/template-md5sum to compute; \
|
|
exit 2; \
|
|
fi; \
|
|
done
|
|
|
|
|
|
|
|
# again, excluding files by hand; also, build our local manpage for pam_getenv
|
|
# from the XML
|
|
override_dh_installman:
|
|
pod2man --section 8 --release="Debian GNU/Linux" $(dl)/pam_getenv >$(dl)/pam_getenv.8
|
|
dh_installman
|
|
rm -f $(d)/libpam-modules/usr/share/man/man5/pam.conf.5
|
|
rm -f $(d)/libpam-modules/usr/share/man/man8/pam_timestamp_check.8
|
|
rm -f $(d)/libpam-modules/usr/share/man/man8/pam_namespace_helper.8
|
|
|
|
# using perms that differ from upstream (sgid instead of suid) /and/ that
|
|
# dh_fixperms doesn't want
|
|
override_dh_fixperms:
|
|
dh_fixperms
|
|
ifneq (,$(findstring libpam-modules, $(shell dh_listpackages)))
|
|
chgrp shadow $(d)/libpam-modules-bin/usr/sbin/unix_chkpwd
|
|
chmod 02755 $(d)/libpam-modules-bin/usr/sbin/unix_chkpwd
|
|
endif
|
|
|
|
override_dh_installchangelogs:
|
|
dh_installchangelogs NEWS
|