Version bump #70757 by Lindsay Jack.
authorMike Frysinger <vapier@gentoo.org>
Fri, 12 Nov 2004 00:34:46 +0000 (00:34 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 12 Nov 2004 00:34:46 +0000 (00:34 +0000)
sys-apps/shadow/ChangeLog
sys-apps/shadow/Manifest
sys-apps/shadow/files/digest-shadow-4.0.6 [new file with mode: 0644]
sys-apps/shadow/files/shadow-4.0.6-fix-configure.patch [new file with mode: 0644]
sys-apps/shadow/shadow-4.0.6.ebuild [new file with mode: 0644]

index 4dc7901fbedf45e5159a380d4a46a8871065f0f8..5ab6e8a3905d3b6a91ffbd47ec6336ace1e99bd0 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-apps/shadow
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/ChangeLog,v 1.87 2004/11/08 06:03:35 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/ChangeLog,v 1.88 2004/11/12 00:34:46 vapier Exp $
+
+*shadow-4.0.6 (11 Nov 2004)
+
+  11 Nov 2004; Mike Frysinger <vapier@gentoo.org>
+  +files/shadow-4.0.6-fix-configure.patch, +shadow-4.0.6.ebuild:
+  Version bump #70757 by Lindsay Jack.
 
 *shadow-4.0.5-r3 (07 Nov 2004)
 
index 798d25ee34e63dbdf4444f46fb50c78eeaa2c411..9911cbbc85031d17ce90e5e4657e0d2f2d0e676f 100644 (file)
@@ -1,13 +1,16 @@
-MD5 3f73ef5f61bceb1904a8ccc166423c29 ChangeLog 16055
+MD5 96e547c3a25e62e332ded4d4aca2a192 ChangeLog 16239
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
 MD5 23ef7363bf5ffa1d0f3343ff2a618e5d shadow-4.0.4.1-r4.ebuild 5943
+MD5 e3d44d032c309c7a1dbb9ebeaaf36715 shadow-4.0.6.ebuild 5176
 MD5 8cd71974166efd4fef349e19012808c8 shadow-4.0.5-r2.ebuild 5474
 MD5 8655bf935e05a93cb06eb04c3186f8a4 shadow-4.0.5-r3.ebuild 5560
 MD5 cef6788bc7c8c5468c1b1f68df77ed9e files/digest-shadow-4.0.4.1-r4 67
 MD5 2d2faa6b9a837f9319de52a780485743 files/securetty 243
 MD5 058f760e522ab65e270293003805fe61 files/shadow-4.0.4.1-userdel-missing-brackets.patch 380
 MD5 a99f871c88548d503bad935d2aa6f412 files/shadow-4.0.4.1-nls-manpages.patch 355
+MD5 e9ac6a566b65499773437ce98911a046 files/digest-shadow-4.0.6 66
 MD5 c31db5c71b0cdfca75346abc2887aa02 files/shadow-4.0.5-nls-manpages.patch 362
+MD5 90e2ab53494f677dc23b5137d6e39110 files/shadow-4.0.6-fix-configure.patch 3047
 MD5 636f233fa173a998195016c3808173d4 files/shadow-4.0.5-skey.patch 395
 MD5 aaf16ddabef285df169e37254b13561c files/shadow-4.0.4.1-selinux.diff 4296
 MD5 201f1321262da41ccd1a0283216ae9a7 files/shadow-4.0.4.1-su-pam_open_session.patch 4886
diff --git a/sys-apps/shadow/files/digest-shadow-4.0.6 b/sys-apps/shadow/files/digest-shadow-4.0.6
new file mode 100644 (file)
index 0000000..029176d
--- /dev/null
@@ -0,0 +1 @@
+MD5 3ca79b02c0aaa82128f4c32cb68ffe4f shadow-4.0.6.tar.bz2 1016214
diff --git a/sys-apps/shadow/files/shadow-4.0.6-fix-configure.patch b/sys-apps/shadow/files/shadow-4.0.6-fix-configure.patch
new file mode 100644 (file)
index 0000000..c7ec27e
--- /dev/null
@@ -0,0 +1,95 @@
+--- configure.in.orig  2004-11-11 18:56:27.471755550 -0500
++++ configure.in       2004-11-11 18:57:19.607238324 -0500
+@@ -151,25 +151,28 @@
+ fi
+ 
+ AC_CACHE_CHECK([location of utmp], shadow_cv_utmpdir,
+-[for utmpdir in /var/run /var/adm /usr/adm /etc none; do
++[for shadow_cv_utmpdir in /var/run /var/adm /usr/adm /etc none; do
+       if test -f $shadow_cv_utmpdir/utmp; then
+               break
+       fi
+ done])
+ if test "$shadow_cv_utmpdir" = "none"; then
+       AC_MSG_WARN(utmp file not found)
++else
++      AC_DEFINE_UNQUOTED(_UTMP_FILE, "$shadow_cv_utmpdir/utmp")
+ fi
+-AC_DEFINE_UNQUOTED(_UTMP_FILE, "$shadow_cv_utmpdir/utmp")
+ 
+ AC_CACHE_CHECK([location of faillog/lastlog/wtmp], shadow_cv_logdir,
+ [for shadow_cv_logdir in /var/log /var/adm /usr/adm /etc; do
+-      if test -d $logdir; then
++      if test -d $shadow_cv_logdir; then
+               break
+       fi
+ done])
+-AC_DEFINE_UNQUOTED(_WTMP_FILE, "$shadow_cv_logdir/wtmp")
+-AC_DEFINE_UNQUOTED(LASTLOG_FILE, "$shadow_cv_logdir/lastlog")
+-AC_DEFINE_UNQUOTED(FAILLOG_FILE, "$shadow_cv_logdir/faillog")
++if test "$shadow_cv_logdir" != "none"; then
++      AC_DEFINE_UNQUOTED(_WTMP_FILE, "$shadow_cv_logdir/wtmp")
++      AC_DEFINE_UNQUOTED(LASTLOG_FILE, "$shadow_cv_logdir/lastlog")
++      AC_DEFINE_UNQUOTED(FAILLOG_FILE, "$shadow_cv_logdir/faillog")
++fi
+ 
+ AC_CACHE_CHECK([location of the passwd program], shadow_cv_passwd_dir,
+ [if test -f /usr/bin/passwd; then
+--- configure.orig     2004-11-11 18:57:46.546320649 -0500
++++ configure  2004-11-11 18:57:55.968600631 -0500
+@@ -22326,7 +22324,7 @@
+ if test "${shadow_cv_utmpdir+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-  for utmpdir in /var/run /var/adm /usr/adm /etc none; do
++  for shadow_cv_utmpdir in /var/run /var/adm /usr/adm /etc none; do
+       if test -f $shadow_cv_utmpdir/utmp; then
+               break
+       fi
+@@ -22337,11 +22335,12 @@
+ if test "$shadow_cv_utmpdir" = "none"; then
+       { echo "$as_me:$LINENO: WARNING: utmp file not found" >&5
+ echo "$as_me: WARNING: utmp file not found" >&2;}
+-fi
+-cat >>confdefs.h <<_ACEOF
++else
++      cat >>confdefs.h <<_ACEOF
+ #define _UTMP_FILE "$shadow_cv_utmpdir/utmp"
+ _ACEOF
+ 
++fi
+ 
+ echo "$as_me:$LINENO: checking location of faillog/lastlog/wtmp" >&5
+ echo $ECHO_N "checking location of faillog/lastlog/wtmp... $ECHO_C" >&6
+@@ -22349,25 +22348,27 @@
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   for shadow_cv_logdir in /var/log /var/adm /usr/adm /etc; do
+-      if test -d $logdir; then
++      if test -d $shadow_cv_logdir; then
+               break
+       fi
+ done
+ fi
+ echo "$as_me:$LINENO: result: $shadow_cv_logdir" >&5
+ echo "${ECHO_T}$shadow_cv_logdir" >&6
+-cat >>confdefs.h <<_ACEOF
++if test "$shadow_cv_logdir" != "none"; then
++      cat >>confdefs.h <<_ACEOF
+ #define _WTMP_FILE "$shadow_cv_logdir/wtmp"
+ _ACEOF
+ 
+-cat >>confdefs.h <<_ACEOF
++      cat >>confdefs.h <<_ACEOF
+ #define LASTLOG_FILE "$shadow_cv_logdir/lastlog"
+ _ACEOF
+ 
+-cat >>confdefs.h <<_ACEOF
++      cat >>confdefs.h <<_ACEOF
+ #define FAILLOG_FILE "$shadow_cv_logdir/faillog"
+ _ACEOF
+ 
++fi
+ 
+ echo "$as_me:$LINENO: checking location of the passwd program" >&5
+ echo $ECHO_N "checking location of the passwd program... $ECHO_C" >&6
diff --git a/sys-apps/shadow/shadow-4.0.6.ebuild b/sys-apps/shadow/shadow-4.0.6.ebuild
new file mode 100644 (file)
index 0000000..3277414
--- /dev/null
@@ -0,0 +1,180 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-4.0.6.ebuild,v 1.1 2004/11/12 00:34:46 vapier Exp $
+
+inherit eutils libtool gnuconfig flag-o-matic
+
+FORCE_SYSTEMAUTH_UPDATE="no"
+SELINUX_PATCH="shadow-4.0.4.1-selinux.diff"
+
+DESCRIPTION="Utilities to deal with user accounts"
+HOMEPAGE="http://shadow.pld.org.pl/"
+SRC_URI="ftp://ftp.pld.org.pl/software/shadow/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="pam selinux nls skey"
+
+RDEPEND=">=sys-libs/cracklib-2.7-r3
+       pam? ( >=sys-libs/pam-0.75-r4 )
+       !pam? ( !virtual/login )
+       skey? ( app-admin/skey )
+       selinux? ( sys-libs/libselinux )"
+DEPEND="${DEPEND}
+       >=sys-apps/portage-2.0.51-r2
+       nls? ( sys-devel/gettext )"
+#this requires a newer portage (>2.0.51-r2)
+#PROVIDE="!pam? ( virtual/login )"
+
+pkg_preinst() {
+       rm -f ${ROOT}/etc/pam.d/system-auth.new
+}
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+
+       # uclibc support, corrects NIS usage
+       epatch ${FILESDIR}/shadow-4.0.4.1-nonis.patch
+
+       # If su should not simulate a login shell, use '/bin/sh' as shell to enable
+       # running of commands as user with /bin/false as shell, closing bug #15015.
+       # *** This one could be a security hole; disable for now ***
+       #epatch ${FILESDIR}/${P}-nologin-run-sh.patch
+
+       # don't install manpages if USE=-nls
+       epatch ${FILESDIR}/shadow-4.0.5-nls-manpages.patch
+
+       # tweak the default login.defs
+       epatch ${FILESDIR}/shadow-4.0.5-login.defs.patch
+
+       # skeychallenge call needs updating #69741
+       epatch ${FILESDIR}/shadow-4.0.5-skey.patch
+
+       # The new configure changes do not detect utmp/logdir properly
+       epatch ${FILESDIR}/shadow-${PV}-fix-configure.patch
+
+       # Allows shadow configure detect newer systems properly
+       gnuconfig_update
+       elibtoolize
+}
+
+src_compile() {
+       append-ldflags -Wl,-z,now
+       econf \
+               --disable-desrpc \
+               --with-libcrypt \
+               --with-libcrack \
+               --enable-shared=no \
+               --enable-static=yes \
+               $(use_with pam libpam) \
+               $(use_with skey libskey) \
+               $(use_with selinux) \
+               $(use_enable nls) \
+               || die "bad configure"
+       emake || die "compile problem"
+}
+
+src_install() {
+       make DESTDIR=${D} install || die "install problem"
+       dosym useradd /usr/sbin/adduser
+
+       # lock down setuid perms #47208
+       fperms go-r /bin/su /usr/bin/ch{fn,sh,age} \
+               /usr/bin/{expiry,newgrp,passwd,gpasswd} || die "fperms"
+
+       # Remove libshadow and libmisc; see bug 37725 and the following
+       # comment from shadow's README.linux:
+       #   Currently, libshadow.a is for internal use only, so if you see
+       #   -lshadow in a Makefile of some other package, it is safe to
+       #   remove it.
+       rm -f ${D}/lib/lib{misc,shadow}.{a,la}
+
+       # Do not install this login, but rather the one from
+       # pam-login, as this one have a serious root exploit
+       # with pam support enabled.
+       use pam && rm ${D}/bin/login
+
+       insinto /etc
+       # Using a securetty with devfs device names added
+       # (compat names kept for non-devfs compatibility)
+       insopts -m0600 ; doins ${FILESDIR}/securetty
+       insopts -m0600 ; doins etc/login.access
+       insopts -m0644 ; doins etc/limits
+
+       # needed for 'adduser -D'
+       insinto /etc/default
+       insopts -m0600
+       doins ${FILESDIR}/default/useradd
+
+       # move passwd to / to help recover broke systems #64441
+       mv ${D}/usr/bin/passwd ${D}/bin/
+       dosym /bin/passwd /usr/bin/passwd
+
+       if use pam ; then
+               insinto /etc/pam.d ; insopts -m0644
+               for x in ${FILESDIR}/pam.d/*; do
+                       [ -f ${x} ] && doins ${x}
+               done
+               cd ${FILESDIR}/pam.d
+               # Make sure /etc/pam.d/system-auth is the new version ..
+               mv ${D}/etc/pam.d/system-auth-1.1 ${D}/etc/pam.d/system-auth
+               newins system-auth-1.1 system-auth.new || die
+               for x in chage chsh chfn chpasswd newusers \
+                        user{add,del,mod} group{add,del,mod} ; do
+                       newins shadow ${x}
+               done
+
+               # remove manpages that pam will install for us
+               # and/or don't apply when using pam
+
+               find ${D}/usr/share/man \
+                       '(' -name 'login.1' -o -name 'suauth.5' ')' \
+                       -exec rm {} \;
+       else
+               insinto /etc
+               insopts -m0644
+               newins etc/login.defs.linux login.defs
+       fi
+
+       # Remove manpages that are handled by other packages
+       find ${D}/usr/share/man \
+               '(' -name id.1 -o -name passwd.5 -o -name getspnam.3 ')' \
+               -exec rm {} \;
+
+       cd ${S}/doc
+       dodoc INSTALL README WISHLIST
+       docinto txt
+       dodoc HOWTO LSM README.* *.txt
+
+       # ttyB0 is the PDC software console
+       if [ "${ARCH}" = "hppa" ]
+       then
+               echo "ttyB0" >> ${D}/etc/securetty
+       fi
+}
+
+pkg_postinst() {
+       use pam || return 0;
+       local CHECK1="$(md5sum ${ROOT}/etc/pam.d/system-auth | cut -d ' ' -f 1)"
+       local CHECK2="$(md5sum ${ROOT}/etc/pam.d/system-auth.new | cut -d ' ' -f 1)"
+
+       if [ "${CHECK1}" != "${CHECK2}" -a "${FORCE_SYSTEMAUTH_UPDATE}" = "yes" ]
+       then
+               ewarn "Due to a security issue, ${ROOT}etc/pam.d/system-auth "
+               ewarn "is being updated automatically. Your old "
+               ewarn "system-auth will be backed up as:"
+               ewarn
+               ewarn "  ${ROOT}etc/pam.d/system-auth.bak"
+               echo
+
+               cp -a ${ROOT}/etc/pam.d/system-auth \
+                       ${ROOT}/etc/pam.d/system-auth.bak;
+               mv -f ${ROOT}/etc/pam.d/system-auth.new \
+                       ${ROOT}/etc/pam.d/system-auth
+               rm -f ${ROOT}/etc/pam.d/._cfg????_system-auth
+       else
+               rm -f ${ROOT}/etc/pam.d/system-auth.new
+       fi
+}