160 lines
6.3 KiB
Makefile
Executable File
160 lines
6.3 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
|
|
# FIXME - this is out of date, please update for current Debian
|
|
|
|
package = shadow
|
|
|
|
# see dpkg-architecture(8)
|
|
DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture)
|
|
DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH))
|
|
ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
|
|
DEB_BUILD_GNU_SYSTEM := gnu
|
|
else
|
|
DEB_BUILD_GNU_SYSTEM := linux
|
|
endif
|
|
DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)
|
|
|
|
DEB_HOST_GNU_SYSTEM=$(DEB_BUILD_GNU_SYSTEM)
|
|
DEB_HOST_GNU_TYPE=$(DEB_BUILD_GNU_TYPE)
|
|
|
|
ifeq ($(DEB_HOST_GNU_SYSTEM),linux)
|
|
package-list = binary-login binary-passwd binary-su
|
|
else
|
|
package-list = binary-passwd
|
|
endif
|
|
|
|
# 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)
|
|
cp -a debian/control.$(DEB_HOST_GNU_SYSTEM) debian/control
|
|
# shared lib support is untested, so...
|
|
./configure --disable-shared --disable-desrpc \
|
|
--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
|
|
$(MAKE)
|
|
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}
|
|
cp -a debian/control.linux debian/control
|
|
find . -name '*~' -print0 | xargs -0 rm -f
|
|
|
|
binary-indep: checkroot build
|
|
$(checkdir)
|
|
|
|
binary-arch: $(package-list)
|
|
|
|
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.init debian/tmp-l/etc/init.d/logoutd
|
|
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
|
|
|
|
binary-passwd: checkroot build
|
|
$(checkdir)
|
|
-rm -rf debian/tmp-p
|
|
install -d debian/tmp-p/{DEBIAN,etc/{cron.daily,init.d},usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}}
|
|
install -m644 etc/shells debian/tmp-p/etc/
|
|
install debian/passwd.cron debian/tmp-p/etc/cron.daily/passwd
|
|
install debian/passwd.init debian/tmp-p/etc/init.d/passwd
|
|
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 debian/passwd.postrm debian/tmp-p/DEBIAN/postrm
|
|
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
|
|
ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
|
|
install etc/login.defs.hurd debian/tmp-p/etc/login.defs
|
|
echo "/etc/login.defs" >> debian/tmp-p/DEBIAN/conffiles
|
|
endif
|
|
dpkg-gencontrol -isp -ppasswd -Pdebian/tmp-p
|
|
./debian/checksums 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
|
|
|
|
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
|