# Template file for 'shadow'
pkgname=shadow
version=4.2.1
revision=14
build_style=gnu-configure
configure_args="--bindir=/usr/bin --sbindir=/usr/bin
 --libdir=/usr/lib --enable-shared --disable-static
 --with-libpam --without-selinux --with-acl --with-attr
 --disable-nls --enable-subordinate-ids ac_cv_id32bit=yes"
hostmakedepends="automake libtool gettext-devel"
makedepends="acl-devel pam-devel"
depends="pam"
conf_files="
	/etc/pam.d/usermod
	/etc/pam.d/userdel
	/etc/pam.d/useradd
	/etc/pam.d/passwd
	/etc/pam.d/newusers
	/etc/pam.d/groupmod
	/etc/pam.d/groupmems
	/etc/pam.d/groupdel
	/etc/pam.d/groupadd
	/etc/pam.d/chpasswd
	/etc/pam.d/chgpasswd
	/etc/pam.d/chage
	/etc/default/useradd
	/etc/login.defs"
short_desc="Shadow password file utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="BSD"
homepage="http://pkg-shadow.alioth.debian.org"
distfiles="http://pkg-shadow.alioth.debian.org/releases/$pkgname-$version.tar.xz"
checksum=3b0893d1476766868cd88920f4f1231c4795652aa407569faff802bcda0f3d41

pre_configure() {
	autoreconf -fi

	case "$XBPS_TARGET_MACHINE" in
		# Completely disable unportable ruserok().
		*-musl) sed '/RUSEROK/d' -i configure;;
	esac
}
do_build() {
	# Don't install groups(1), we use the one from coreutils.
	sed -i 's/groups$(EXEEXT) //' src/Makefile
	for f in $(find man -name Makefile); do
		sed -i 's/groups\.1 / /' $f
	done
	make ${makejobs}
}
post_install() {
	mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin

	# Install our pam files not the ones supplied with shadow.
	rm -f ${DESTDIR}/etc/pam.d/*
	for f in chage passwd; do
		install -m644 ${FILESDIR}/${f}.pam ${DESTDIR}/etc/pam.d/${f}
	done
	for f in chpasswd chgpasswd groupadd groupdel groupmems \
		 groupmod newusers useradd userdel usermod; do
		install -m644 $DESTDIR/etc/pam.d/chage $DESTDIR/etc/pam.d/${f}
	done
	install -m644 ${FILESDIR}/login.defs ${DESTDIR}/etc

	# Disable creating mailbox files by default.
	sed -i -e 's/yes/no/' $DESTDIR/etc/default/useradd
	# Change default group to the users gid (100).
	sed -i -e 's/^\(GROUP\)=\(.*\)$/\1=100/' ${DESTDIR}/etc/default/useradd

	chmod 644 ${DESTDIR}/etc/default/useradd

	# Install the cron daily job.
	install -Dm744 ${FILESDIR}/shadow.cron-daily \
		${DESTDIR}/etc/cron.daily/shadow

	# Remove groups.1 manpage provided by coreutils.
	rm -f ${DESTDIR}/usr/share/man/man1/groups.1

	# Remove utilities provided by util-linux and logoutd.
	mv ${DESTDIR}/usr/bin/{newgrp,sg}

	rm \
		$DESTDIR/usr/bin/{login,su,chsh,chfn} \
		$DESTDIR/usr/bin/{nologin,logoutd,vipw,vigr}

	# ...and their many man pages
	find $DESTDIR/usr/share/man \
		'(' -name 'chsh.1'  -o \
		-name 'chfn.1'  -o \
		-name 'su.1'    -o \
		-name 'login.1' -o \
		-name 'vipw.8'  -o \
		-name 'vigr.8'  -o \
		-name 'logoutd.8' -o \
		-name 'nologin.8' -o \
		-name 'newgrp.1' ')' \
		-delete

	vlicense $FILESDIR/LICENSE
}