diff options
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 96 |
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 |