# $Id$ PNAME="shadow" PVER="4.1.4.3" PBUILD="r1" PCATEGORIE="sys-apps" STATE="unstable" DESCRIPTION="Utilities to deal with user accounts, with pam support." HOMEPAGE="http://pkg-shadow.alioth.debian.org/" DEPEND=">= virtual/glibc >= app-shells/bash-4" SDEPEND=">= sys-dev/autoconf-5 >= sys-dev/automake-4 >= sys-dev/libtool-2.2" SRCFILE="${PNAME}-${PVER}.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" MCORE_ONLY_KEEP="bin etc $(mlibdir) usr/bin/passwd usr/$(mlibdir) usr/sbin/groupadd usr/sbin/groupdel usr/sbin/groupmod usr/sbin/useradd usr/sbin/userdel usr/sbin/usermod usr/sbin/pwconv usr/sbin/grpconv sbin" # no shared libs get installed, is multilib needed anymore? sminclude multilib mtools mcore-split SRC_URI=( ftp://pkg-${PNAME}.alioth.debian.org/pub/pkg-${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/securetty mirror://${PNAME}/${PNAME}-4.1.2.1-defaults.patch mirror://${PNAME}/${PNAME}-${PVER}-groupmod-username.patch ) UP2DATE="updatecmd ${HOMEPAGE} | grep 'New release' | sed 's/.*: \(.*\).*/\1/;q'" src_prepare() { munpack ${SRCFILE} || die # fixes useradd default settings (create_mail_spool) mpatch ${PNAME}-4.1.2.1-defaults.patch || die # fixes username issues with groupadd if pam is enabled # see: http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/2009-November/007850.html mpatch ${PNAME}-${PVER}-groupmod-username.patch || die # do not build 'groups'; coreutils provide a better version all-abis "sed -i 's/groups$(EXEEXT) //' src/Makefile.in" || die all-abis "sed -i '/groups/d' man/Makefile.in" || die } src_compile() { mconfigure \ --enable-shared \ --without-libpam \ --without-libcrack \ --with-libcrypt \ --disable-nls \ --without-selinux \ || die mmake || die } mcore_generic_src_install() { # needed directories minstalldir /etc/{default,skel} || die # added exec_prefix for better bin location mmake DESTDIR=${BINDIR} install || die minstalletc etc/limits limits || die minstalletc etc/login.access login.access || die # makes recovery easier, when /usr is not mounted :) mv -v ${BINDIR}/usr/bin/passwd ${BINDIR}/bin || die mlink /bin/passwd /usr/bin || die # not provided by shadow anymore; install our own now minstalletc securetty || die # disable these checks as pam controls them now sed -e "s/^DIALUPS_CHECK_ENAB/# &/" \ -e "s/^LASTLOG_ENAB/# &/" \ -e "s/^MAIL_CHECK_ENAB/# &/" \ -e "s/^PORTTIME_CHECKS_ENAB/# &/" \ -e "s/^CONSOLE/# &/" \ -e "s/^MOTD_FILE/# &/" \ -e "s/^NOLOGINS_FILE/# &/" \ -e "s/^PASS_MIN_LEN/# &/" \ -e "s/^SU_WHEEL_ONLY/# &/" \ -e "s/^CONSOLE_GROUPS/# &/" \ -e "s/^ENVIRON_FILE/# &/" \ -e "s/^OBSCURE_CHECKS_ENAB/# &/" \ -e "s/^CRACKLIB_DICTPATH/# &/" \ -e "s/^PASS_CHANGE_TRIES/# &/" \ -e "s/^PASS_ALWAYS_WARN/# &/" \ -e "s/^FAILLOG_ENAB/# &/" \ -e "s/^QUOTAS_ENAB/# &/" \ -e "s/^FTMP_FILE/# &/" \ -e "s/^ENV_HZ/# &/" \ -e "s/^CHFN_AUTH/# &/" \ etc/login.defs > ${BINDIR}/etc/login.defs || die # fix some pathes in login.defs # md5crypt is also controlled by pam ! sed -i -e "s/^MD5_CRYPT_ENAB/# &/" \ -e 's%/var/spool/mail%/var/mail%' \ -e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' \ ${BINDIR}/etc/login.defs || die # fix src_install; mcore has no cracklib installed sed -i -e 's:# OBSCURE_CHECKS_ENAB:OBSCURE_CHECKS_ENAB:' \ -e 's:^CRACKLIB_DICTPATH:#CRACKLIB_DICTPATH:' \ -e 's:# PASS_CHANGE_TRIES:PASS_CHANGE_TRIES:' \ -e 's:# PASS_ALWAYS_WARN:PASS_ALWAYS_WARN:' \ ${BINDIR}/etc/login.defs || die } postinstall() { if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then /usr/sbin/pwconv /usr/sbin/grpconv fi }