summaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules96
1 files changed, 96 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..c651b58
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,96 @@
+#!/usr/bin/make -f
+# -*- mode: makefile; coding: utf-8 -*-
+
+DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+# Enable PIE, BINDNOW, and possible future flags.
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+# Call autoreconf since we need to regenerate all the autofoo files
+include /usr/share/cdbs/1/rules/autoreconf.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+# Specify where dh_install will find the files that it needs to move:
+DEB_DH_INSTALL_SOURCEDIR=debian/tmp
+# Specify the destination of shadow's "make install"
+# (This is only needed on The Hurd, where only one package is built. On
+# the other arch, DEB_DESTDIR already points to debian/tmp)
+DEB_DESTDIR=$(CURDIR)/debian/tmp
+
+include /usr/share/cdbs/1/class/autotools.mk
+
+# Adds extra options when calling the configure script:
+DEB_CONFIGURE_EXTRA_FLAGS := --disable-shared \
+ --without-libcrack \
+ --mandir=/usr/share/man \
+ --with-libpam \
+ --enable-shadowgrp \
+ --enable-man \
+ --disable-account-tools-setuid \
+ --with-group-name-max-length=32 \
+ --without-acl \
+ --without-attr \
+ --without-tcb \
+ SHELL=/bin/sh
+ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ DEB_CONFIGURE_EXTRA_FLAGS += --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+# Set the default editor for vipw/vigr
+CFLAGS += -DDEFAULT_EDITOR=\\\"sensible-editor\\\"
+
+# Add extras to the install process:
+binary-install/login::
+ifeq ($(DEB_HOST_ARCH_OS),hurd)
+ # /bin/login is provided by the hurd package.
+ rm -f debian/login/bin/login
+endif
+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 -p login
+ install -c -m 444 debian/login.defs debian/login/etc/login.defs
+ install -c -m 444 debian/securetty.$(DEB_HOST_ARCH_OS) debian/login/etc/securetty
+ dh_lintian -p login
+
+binary-install/passwd::
+ install -c -m 444 man/shadowconfig.8 debian/passwd/usr/share/man/man8
+ install -c -m 444 man/ja/shadowconfig.8 debian/passwd/usr/share/man/ja/man8
+ install -c -m 444 man/pl/shadowconfig.8 debian/passwd/usr/share/man/pl/man8
+ install -c -m 444 man/fr/shadowconfig.8 debian/passwd/usr/share/man/fr/man8
+ # Distribute the pam.d files; unless for the commands with disabled PAM
+ # support
+ 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
+ install -c -m 644 debian/useradd.default debian/passwd/etc/default/useradd
+ install -d debian/passwd/sbin
+ install -c -m 555 debian/shadowconfig.sh debian/passwd/sbin/shadowconfig
+ install -c -m 444 debian/cpgr.8 debian/passwd/usr/share/man/man8
+ install -c -m 444 debian/cppw.8 debian/passwd/usr/share/man/man8
+ dh_lintian -p passwd
+
+binary-predeb/uidmap::
+ chmod u+s debian/uidmap/usr/bin/newuidmap
+ chmod u+s debian/uidmap/usr/bin/newgidmap
+
+binary-predeb/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
+
+binary-predeb/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
+
+clean::
+ sed -i 's/# Linux only # //' debian/login.pam