diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-10-24 07:10:14 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-10-24 07:10:14 +0000 |
commit | b0cc7bb5d06509de4d8bb6e9bcf7e61d0761f523 (patch) | |
tree | 2a44cf6623007a4e549c664f377c70a23eb0a0b1 /sys-libs | |
parent | new ebuild, see bug 7086 (diff) | |
download | gentoo-2-b0cc7bb5d06509de4d8bb6e9bcf7e61d0761f523.tar.gz gentoo-2-b0cc7bb5d06509de4d8bb6e9bcf7e61d0761f523.tar.bz2 gentoo-2-b0cc7bb5d06509de4d8bb6e9bcf7e61d0761f523.zip |
remove static libs to fix gcc3 linking issues
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/pam/ChangeLog | 14 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.75-r9 | 2 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.75-r9.ebuild | 174 |
3 files changed, 189 insertions, 1 deletions
diff --git a/sys-libs/pam/ChangeLog b/sys-libs/pam/ChangeLog index ab8ec9c5353b..913aac6c94f4 100644 --- a/sys-libs/pam/ChangeLog +++ b/sys-libs/pam/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for sys-libs/pam # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.12 2002/10/13 17:44:17 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.13 2002/10/24 07:10:14 azarah Exp $ + +*pam-0.75-r9 (24 Oct 2002) + + 24 Oct 2002; Martin Schlemmer <azarah@gentoo.org> pam-0.75-r9.ebuild : + + Another snag in the problem with gcc3 linking static libs in /usr/lib + before dynamic ones in /lib (bug #4411). Seems like c++ stuff do not + link properly with libpam.so, but rather with libpam.a, and as pam + must be dynamic to load its modules, it breaks auth for a few critical + things (like gdm and kdm). This is not tested, but the urgency demands + a solution. This release just do not install static libs for pam until + the gcc/binutils issue can be resolved. *pam-0.75-r8 (13 Oct 2002) diff --git a/sys-libs/pam/files/digest-pam-0.75-r9 b/sys-libs/pam/files/digest-pam-0.75-r9 new file mode 100644 index 000000000000..08a44f51a912 --- /dev/null +++ b/sys-libs/pam/files/digest-pam-0.75-r9 @@ -0,0 +1,2 @@ +MD5 513088e0374c235e3b109119862e6bd4 Linux-PAM-0.75.tar.gz 874549 +MD5 8912eb2013c7b13fe14d9d4677919e5f pam-0.75-r9-gentoo.tbz2 125043 diff --git a/sys-libs/pam/pam-0.75-r9.ebuild b/sys-libs/pam/pam-0.75-r9.ebuild new file mode 100644 index 000000000000..b1671101b5db --- /dev/null +++ b/sys-libs/pam/pam-0.75-r9.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.75-r9.ebuild,v 1.1 2002/10/24 07:10:14 azarah Exp $ + +IUSE="berkdb" + +inherit gcc + +PATCH_LEVEL="" + +S="${WORKDIR}/Linux-PAM-${PV}" +S2="${WORKDIR}/pam" +DESCRIPTION="Pluggable Authentication Modules" +SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-${PV}.tar.gz + mirror://gentoo/pam-${PVR}${PATCH_LEVEL}-gentoo.tbz2" +HOMEPAGE="http://www.redhat.com/linux-info/pam/" + +LICENSE="PAM" +KEYWORDS="x86 ppc sparc sparc64 alpha" +SLOT="0" + +DEPEND=">=sys-libs/cracklib-2.7-r3 + =dev-libs/glib-1.2* + >=sys-libs/pwdb-0.61-r3 + >=sys-devel/autoconf-2.5 + >=sys-devel/automake-1.6 + >=sys-devel/flex-2.5.4a-r5 + berkdb? ( ~sys-libs/db-1.85 + ~sys-libs/db-3.2.9 )" + +src_unpack() { + unpack ${A} + + cd ${S} + tar -jxf ${S2}/pam-redhat-0.75-41.1.tar.bz2 || \ + die "Failed to unpack pam-redhat-0.75-41.1.tar.bz2" + + cp /usr/share/automake/install-sh . || die + ln -sf defs/redhat.defs default.defs + + einfo "Applying various patches (bugfixes/updates)..." + for x in $(cat ${S2}/patch.list ${S2}/patch.list.gentoo) + do + if [ -f ${S2}/patchdir/${x} ] + then + einfo " ${x##*/}..." + bzip2 -dc ${S2}/patchdir/${x} | patch -p1 > /dev/null || \ + die "Failed Patch: ${x##*/}!" + fi + done + + for readme in modules/pam_*/README + do + cp -f ${readme} doc/txts/README.$(dirname ${readme} | sed -e 's|^modules/||') + done + + export WANT_AUTOCONF_2_5=1 + autoconf + + cd ${S}/doc + einfo "Unpacking docs..." + tar -xvzf Linux-PAM-0.75-docs.tar.gz > /dev/null || \ + die "Failed to unpack docs" +} + +src_compile() { + export CFLAGS="${CFLAGS} -fPIC" + + ./configure --host=${CHOST} \ + --prefix=/ \ + --sbindir=/usr/sbin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-securedir=/lib/security \ + --enable-fakeroot=${D} \ + --enable-static-libpam \ + || die "Failed to configure" + + # Python stuff in docs gives sandbox problems + cp Makefile Makefile.orig + sed -e "s:libpam_misc doc examples:libpam_misc:" \ + Makefile.orig > Makefile + + # Fix warnings for gcc-2.95.3 + if [ "$(gcc-version)" = "2.95" ] + then + cp Make.Rules Make.Rules.orig + sed -e "s:-Wpointer-arith::" \ + Make.Rules.orig > Make.Rules + rm -f Make.Rules.orig + fi + + if [ -z "$(use berkdb)" ] + then + cp Make.Rules Make.Rules.orig + sed -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ + Make.Rules.orig > Make.Rules + rm -f Make.Rules.orig + fi + + make || die "Failed to build" +} + +src_install() { + make FAKEROOT=${D} \ + LDCONFIG="" \ + install || die + + # Make sure every module built. + # Do not remove this, as some module can fail to build + # and effectively lock the user out of his system. + for x in ${S}/modules/pam_* + do + if [ -d ${x} ] + then + if ! ls -1 ${D}/lib/security/$(basename ${x})*.so &> /dev/null + then + if [ -z "$(use berkdb)" -a "$(basename ${x})" = "pam_userdb" ] + then + continue + fi + eerror "ERROR: $(basename ${x}) module did not build." + exit 1 + fi + fi + done + + cd ${S} + dodoc CHANGELOG Copyright README + docinto modules + dodoc modules/README + dodoc doc/txts/README.* + docinto txt + dodoc doc/txts/*.txt doc/specs/*.txt + docinto print + dodoc doc/ps/*.ps + + doman doc/man/*.[38] + + docinto html + dohtml -r doc/html/ + + dodir /usr/lib + cd ${D}/lib + for x in pam pamc pam_misc + do + rm lib${x}.so + ln -s lib${x}.so.${PV} lib${x}.so + ln -s lib${x}.so.${PV} lib${x}.so.0 + # Another snag in the problem with gcc3 linking static + # libs in /usr/lib before dynamic ones in /lib (bug #4411). + # Seems like c++ stuff do not link properly with libpam.so, + # but rather with libpam.a, and as pam must be dynamic to + # load its modules, it breaks auth for a few critical things + # (like gdm and kdm). This is not tested, but the urgency + # demands a solution. + # <azarah@gentoo.org> (24 Oct 2002) + #mv lib${x}.a ${D}/usr/lib + rm -f lib${x}.a + done + + # need this for pam_console + keepdir /var/run/console + + insinto /etc/pam.d + for x in ${FILESDIR}/${PVR}/pam.d/* + do + if [ -f ${x} ] + then + doins ${x} + fi + done +} + |