diff options
author | Aron Griffis <agriffis@gentoo.org> | 2004-01-10 01:31:14 +0000 |
---|---|---|
committer | Aron Griffis <agriffis@gentoo.org> | 2004-01-10 01:31:14 +0000 |
commit | 1c7f0589a801be514d8e3a8bd5ed8450aee6ab50 (patch) | |
tree | 71e43cf2be0ef421df61b38d58dc5071879b5439 /sys-apps/shadow | |
parent | Use -fPIC since libshadow.a is consumed by shared objects in freeradius. Clos... (diff) | |
download | historical-1c7f0589a801be514d8e3a8bd5ed8450aee6ab50.tar.gz historical-1c7f0589a801be514d8e3a8bd5ed8450aee6ab50.tar.bz2 historical-1c7f0589a801be514d8e3a8bd5ed8450aee6ab50.zip |
Use -fPIC since libshadow.a is consumed by shared objects in freeradius. Closes bug #37719
Diffstat (limited to 'sys-apps/shadow')
-rw-r--r-- | sys-apps/shadow/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/shadow/files/digest-shadow-4.0.3-r10 | 1 | ||||
-rw-r--r-- | sys-apps/shadow/shadow-4.0.3-r10.ebuild | 203 |
3 files changed, 206 insertions, 2 deletions
diff --git a/sys-apps/shadow/Manifest b/sys-apps/shadow/Manifest index c0395835eb23..fea03612a327 100644 --- a/sys-apps/shadow/Manifest +++ b/sys-apps/shadow/Manifest @@ -1,6 +1,6 @@ -MD5 6b1f6636c4b2fac5dd4b011bd7e172a1 shadow-4.0.3-r10.ebuild 5696 +MD5 73f48d9cec758023fd197d6dd84d1ff4 shadow-4.0.3-r10.ebuild 5706 MD5 e8541b13efd1985eb9e1175545c374e7 shadow-4.0.3-r9.ebuild 5428 -MD5 0cd8c57c77854c7c81ac02fe927dd527 ChangeLog 9139 +MD5 ff06ec6de37826585f796a44d1a8c5d8 ChangeLog 9345 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 MD5 13c8bec4c2cffb2d73c2f5aa01229d03 files/shadow-4.0.3-su-pam_open_session.patch-v2 4882 MD5 e70a5f61d37c3c67a4b860d8a6191dbc files/securetty 230 diff --git a/sys-apps/shadow/files/digest-shadow-4.0.3-r10 b/sys-apps/shadow/files/digest-shadow-4.0.3-r10 new file mode 100644 index 000000000000..aee0733f80f7 --- /dev/null +++ b/sys-apps/shadow/files/digest-shadow-4.0.3-r10 @@ -0,0 +1 @@ +MD5 873e49fcde0d665e916414722ecb0d72 shadow-4.0.3.tar.gz 1055089 diff --git a/sys-apps/shadow/shadow-4.0.3-r10.ebuild b/sys-apps/shadow/shadow-4.0.3-r10.ebuild new file mode 100644 index 000000000000..272d9eedf855 --- /dev/null +++ b/sys-apps/shadow/shadow-4.0.3-r10.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-4.0.3-r10.ebuild,v 1.1 2004/01/10 01:31:05 agriffis Exp $ + +IUSE="pam selinux" + +inherit eutils libtool gnuconfig flag-o-matic + +FORCE_SYSTEMAUTH_UPDATE="no" + +SELINUX_PATCH="shadow-4.0.3-selinux.diff" + +S="${WORKDIR}/${P}" +HOMEPAGE="http://shadow.pld.org.pl/" +DESCRIPTION="Utilities to deal with user accounts" +SRC_URI="ftp://ftp.pld.org.pl/software/shadow/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~x86 ~amd64 ~ppc ~sparc ~alpha ~mips ~hppa ~arm ~ia64 ~ppc64" + +DEPEND=">=sys-libs/cracklib-2.7-r3 + pam? ( >=sys-libs/pam-0.75-r4 ) + nls? ( sys-devel/gettext ) + selinux? ( sys-libs/libselinux )" + +RDEPEND=">=sys-libs/cracklib-2.7-r3 + pam? ( >=sys-libs/pam-0.75-r4 ) + selinux? ( sys-libs/libselinux )" + + +pkg_preinst() { + rm -f ${ROOT}/etc/pam.d/system-auth.new +} + +src_unpack() { + unpack ${A} + + cd ${S} + + use selinux && epatch ${FILESDIR}/${SELINUX_PATCH} + + # Get su to call pam_open_session(), and also set DISPLAY and XAUTHORITY, + # else the session entries in /etc/pam.d/su never get executed, and + # pam_xauth for one, is then never used. This should close bug #8831. + # + # <azarah@gentoo.org> (19 Oct 2002) + use pam && epatch ${FILESDIR}/${P}-su-pam_open_session.patch-v2 + + # 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. + # + # <azarah@gentoo.org> (23 Feb 2003) +# This one could be a security hole ... +# cd ${S}; epatch ${FILESDIR}/${P}-nologin-run-sh.patch + + # Patch the useradd manpage to be a bit more clear, closing bug #13203. + # Thanks to Guy <guycad@mindspring.com>. + epatch ${FILESDIR}/${P}-useradd-manpage-update.patch +} + +src_compile() { + # This static library should always be built with -fPIC (even on + # 32-bit platforms) because it is consumed in a shared object in + # freeradius. See bug 37719 and + # http://marc.theaimsgroup.com/?l=gentoo-dev&m=107112691504786&w=2 + append-flags -fPIC + + # Allows shadow configure detect mips systems properly + gnuconfig_update + + elibtoolize + + local myconf="" + use pam \ + && myconf="${myconf} --with-libpam --with-libcrack" \ + || myconf="${myconf} --without-libpam" + + ./configure --disable-desrpc \ + --with-libcrypt \ + --with-libcrack \ + --enable-shared=no \ + --enable-static=yes \ + --host=${CHOST} \ + `use_enable nls` \ + ${myconf} || die "bad configure" + + # Parallel make fails sometimes + make || die "compile problem" +} + +src_install() { + dodir /etc/default /etc/skel + + make prefix=${D}/usr \ + exec_prefix=${D} \ + mandir=${D}/usr/share/man \ + install || die "install problem" + + # Do not install this login, but rather the one from + # pam-login, as this one have a serious root exploit + # with pam_limits in use. + use pam && rm ${D}/bin/login + + mv ${D}/lib ${D}/usr + dosed "s:/lib':/usr/lib':g" /usr/lib/libshadow.la + dosed "s:/lib/:/usr/lib/:g" /usr/lib/libshadow.la + dosed "s:/lib':/usr/lib':g" /usr/lib/libmisc.la + dosed "s:/lib/:/usr/lib/:g" /usr/lib/libmisc.la + dosym /usr/bin/newgrp /usr/bin/sg + dosym /usr/sbin/useradd /usr/sbin/adduser + dosym /usr/sbin/vipw /usr/sbin/vigr + # Remove dead links + rm -f ${D}/bin/{sg,vipw} + + 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 ${S}/etc/login.access + insopts -m0644 ; doins ${S}/etc/limits + + # needed for 'adduser -D' + insinto /etc/default + insopts -m0600 + doins ${FILESDIR}/default/useradd +# From sys-apps/pam-login now +# insopts -m0644 ; doins ${FILESDIR}/login.defs + + 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 + newins shadow chage + newins shadow chsh + newins shadow chfn + newins shadow useradd + newins shadow groupadd + fi + + cd ${S} + # The manpage install is beyond my comprehension, and + # also broken. Just do it over. + rm -rf ${D}/usr/share/man/* + + rm -f man/id.1 man/getspnam.3 man/passwd.5 + for x in man/*.[0-9] + do + [ -f ${x} ] && doman ${x} + done + + if [ ! `use pam` ] ; then + # Dont install the manpage, since we dont use + # login with shadow + rm -f ${D}/usr/share/man/man1/login.* + # We use pam, so this is not applicable. + rm -f ${D}/usr/share/man/man5/suauth.* + fi + + cd ${S}/doc + dodoc ANNOUNCE INSTALL LICENSE README WISHLIST + docinto txt + dodoc HOWTO LSM README.* *.txt + + # Fix sparc serial console + if [ "${ARCH}" = "sparc" -o "${ARCH}" = "" ] + then + # ttyS0 and its devfsd counterpart (Sparc serial port "A") + dosed 's:\(vc/1\)$:tts/0\n\1:' /etc/securetty + dosed 's:\(tty1\)$:ttyS0\n\1:' /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 +} + |