diff options
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..b7ff08b --- /dev/null +++ b/debian/rules @@ -0,0 +1,82 @@ +#!/usr/bin/make -f +# -*- mode: makefile; coding: utf-8 -*- + +# Enable PIE, BINDNOW, and possible future flags. +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk + +# Adds extra options when calling the configure script: +DEB_CONFIGURE_EXTRA_FLAGS := --without-libcrack \ + --mandir=/usr/share/man \ + --with-libpam \ + --with-yescrypt \ + --enable-shadowgrp \ + --enable-man \ + --disable-account-tools-setuid \ + --with-group-name-max-length=32 \ + --without-acl \ + --without-attr \ + --without-su \ + --without-tcb \ + SHELL=/bin/sh + +ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),) +DEB_CONFIGURE_EXTRA_FLAGS += --disable-man +endif + +# Set the default editor for vipw/vigr +CFLAGS += -DDEFAULT_EDITOR="\"sensible-editor\"" + +%: + dh $@ + +override_dh_auto_configure: + cp debian/HOME_MODE.xml man/login.defs.d/HOME_MODE.xml + dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_FLAGS) + +override_dh_install-arch: +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_install -a +ifeq ($(DEB_HOST_ARCH_OS),hurd) + # /bin/login is provided by the hurd package. + rm -f debian/login/usr/bin/login +endif + +override_dh_installpam: + # Distribute the pam.d files; unless for the commands with disabled PAM + # support + dh_installpam -p login + dh_installpam -p passwd --name=passwd + dh_installpam -p passwd --name=chfn + dh_installpam -p passwd --name=chsh + dh_installpam -p passwd --name=chpasswd + dh_installpam -p passwd --name=newusers + +override_dh_builddeb-arch: + # uidmap + chmod u+s debian/uidmap/usr/bin/newuidmap + chmod u+s debian/uidmap/usr/bin/newgidmap + # login + # No real need for login to be setuid root + # chmod u+s debian/login/bin/login + chmod u+s debian/login/usr/bin/newgrp + # passwd + chmod u+s debian/passwd/usr/bin/chfn + chmod u+s debian/passwd/usr/bin/chsh + chmod u+s debian/passwd/usr/bin/gpasswd + chmod u+s debian/passwd/usr/bin/passwd + chgrp shadow debian/passwd/usr/bin/chage + chgrp shadow debian/passwd/usr/bin/expiry + chmod g+s debian/passwd/usr/bin/chage + chmod g+s debian/passwd/usr/bin/expiry + dh_builddeb -a + +override_dh_auto_clean: + sed -i 's/# Linux only # //' debian/login.pam + dh_auto_clean + +override_dh_clean: + dh_clean ./man/login.defs.d/HOME_MODE.xml |