summaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules78
1 files changed, 78 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..ea56ab9
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,78 @@
+#!/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
+
+# 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/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