136 lines
5.5 KiB
Plaintext
136 lines
5.5 KiB
Plaintext
|
#!/usr/bin/make -f
|
||
|
|
||
|
package = shadow
|
||
|
|
||
|
# set up environment so that dpkg --build runs our tar wrapper
|
||
|
TAR_WRAPPER_SETUP = REAL_TAR=`command -p -v tar` PATH=`cd debian && pwd`:$$PATH
|
||
|
|
||
|
# for "exec login" to work for ordinary users, /bin/login needs to be setuid
|
||
|
# but very few people use this feature, so we make it non-setuid by default
|
||
|
LOGIN_PERM = 0755
|
||
|
|
||
|
build:
|
||
|
$(checkdir)
|
||
|
# shared lib support is untested, so...
|
||
|
./configure --disable-shared --disable-desrpc # --without-libcrack
|
||
|
$(MAKE)
|
||
|
gcc -O2 -Wall -o debian/tar debian/tar.c
|
||
|
touch build
|
||
|
|
||
|
clean:
|
||
|
$(checkdir)
|
||
|
rm -f build debian/tar
|
||
|
-$(MAKE) -i distclean
|
||
|
rm -rf {libmisc,lib,src}/.deps
|
||
|
rm -rf debian/tmp{-l,-p,-s} debian/{files*,substvars}
|
||
|
find . -name '*~' -print0 | xargs -0 rm -f
|
||
|
|
||
|
binary-indep: checkroot build
|
||
|
$(checkdir)
|
||
|
|
||
|
binary-arch: binary-login binary-passwd binary-su
|
||
|
|
||
|
binary-login: checkroot build
|
||
|
$(checkdir)
|
||
|
-rm -rf debian/tmp-l
|
||
|
install -d debian/tmp-l/{DEBIAN,bin,etc/init.d,usr/{bin,man/man{1,5,8},doc/login,sbin}}
|
||
|
install -s -m$(LOGIN_PERM) src/login debian/tmp-l/bin/
|
||
|
install -s -m4755 src/newgrp debian/tmp-l/usr/bin/
|
||
|
install -s src/{faillog,lastlog} debian/tmp-l/usr/bin/
|
||
|
install -s src/logoutd debian/tmp-l/usr/sbin/
|
||
|
install -m644 man/{login.1,newgrp.1} debian/tmp-l/usr/man/man1/
|
||
|
install -m644 man/{login.defs.5,login.access.5,porttime.5,faillog.5,limits.5} debian/tmp-l/usr/man/man5/
|
||
|
install -m644 man/{faillog.8,logoutd.8,lastlog.8} debian/tmp-l/usr/man/man8/
|
||
|
ln -s newgrp debian/tmp-l/usr/bin/sg
|
||
|
ln -s newgrp.1.gz debian/tmp-l/usr/man/man1/sg.1.gz
|
||
|
install -m600 etc/login.defs.linux debian/tmp-l/etc/login.defs
|
||
|
install -m600 etc/{login.access,limits} debian/{securetty,porttime} debian/tmp-l/etc/
|
||
|
install debian/logoutd debian/tmp-l/etc/init.d/
|
||
|
install -m644 debian/changelog debian/tmp-l/usr/doc/login/changelog.Debian
|
||
|
install -m644 doc/CHANGES debian/tmp-l/usr/doc/login/changelog
|
||
|
find debian/tmp-l/usr/{doc,man} -type f | xargs gzip -9
|
||
|
install -m644 debian/login.copyright debian/tmp-l/usr/doc/login/copyright
|
||
|
install debian/login.preinst debian/tmp-l/DEBIAN/preinst
|
||
|
install debian/login.postinst debian/tmp-l/DEBIAN/postinst
|
||
|
install debian/login.prerm debian/tmp-l/DEBIAN/prerm
|
||
|
install debian/login.postrm debian/tmp-l/DEBIAN/postrm
|
||
|
install -m644 debian/login.conffiles debian/tmp-l/DEBIAN/conffiles
|
||
|
dpkg-shlibdeps debian/tmp-l/{bin/*,usr/bin/*,usr/sbin/*}
|
||
|
dpkg-gencontrol -isp -plogin -Pdebian/tmp-l
|
||
|
./debian/checksums debian/tmp-l
|
||
|
$(TAR_WRAPPER_SETUP) dpkg --build debian/tmp-l ..
|
||
|
|
||
|
binary-passwd: checkroot build
|
||
|
$(checkdir)
|
||
|
-rm -rf debian/tmp-p
|
||
|
install -d debian/tmp-p/{DEBIAN,etc,usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}}
|
||
|
install -m644 etc/shells debian/tmp-p/etc/
|
||
|
install -s -m4755 src/{chage,chfn,chsh,expiry,gpasswd,passwd} debian/tmp-p/usr/bin/
|
||
|
install -s src/{chpasswd,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv} \
|
||
|
src/{newusers,pwck,pwconv,pwunconv,useradd,userdel} \
|
||
|
src/{dpasswd,usermod,vipw} debian/tmp-p/usr/sbin/
|
||
|
install -m644 man/{chage.1,chfn.1,chsh.1,gpasswd.1,passwd.1} \
|
||
|
debian/tmp-p/usr/man/man1/
|
||
|
install -m644 man/{chpasswd.8,groupadd.8,groupdel.8,groupmod.8,grpck.8} \
|
||
|
man/{newusers.8,pwck.8,dpasswd.8} \
|
||
|
man/{useradd.8,userdel.8,usermod.8,vipw.8,shadowconfig.8,pwconv.8} \
|
||
|
debian/tmp-p/usr/man/man8/
|
||
|
install -m644 man/{passwd.5,shadow.5} debian/tmp-p/usr/man/man5/
|
||
|
ln -s vipw debian/tmp-p/usr/sbin/vigr
|
||
|
ln -s vipw.8.gz debian/tmp-p/usr/man/man8/vigr.8.gz
|
||
|
for i in pwunconv.8.gz grpconv.8.gz grpunconv.8.gz ; do \
|
||
|
ln -s pwconv.8.gz debian/tmp-p/usr/man/man8/$$i ; done
|
||
|
install -m644 debian/changelog debian/tmp-p/usr/doc/passwd/changelog.Debian
|
||
|
install -m644 doc/{CHANGES,README,README.limits,README.linux,README.debian} \
|
||
|
debian/tmp-p/usr/doc/passwd/
|
||
|
find debian/tmp-p/usr/{doc,man} -type f | xargs gzip -9f
|
||
|
install -m644 debian/passwd.copyright debian/tmp-p/usr/doc/passwd/copyright
|
||
|
install debian/login.preinst debian/tmp-p/DEBIAN/preinst
|
||
|
install debian/passwd.postinst debian/tmp-p/DEBIAN/postinst
|
||
|
install -m644 debian/passwd.conffiles debian/tmp-p/DEBIAN/conffiles
|
||
|
dpkg-shlibdeps debian/tmp-p/usr/{bin/*,sbin/*}
|
||
|
# dpkg-shlibdeps fails on scripts, so install them now...
|
||
|
install src/shadowconfig.sh debian/tmp-p/usr/sbin/shadowconfig
|
||
|
dpkg-gencontrol -isp -ppasswd -Pdebian/tmp-p
|
||
|
./debian/checksums debian/tmp-p
|
||
|
$(TAR_WRAPPER_SETUP) dpkg --build debian/tmp-p ..
|
||
|
|
||
|
binary-su: checkroot build
|
||
|
$(checkdir)
|
||
|
-rm -rf debian/tmp-s
|
||
|
install -d debian/tmp-s/{DEBIAN,etc,bin,usr/{doc/secure-su,man/man{1,5}}}
|
||
|
install -s -m4755 src/su debian/tmp-s/bin/
|
||
|
install -m644 etc/suauth debian/tmp-s/etc/
|
||
|
install -m644 man/suauth.5 debian/tmp-s/usr/man/man5/
|
||
|
install -m644 man/su.1 debian/tmp-s/usr/man/man1/
|
||
|
install -m644 debian/secure-su.README debian/tmp-s/usr/doc/secure-su/README
|
||
|
install -m644 debian/changelog debian/tmp-s/usr/doc/secure-su/
|
||
|
find debian/tmp-s/usr/{doc,man} -type f | xargs gzip -9f
|
||
|
install -m644 debian/secure-su.copyright debian/tmp-s/usr/doc/secure-su/copyright
|
||
|
install debian/secure-su.preinst debian/tmp-s/DEBIAN/preinst
|
||
|
install debian/secure-su.postrm debian/tmp-s/DEBIAN/postrm
|
||
|
install -m644 debian/secure-su.conffiles debian/tmp-s/DEBIAN/conffiles
|
||
|
dpkg-shlibdeps debian/tmp-s/bin/su
|
||
|
dpkg-gencontrol -isp -psecure-su -Pdebian/tmp-s
|
||
|
./debian/checksums debian/tmp-s
|
||
|
$(TAR_WRAPPER_SETUP) dpkg --build debian/tmp-s ..
|
||
|
|
||
|
define checkdir
|
||
|
test -f lib/shadow.c -a -f debian/rules
|
||
|
endef
|
||
|
|
||
|
|
||
|
binary: binary-indep binary-arch
|
||
|
|
||
|
source diff:
|
||
|
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
|
||
|
|
||
|
checkroot:
|
||
|
$(checkdir)
|
||
|
# test root = "`whoami`"
|
||
|
|
||
|
.PHONY: binary binary-arch binary-indep clean checkroot
|
||
|
|
||
|
# Local Variables:
|
||
|
# mode:Makefile
|