diff options
author | 2006-04-21 11:58:17 +0000 | |
---|---|---|
committer | 2006-04-21 11:58:17 +0000 | |
commit | 737e667745ef7171537199cce63c3b1d97a55fa8 (patch) | |
tree | eea981caf7379d1e49f8c9a39c5ebc774504e668 /sys-libs/pam | |
parent | Update local useflags for dev-libs/pam_pkcs11 -> sys-auth/pam_pkcs11. (diff) | |
download | gentoo-2-737e667745ef7171537199cce63c3b1d97a55fa8.tar.gz gentoo-2-737e667745ef7171537199cce63c3b1d97a55fa8.tar.bz2 gentoo-2-737e667745ef7171537199cce63c3b1d97a55fa8.zip |
Drop old versions.
(Portage version: 2.1_pre7-r5)
Diffstat (limited to 'sys-libs/pam')
-rw-r--r-- | sys-libs/pam/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.77-r6 | 3 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.77-r8 | 3 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.78-r2 | 4 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.78-r4 | 4 | ||||
-rw-r--r-- | sys-libs/pam/files/pam-0.77-console-reset.patch | 54 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.77-r6.ebuild | 306 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.77-r8.ebuild | 310 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.78-r2.ebuild | 387 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.78-r4.ebuild | 391 |
10 files changed, 6 insertions, 1463 deletions
diff --git a/sys-libs/pam/ChangeLog b/sys-libs/pam/ChangeLog index b3776fe758f5..509ce09a018b 100644 --- a/sys-libs/pam/ChangeLog +++ b/sys-libs/pam/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-libs/pam # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.100 2006/04/21 11:31:11 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.101 2006/04/21 11:58:16 flameeyes Exp $ + + 21 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> + -files/pam-0.77-console-reset.patch, -pam-0.77-r6.ebuild, + -pam-0.77-r8.ebuild, -pam-0.78-r2.ebuild, -pam-0.78-r4.ebuild: + Drop old versions. 21 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> pam-0.99.3.0.ebuild: Tweak dependencies a bit. diff --git a/sys-libs/pam/files/digest-pam-0.77-r6 b/sys-libs/pam/files/digest-pam-0.77-r6 deleted file mode 100644 index ad777f5643c8..000000000000 --- a/sys-libs/pam/files/digest-pam-0.77-r6 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 be5a470e553ba71c20e9bbc7665f3754 Linux-PAM-0.77.tar.gz 442569 -MD5 f626acfce1f602df0f592b716c0e12f9 pam-0.77-patches-1.7.tar.bz2 115022 -MD5 df71961002b552c0e72c6e4e358f27e1 db-4.1.25.tar.gz 3080234 diff --git a/sys-libs/pam/files/digest-pam-0.77-r8 b/sys-libs/pam/files/digest-pam-0.77-r8 deleted file mode 100644 index 222ac5b0c5c9..000000000000 --- a/sys-libs/pam/files/digest-pam-0.77-r8 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 be5a470e553ba71c20e9bbc7665f3754 Linux-PAM-0.77.tar.gz 442569 -MD5 5e9a2cb5730dfe5ded7fd20b49af2f07 pam-0.77-patches-1.9.tar.bz2 115014 -MD5 df71961002b552c0e72c6e4e358f27e1 db-4.1.25.tar.gz 3080234 diff --git a/sys-libs/pam/files/digest-pam-0.78-r2 b/sys-libs/pam/files/digest-pam-0.78-r2 deleted file mode 100644 index 04e882013f62..000000000000 --- a/sys-libs/pam/files/digest-pam-0.78-r2 +++ /dev/null @@ -1,4 +0,0 @@ -MD5 58cd055892e97648651d5a318888f3a0 Linux-PAM-0.78.tar.gz 488936 -MD5 ee1a1ab60f9868ea2e0bddf8492df009 pam-0.78-patches-1.2.tar.bz2 86593 -MD5 fcc481d52c3b80e20a328f8c0cb042bd db-4.3.27.tar.gz 5921872 -MD5 777d2e34a60edad28319207b576cda91 glib-2.6.5.tar.bz2 2357089 diff --git a/sys-libs/pam/files/digest-pam-0.78-r4 b/sys-libs/pam/files/digest-pam-0.78-r4 deleted file mode 100644 index be3a66827628..000000000000 --- a/sys-libs/pam/files/digest-pam-0.78-r4 +++ /dev/null @@ -1,4 +0,0 @@ -MD5 58cd055892e97648651d5a318888f3a0 Linux-PAM-0.78.tar.gz 488936 -MD5 fcc481d52c3b80e20a328f8c0cb042bd db-4.3.27.tar.gz 5921872 -MD5 777d2e34a60edad28319207b576cda91 glib-2.6.5.tar.bz2 2357089 -MD5 c7b9d6d52902ead5f4c10c277e441f30 pam-0.78-patches-1.3.tar.bz2 87223 diff --git a/sys-libs/pam/files/pam-0.77-console-reset.patch b/sys-libs/pam/files/pam-0.77-console-reset.patch deleted file mode 100644 index ff45659366bd..000000000000 --- a/sys-libs/pam/files/pam-0.77-console-reset.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- Linux-PAM-0.77/modules/pam_console/pam_console_apply.c.console-reset 2003-07-08 05:16:28.000000000 +0200 -+++ Linux-PAM-0.77/modules/pam_console/pam_console_apply.c 2003-07-10 22:50:26.000000000 +0200 -@@ -41,8 +41,9 @@ - va_list args; - if (debug_p && !debug) return; - va_start(args, format); -- fprintf(stderr, format, args); -+ vfprintf(stderr, format, args); - va_end(args); -+ fprintf(stderr, "\n"); - } - - int ---- Linux-PAM-0.77/modules/pam_console/config.y.az 2004-10-31 14:39:41.519539120 +0200 -+++ Linux-PAM-0.77/modules/pam_console/config.y 2004-10-31 14:42:44.110781032 +0200 -@@ -425,6 +425,8 @@ - reset_permissions(pam_handle_t *pamh, const char *consolename, int nonroot_ok) { - struct passwd *pwd; - struct group *grp; -+ uid_t pw_uid; -+ gid_t gr_gid; - config *c; - GSList *cl; - -@@ -439,20 +441,24 @@ - if (pwd == NULL) { - _pam_log(LOG_ERR, FALSE, "getpwnam failed for %s", - c->revert_owner ? c->revert_owner : "root"); -- return -1; -+ pw_uid = 0; -+ } else { -+ pw_uid = pwd->pw_uid; - } - grp = _pammodutil_getgrnam(pamh, c->revert_group ? c->revert_group : "root"); - if (grp == NULL) { - _pam_log(LOG_ERR, FALSE, "getgrnam failed for %s", - c->revert_group ? c->revert_group : "root"); -- return -1; -- } -+ gr_gid = 0; -+ } else { -+ gr_gid = pwd->pw_uid; -+ } - if (c->device_class->list) - chmod_files(c->revert_mode ? c->revert_mode : "0600", -- pwd->pw_uid, grp->gr_gid, NULL, c->device_class->list); -+ pw_uid, gr_gid, NULL, c->device_class->list); - else - chmod_files(c->revert_mode ? c->revert_mode : "0600", -- pwd->pw_uid, grp->gr_gid, c->device_class->name, NULL); -+ pw_uid, gr_gid, c->device_class->name, NULL); - } - } - return 0; diff --git a/sys-libs/pam/pam-0.77-r6.ebuild b/sys-libs/pam/pam-0.77-r6.ebuild deleted file mode 100644 index 738ccdf1bd25..000000000000 --- a/sys-libs/pam/pam-0.77-r6.ebuild +++ /dev/null @@ -1,306 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.77-r6.ebuild,v 1.6 2005/06/30 10:29:47 flameeyes Exp $ - -PATCH_LEVEL="1.7" -BDB_VER="4.1.25" -PAM_REDHAT_VER="0.77-4" - -RDEPEND=">=sys-libs/cracklib-2.7-r8 - selinux? ( sys-libs/libselinux ) - berkdb? ( >=sys-libs/db-${BDB_VER} )" - -DEPEND="$RDEPEND - dev-lang/perl - =dev-libs/glib-1.2* - >=sys-devel/autoconf-2.59 - >=sys-devel/automake-1.6 - >=sys-devel/flex-2.5.4a-r5 - pwdb? ( >=sys-libs/pwdb-0.62 )" - -# Have python sandbox issues currently ... -# doc? ( app-text/sgmltools-lite ) - -# BDB is internalized to get a non-threaded lib for pam_userdb.so to -# be built with. The runtime-only dependency on BDB suggests the user -# will use the system-installed db_load to create pam_userdb databases. -# PWDB is internalized because it is specifically designed to work -# with Linux-PAM. I'm not really certain how pervasive the Radius -# and NIS services of PWDB are at this point. -# -# With all the arch's we support, I rather use external pwdb, and then -# link statically to it - <azarah@gentoo.org> (09 Nov 2003). - -#inherit needs to be after DEPEND definition to protect RDEPEND -inherit toolchain-funcs eutils flag-o-matic gnuconfig - -# Note that we link to static versions of glib (pam_console.so) -# and pwdb (pam_pwdb.so) ... - -HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/" -DESCRIPTION="Pluggable Authentication Modules" - -S="${WORKDIR}/Linux-PAM-${PV}" -S2="${WORKDIR}/pam-${PV}-patches" -SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-${PV}.tar.gz - mirror://gentoo/pam-${PV}-patches-${PATCH_LEVEL}.tar.bz2 - berkdb? ( http://www.sleepycat.com/update/snapshot/db-${BDB_VER}.tar.gz )" - -LICENSE="PAM" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86" -IUSE="berkdb pwdb selinux" - -apply_pam_patches() { - local x= - local patch= - - for x in redhat gentoo - do - cat ${S2}/list.${x}-patches | grep -v '^#' | grep -v '^$' | while read X - do - patch="$(echo $X | sed -e 's|^Patch.*: \(.*\)|\1|')" - epatch ${S2}/${x}-patches/${patch} || die "Failed to apply ${patch}!" - done - done -} - -pkg_setup() { - local x= - - if use pwdb; then - for x in libpwdb.a libcrack.a; do - if [ ! -f "${ROOT}/usr/$(get_libdir)/${x}" ]; then - eerror "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - die "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - fi - done - fi - - return 0 -} - -src_unpack() { - unpack ${A} || die "Couldn't unpack ${A}" - - cd ${S} || die - tar -zxf ${S2}/pam-redhat-${PAM_REDHAT_VER}.tar.gz \ - || die "Couldn't unpack pam-redhat-${PAM_REDHAT_VER}.tar.gz" - - apply_pam_patches - - use selinux && epatch ${S2}/gentoo-patches/pam-selinux.patch - - for readme in modules/pam_*/README ; do - cp -f "${readme}" doc/txts/README.$(dirname "${readme}" | \ - sed -e 's|^modules/||') - done - - # Fix building of sys-libs/pam for no-symlink amd64 profiles - # BUG #96385 - sed -i \ - -e "s|^\(MODULE_SIMPLE_EXTRALIBS=.*\/usr\/\)lib\/|\1$(get_libdir)\/|" \ - ${S}/modules/pam_cracklib/Makefile || die sed failed - - cp /usr/share/automake/install-sh . || die - export WANT_AUTOCONF=2.5 - autoconf || die -} - -src_compile() { - export CFLAGS="${CFLAGS} -fPIC" - - if use berkdb - then - einfo "Building Berkley DB ${BDB_VER}..." - cd ${WORKDIR} - cd db-${BDB_VER}/dist || die - - # Pam uses berkdb, which db-4.1.x series can't detect mips64, so we fix it - if use mips; then - einfo "Updating berkdb config.{guess,sub} for mips" - local OLDS="${S}" - S="${WORKDIR}/db-${BDB_VER}/dist" - gnuconfig_update - S="${OLDS}" - fi - - echo db_cv_mutex=UNIX/fcntl > config.cache - ./s_config - ./configure \ - --cache-file=config.cache \ - --disable-compat185 \ - --disable-cxx \ - --disable-diagnostic \ - --disable-dump185 \ - --disable-java \ - --disable-rpc \ - --disable-tcl \ - --disable-shared \ - --with-pic \ - --with-uniquename=_pam \ - --prefix=${S} \ - --includedir=${S}/include \ - --libdir=${S}/lib || die "Bad BDB ./configure" - - # XXX hack out O_DIRECT support in db4 for now. - perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' \ - db_config.h - - make || die "BDB build failed" - make install || die - - export CPPFLAGS="-I${S}/include" - export LDFLAGS="-L${S}/lib" - export LIBNAME="lib" - fi - - if [ "${ARCH}" = "alpha" ] - then - if [ ! -z "$(strings -a /usr/lib/libglib.a | grep -i 'Compaq Computer Corp.')" ] - then - # should be LDFLAGS, but this configure is screwy. - echo - einfo "It looks like you compiled glib with ccc, this is okay, but" - einfo "I'll need to force gcc to link with libots...." - echo - append-flags -lots - sed -i -e 's/$(CC) -o/$(CC) -lots -o/g' ${S}/modules/pam_pwdb/Makefile - fi - fi - - einfo "Building Linux-PAM ${PV}..." - cd ${S} - ./configure \ - --libdir=/$(get_libdir) \ - --enable-static-libpam \ - --enable-fakeroot=${D} \ - --enable-isadir=/$(get_libdir)/security \ - --host=${CHOST} || die - - # Python stuff in docs gives sandbox problems - sed -i -e 's|modules doc examples|modules|' Makefile - - # Fix warnings for gcc-2.95.3 - if [ "$(gcc-version)" = "2.95" ] - then - sed -i -e "s:-Wpointer-arith::" Make.Rules - fi - - if ! use berkdb - then - # Do not build pam_userdb.so ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - -e "s:^HAVE_LIBDB=yes:HAVE_LIBDB=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" \ - -e "s:^#define HAVE_DB_H.*$:/* #undef HAVE_DB_H */:" \ - _pam_aconf.h - - else - # Do not link pam_userdb.so to db-1.85 ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" _pam_aconf.h - fi - - make || die "PAM build failed" -} - -src_install() { - local x= - - einfo "Installing Linux-PAM ${PV}..." - 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. - einfo "Checking if all modules were built..." - for x in ${S}/modules/pam_* - do - if [ -d ${x} ] - then - # Its OK if the module failed when we didnt ask for it anyway - if ! ls -1 ${D}/$(get_libdir)/security/$(basename ${x})*.so &> /dev/null - then - if ! use berkdb && [ "$(basename ${x})" = "pam_userdb" ] - then - continue - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_pwdb" ] - then - continue - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_radius" ] - then - continue - fi - eerror "ERROR: $(basename ${x}) module did not build." - exit 1 - else - # Remove the ones we didnt want if it ended up building ok anyways - if ! use berkdb && [ "$(basename ${x})" = "pam_userdb" ] - then - rm -f ${D}/$(get_libdir)/security/pam_userdb* - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_pwdb" ] - then - rm -f ${D}/$(get_libdir)/security/pam_pwdb* - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_radius" ] - then - rm -f ${D}/$(get_libdir)/security/pam_radius* - fi - fi - fi - done - - dodir /usr/$(get_libdir) - cd ${D}/$(get_libdir) - 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 - mv lib${x}.a ${D}/usr/$(get_libdir) - # See bug #4411 - gen_usr_ldscript lib${x}.so - done - - cd ${S} - doman doc/man/*.[0-9] - - dodoc CHANGELOG Copyright README - docinto modules ; dodoc modules/README ; dodoc doc/txts/README.* - docinto txt ; dodoc doc/specs/*.txt #doc/txts/*.txt -# docinto print ; dodoc doc/ps/*.ps - -# docinto html -# dohtml -r doc/html/ - - # need this for pam_console - keepdir /var/run/console - - insinto /etc/pam.d - for x in ${FILESDIR}/pam.d/* - do - if [ -f ${x} ] - then - doins ${x} - fi - done - - insinto /etc/security - doins ${FILESDIR}/pam_env.conf -} diff --git a/sys-libs/pam/pam-0.77-r8.ebuild b/sys-libs/pam/pam-0.77-r8.ebuild deleted file mode 100644 index e70a12181d34..000000000000 --- a/sys-libs/pam/pam-0.77-r8.ebuild +++ /dev/null @@ -1,310 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.77-r8.ebuild,v 1.7 2005/07/28 14:46:40 seemant Exp $ - -PATCH_LEVEL="1.9" -BDB_VER="4.1.25" -PAM_REDHAT_VER="0.77-4" - -RDEPEND=">=sys-libs/cracklib-2.7-r8 - selinux? ( sys-libs/libselinux ) - berkdb? ( >=sys-libs/db-${BDB_VER} )" - -DEPEND="${RDEPEND} - dev-lang/perl - =dev-libs/glib-1.2* - >=sys-devel/autoconf-2.59 - >=sys-devel/automake-1.6 - >=sys-devel/flex-2.5.4a-r5 - pwdb? ( >=sys-libs/pwdb-0.62 )" - -# Have python sandbox issues currently ... -# doc? ( app-text/sgmltools-lite ) - -# BDB is internalized to get a non-threaded lib for pam_userdb.so to -# be built with. The runtime-only dependency on BDB suggests the user -# will use the system-installed db_load to create pam_userdb databases. -# PWDB is internalized because it is specifically designed to work -# with Linux-PAM. I'm not really certain how pervasive the Radius -# and NIS services of PWDB are at this point. -# -# With all the arch's we support, I rather use external pwdb, and then -# link statically to it - <azarah@gentoo.org> (09 Nov 2003). - -#inherit needs to be after DEPEND definition to protect RDEPEND -inherit toolchain-funcs eutils flag-o-matic gnuconfig - -# Note that we link to static versions of glib (pam_console.so) -# and pwdb (pam_pwdb.so) ... - -HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/" -DESCRIPTION="Pluggable Authentication Modules" - -S="${WORKDIR}/Linux-PAM-${PV}" -S2="${WORKDIR}/pam-${PV}-patches" -SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-${PV}.tar.gz - mirror://gentoo/pam-${PV}-patches-${PATCH_LEVEL}.tar.bz2 - berkdb? ( http://www.sleepycat.com/update/snapshot/db-${BDB_VER}.tar.gz )" - -LICENSE="PAM" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="berkdb pwdb selinux" - -apply_pam_patches() { - local x= - local y= - local patches="${T}/patches.$$" - - for x in redhat gentoo - do - rm -f "${patches}" - - # Need to be a '| while read x', as some lines may have spaces ... - cat "${S2}/list.${x}-patches" | grep -v '^#' | grep -v '^$' | while read y - do - # Remove the 'Patch[0-9]*: ' from the redhat list - echo "${y}" | sed -e 's|^Patch.*: \(.*\)|\1|' >> "${patches}" - done - for y in $(cat "${patches}") - do - epatch "${S2}/${x}-patches/${y}" - done - done -} - -pkg_setup() { - local x= - - if use pwdb; then - for x in libpwdb.a libcrack.a; do - if [ ! -f "${ROOT}/usr/$(get_libdir)/${x}" ]; then - eerror "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - die "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - fi - done - fi - - return 0 -} - -src_unpack() { - unpack ${A} || die "Couldn't unpack ${A}" - - cd ${S} || die - tar -zxf ${S2}/pam-redhat-${PAM_REDHAT_VER}.tar.gz \ - || die "Couldn't unpack pam-redhat-${PAM_REDHAT_VER}.tar.gz" - - apply_pam_patches - - use selinux && epatch ${S2}/gentoo-patches/pam-selinux.patch - - for readme in modules/pam_*/README ; do - cp -f "${readme}" doc/txts/README.$(dirname "${readme}" | \ - sed -e 's|^modules/||') - done - - cp /usr/share/automake/install-sh . || die - export WANT_AUTOCONF=2.5 - autoconf || die -} - -src_compile() { - export CFLAGS="${CFLAGS} -fPIC" - - if use berkdb - then - einfo "Building Berkley DB ${BDB_VER}..." - cd ${WORKDIR} - cd db-${BDB_VER}/dist || die - - # Pam uses berkdb, which db-4.1.x series can't detect mips64, so we fix it - if use mips; then - einfo "Updating berkdb config.{guess,sub} for mips" - local OLDS="${S}" - S="${WORKDIR}/db-${BDB_VER}/dist" - gnuconfig_update - S="${OLDS}" - fi - - echo db_cv_mutex=UNIX/fcntl > config.cache - ./s_config - ./configure \ - --cache-file=config.cache \ - --disable-compat185 \ - --disable-cxx \ - --disable-diagnostic \ - --disable-dump185 \ - --disable-java \ - --disable-rpc \ - --disable-tcl \ - --disable-shared \ - --with-pic \ - --with-uniquename=_pam \ - --prefix=${S} \ - --includedir=${S}/include \ - --libdir=${S}/lib || die "Bad BDB ./configure" - - # XXX hack out O_DIRECT support in db4 for now. - perl -pi -e 's/#define HAVE_O_DIRECT 1/#undef HAVE_O_DIRECT/' \ - db_config.h - - make || die "BDB build failed" - make install || die - - export CPPFLAGS="-I${S}/include" - export LDFLAGS="-L${S}/lib" - export LIBNAME="lib" - fi - - if [ "${ARCH}" = "alpha" ] - then - if [ ! -z "$(strings -a /usr/lib/libglib.a | grep -i 'Compaq Computer Corp.')" ] - then - # should be LDFLAGS, but this configure is screwy. - echo - einfo "It looks like you compiled glib with ccc, this is okay, but" - einfo "I'll need to force gcc to link with libots...." - echo - append-flags -lots - sed -i -e 's/$(CC) -o/$(CC) -lots -o/g' ${S}/modules/pam_pwdb/Makefile - fi - fi - - einfo "Building Linux-PAM ${PV}..." - cd ${S} - ./configure \ - --libdir=/$(get_libdir) \ - --enable-static-libpam \ - --enable-fakeroot=${D} \ - --enable-isadir=/$(get_libdir)/security \ - --host=${CHOST} || die - - # Python stuff in docs gives sandbox problems - sed -i -e 's|modules doc examples|modules|' Makefile - - # Fix warnings for gcc-2.95.3 - if [ "$(gcc-version)" = "2.95" ] - then - sed -i -e "s:-Wpointer-arith::" Make.Rules - fi - - if ! use berkdb - then - # Do not build pam_userdb.so ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - -e "s:^HAVE_LIBDB=yes:HAVE_LIBDB=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" \ - -e "s:^#define HAVE_DB_H.*$:/* #undef HAVE_DB_H */:" \ - _pam_aconf.h - - else - # Do not link pam_userdb.so to db-1.85 ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" _pam_aconf.h - fi - - make || die "PAM build failed" -} - -src_install() { - local x= - - einfo "Installing Linux-PAM ${PV}..." - 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. - einfo "Checking if all modules were built..." - for x in ${S}/modules/pam_* - do - if [ -d ${x} ] - then - # Its OK if the module failed when we didnt ask for it anyway - if ! ls -1 ${D}/$(get_libdir)/security/$(basename ${x})*.so &> /dev/null - then - if ! use berkdb && [ "$(basename ${x})" = "pam_userdb" ] - then - continue - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_pwdb" ] - then - continue - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_radius" ] - then - continue - fi - eerror "ERROR: $(basename ${x}) module did not build." - exit 1 - else - # Remove the ones we didnt want if it ended up building ok anyways - if ! use berkdb && [ "$(basename ${x})" = "pam_userdb" ] - then - rm -f ${D}/$(get_libdir)/security/pam_userdb* - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_pwdb" ] - then - rm -f ${D}/$(get_libdir)/security/pam_pwdb* - fi - if ! use pwdb && [ "$(basename ${x})" = "pam_radius" ] - then - rm -f ${D}/$(get_libdir)/security/pam_radius* - fi - fi - fi - done - - dodir /usr/$(get_libdir) - cd ${D}/$(get_libdir) - 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 - mv lib${x}.a ${D}/usr/$(get_libdir) - # See bug #4411 - gen_usr_ldscript lib${x}.so - done - - cd ${S} - doman doc/man/*.[0-9] - - dodoc CHANGELOG Copyright README - docinto modules ; dodoc modules/README ; dodoc doc/txts/README.* - # Install our own README.pam_console - docinto ; dodoc ${FILESDIR}/README.pam_console - docinto txt ; dodoc doc/specs/*.txt #doc/txts/*.txt -# docinto print ; dodoc doc/ps/*.ps - -# docinto html -# dohtml -r doc/html/ - - # need this for pam_console - keepdir /var/run/console - - insinto /etc/pam.d - for x in ${FILESDIR}/pam.d/* - do - if [ -f ${x} ] - then - doins ${x} - fi - done - - insinto /etc/security - doins ${FILESDIR}/pam_env.conf -} diff --git a/sys-libs/pam/pam-0.78-r2.ebuild b/sys-libs/pam/pam-0.78-r2.ebuild deleted file mode 100644 index 7ab1a8ea233e..000000000000 --- a/sys-libs/pam/pam-0.78-r2.ebuild +++ /dev/null @@ -1,387 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.78-r2.ebuild,v 1.28 2005/08/23 17:28:09 flameeyes Exp $ - -FORCE_SYSTEMAUTH_UPDATE="no" - -# BDB is internalized to get a non-threaded lib for pam_userdb.so to -# be built with. The runtime-only dependency on BDB suggests the user -# will use the system-installed db_load to create pam_userdb databases. -# PWDB is internalized because it is specifically designed to work -# with Linux-PAM. I'm not really certain how pervasive the Radius -# and NIS services of PWDB are at this point. - -PATCH_LEVEL="1.2" -BDB_VER="4.3.27" -BDB_VER2="4.1.25" -GLIB_VER="2.6.5" -PAM_REDHAT_VER="0.78-3" - -HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/" -DESCRIPTION="Pluggable Authentication Modules" - -S="${WORKDIR}/Linux-PAM-${PV}" -S2="${WORKDIR}/pam-${PV}-patches" -SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-${PV}.tar.gz - mirror://gentoo/pam-${PV}-patches-${PATCH_LEVEL}.tar.bz2 - berkdb? ( http://downloads.sleepycat.com/db-${BDB_VER}.tar.gz ) - pam_console? ( ftp://ftp.gtk.org/pub/gtk/v2.6/glib-${GLIB_VER}.tar.bz2 )" - -LICENSE="PAM" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" -IUSE="berkdb pwdb selinux pam_chroot pam_console pam_timestamp nis" - -RDEPEND=">=sys-libs/cracklib-2.8.3 - selinux? ( sys-libs/libselinux ) - berkdb? ( >=sys-libs/db-${BDB_VER2} ) - pwdb? ( >=sys-libs/pwdb-0.62 )" - -# Note that we link to static versions of glib (pam_console.so) -# and pwdb (pam_pwdb.so), so we need glib-2.6.2-r1 or later ... -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/pkgconfig - >=sys-devel/autoconf-2.59 - >=sys-devel/automake-1.6 - >=sys-devel/flex-2.5.4a-r5 - pwdb? ( >=sys-libs/pwdb-0.62 )" - -# Have python sandbox issues currently ... -# doc? ( app-text/sgmltools-lite ) - -PROVIDE="virtual/pam" - -#inherit needs to be after DEPEND definition to protect RDEPEND -inherit toolchain-funcs eutils flag-o-matic gnuconfig pam - -apply_pam_patches() { - local x= - local y= - local patches="${T}/patches.$$" - - for x in redhat gentoo; do - rm -f "${patches}" - - # Need to be a '| while read x', as some lines may have spaces ... - grep -v '^#' "${S2}/list.${x}-patches" | grep -v '^$' | while read y; do - # Remove the 'Patch[0-9]*: ' from the redhat list - echo "${y}" | sed -e 's|^Patch.*: \(.*\)|\1|' >> "${patches}" - done - for y in $(cat "${patches}"); do - epatch "${S2}/${x}-patches/${y}" - done - done -} - -pkg_setup() { - local x= - - #if use pwdb; then - # for x in libpwdb.a libcrack.a; do - # if [ ! -f "${ROOT}/usr/$(get_libdir)/${x}" ]; then - # eerror "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # die "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # fi - # done - #fi - #if use pam_console; then - # x="libglib-2.0.a" - # if [ ! -f "${ROOT}/usr/$(get_libdir)/${x}" ]; then - # eerror "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # eerror "Please remerge glib-2.6.* to make sure you have static changes." - # die "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # fi - #fi - - return 0 -} - -src_unpack() { - local x= - - unpack ${A} || die "Couldn't unpack ${A}" - - cd ${S} || die - tar --no-same-owner -zxf ${S2}/pam-redhat-${PAM_REDHAT_VER}.tar.gz \ - || die "Couldn't unpack pam-redhat-${PAM_REDHAT_VER}.tar.gz" - # These ones we do not want, or do not work with non RH - rm -rf ${S}/modules/{pam_rps,pam_postgresok} - - apply_pam_patches - - if use selinux; then - epatch ${S2}/gentoo-patches/pam-0.78-selinux.patch - fi - - # Check which extra modules should be built - # (Do this after apply_pam_patches(), else some may fail) - for x in pam_chroot pam_console pam_timestamp; do - use "${x}" || rm -rf "${S}/modules/${x}" - done - use berkdb || rm -rf "${S}/modules/pam_userdb" - use pwdb || rm -rf "${S}/modules/pam_pwdb" - use pwdb || rm -rf "${S}/modules/pam_radius" - - for x in $(find ${S} -type f -name 'Makefile*'); do - use nis || sed -i -e 's: -DNIS::g' "${x}" - done - # NIS patch is broken for now - use nis && echo 'NIS=yes' >> "${S}/Make.Rules.in" - - # Fixup libdir for 64bit arches - sed -ie "s:@get_libdir:$(get_libdir):" ${S}/configure.in - - for readme in modules/pam_*/README; do - cp -f "${readme}" doc/txts/README.$(dirname "${readme}" | \ - sed -e 's|^modules/||') - done - - # Bug #80604 (If install-sh do not exist, touch it) - cp /usr/share/automake/install-sh ${S}/ 2>/dev/null || touch install-sh - export WANT_AUTOCONF=2.5 - autoconf || die -} - -src_compile() { - local BDB_DIR="${WORKDIR}/db-${BDB_VER}" - local GLIB_DIR="${WORKDIR}/glib-${GLIB_VER}" - - # Bug #70471 (Compile issues with other locales) - export LANG=C LC_ALL=C - - if use berkdb ; then - einfo "Building Berkley DB ${BDB_VER}..." - cd "${BDB_DIR}/build_unix" || die - - # Pam uses berkdb, which db-4.1.x series can't detect mips64, so we fix it - if use mips ; then - einfo "Updating BDB config.{guess,sub} for mips" - S="${BDB_DIR}/dist" \ - gnuconfig_update - fi - - #echo db_cv_mutex=UNIX/fcntl > config.cache - #./s_config - CFLAGS="${CFLAGS} -fPIC" \ - ../dist/configure \ - --host=${CHOST} \ - --cache-file=config.cache \ - --disable-compat185 \ - --disable-cxx \ - --disable-diagnostic \ - --disable-dump185 \ - --disable-java \ - --disable-rpc \ - --disable-tcl \ - --disable-shared \ - --disable-o_direct \ - --with-pic \ - --with-uniquename=_pam \ - --with-mutex="UNIX/fcntl" \ - --prefix="${S}" \ - --includedir="${S}/include" \ - --libdir="${S}/lib" || die "Bad BDB ./configure" - - # XXX: hack out O_DIRECT support in db4 for now. - # (Done above now with --disable-o_direct now) - - make CC="$(tc-getCC)" || die "BDB build failed" - make install || die - fi - - if use pam_console ; then - einfo "Building GLIB ${GLIB_VER}..." - cd "${GLIB_DIR}" || die - - # The __attribute__((visibility("hidden"))) causes TEXTREL issues - sed -i -s 's:G_GNUC_INTERNAL::g' "${GLIB_DIR}/glib"/*.c - - CFLAGS="${CFLAGS} -fPIC" \ - ./configure \ - --host=${CHOST} \ - --enable-static \ - --disable-shared \ - --with-pic \ - --disable-threads \ - --with-threads=none \ - --prefix="${S}" \ - --includedir="${S}/include" \ - --libdir="${S}/lib" || die "Bad GLIB ./configure" - - # Do not need to build the whole shebang - cd "${GLIB_DIR}/glib" || die - make CC="$(tc-getCC)" || die "GLIB build failed" - make install || die - # Install pkg-config stuff and needed headers - cd "${GLIB_DIR}" || die - make install-pkgconfigDATA install-exec-local || die - fi - - if use berkdb || use pam_console ; then - # Make sure out static libs are used - export CFLAGS="-I${S}/include -Wl,-L${S}/lib ${CFLAGS}" - export LDFLAGS="-L${S}/lib ${LDFLAGS}" - export LIBNAME="lib" - # Make sure pkg-config can find glib even if not installed in system - export PKG_CONFIG_PATH="${S}/lib/pkgconfig:${PKG_CONFIG_PATH}" - fi - - einfo "Building Linux-PAM ${PV}..." - cd ${S} - econf --enable-static-libpam \ - --enable-fakeroot="${D}" \ - --libdir="/$(get_libdir)" \ - --enable-isadir="../../$(get_libdir)/security" \ - || die - - # Python stuff in docs gives sandbox problems - sed -i -e 's|modules doc examples|modules|' Makefile - - # Fix warnings for gcc-2.95.3 - if [[ $(gcc-version) = "2.95" ]] ; then - sed -i -e "s:-Wpointer-arith::" Make.Rules - fi - - if ! use berkdb ; then - # Do not build pam_userdb.so ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - -e "s:^HAVE_LIBDB=yes:HAVE_LIBDB=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" \ - -e "s:^#define HAVE_DB_H.*$:/* #undef HAVE_DB_H */:" \ - _pam_aconf.h - - else - # Do not link pam_userdb.so to db-1.85 ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" \ - _pam_aconf.h - fi - - make CC="$(tc-getCC)" || die "PAM build failed" -} - -src_install() { - local x= - - einfo "Installing Linux-PAM ${PV}..." - 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. - einfo "Checking if all modules were built..." - for x in ${S}/modules/pam_*; do - if [[ -d ${x} ]] ; then - local mod_name=$(basename "${x}") - local sec_dir="${D}/$(get_libdir)/security" - - if ! ls -1 "${sec_dir}/${mod_name}"*.so &> /dev/null ; then - echo - eerror "ERROR: ${mod_name} module did not build." - echo - die "${mod_name} module did not build." - fi - if [[ -n $(ldd "${sec_dir}/${mod_name}"*.so 2>&1 | \ - grep "/usr/lib/" | \ - grep "/usr/$(get_libdir)/" | \ - grep -v "/usr/lib/gcc" | \ - grep -v "/usr/$(get_libdir)/gcc" | \ - grep -v "libsandbox") ]] ; then - echo - eerror "ERROR: ${mod_name} have dependencies in /usr." - echo - die "${mod_name} have dependencies in /usr." - fi - fi - done - - dodir /usr/$(get_libdir) - cd ${D}/$(get_libdir) - 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 - mv lib${x}.a ${D}/usr/$(get_libdir) - # See bug #4411 - gen_usr_ldscript lib${x}.so - done - - cd ${S} - - # need this for pam_console - keepdir /var/run/console - - for x in ${FILESDIR}/pam.d/*; do - [[ -f ${x} ]] && dopamd ${x} - done - - # Only add this one if needed. - if [[ ${FORCE_SYSTEMAUTH_UPDATE} = "yes" ]] ; then - newpamd ${FILESDIR}/pam.d/system-auth system-auth.new || \ - die "Failed to install system-auth.new!" - fi - - insinto /etc/security - doins ${FILESDIR}/pam_env.conf - doman doc/man/*.[0-9] - - dodoc CHANGELOG Copyright README - docinto modules ; dodoc modules/README ; dodoc doc/txts/README.* - # Install our own README.pam_console - docinto ; dodoc ${FILESDIR}/README.pam_console - docinto txt ; dodoc doc/specs/*.txt #doc/txts/*.txt -# docinto print ; dodoc doc/ps/*.ps - -# docinto html -# dohtml -r doc/html/ -} - -pkg_postinst() { - echo - einfo "If you have sshd running, please restart it to avoid possible login issues." - echo - ebeep - sleep 3 - - if [[ ${FORCE_SYSTEMAUTH_UPDATE} = "yes" ]] ; then - 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}" ]] ; 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 -pPR ${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 - fi - - if use pam_console; then - echo - einfo "If you want to enable the pam_console module, please follow" - einfo "the instructions in /usr/share/doc/${PF}/README.pam_console." - echo - fi -} diff --git a/sys-libs/pam/pam-0.78-r4.ebuild b/sys-libs/pam/pam-0.78-r4.ebuild deleted file mode 100644 index b0ba25055558..000000000000 --- a/sys-libs/pam/pam-0.78-r4.ebuild +++ /dev/null @@ -1,391 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.78-r4.ebuild,v 1.1 2006/01/25 13:55:38 flameeyes Exp $ - -FORCE_SYSTEMAUTH_UPDATE="no" - -# BDB is internalized to get a non-threaded lib for pam_userdb.so to -# be built with. The runtime-only dependency on BDB suggests the user -# will use the system-installed db_load to create pam_userdb databases. -# PWDB is internalized because it is specifically designed to work -# with Linux-PAM. I'm not really certain how pervasive the Radius -# and NIS services of PWDB are at this point. - -PATCH_LEVEL="1.3" -BDB_VER="4.3.27" -BDB_VER2="4.1.25" -GLIB_VER="2.6.5" -PAM_REDHAT_VER="0.78-3" - -HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/" -DESCRIPTION="Pluggable Authentication Modules" - -S="${WORKDIR}/Linux-PAM-${PV}" -S2="${WORKDIR}/pam-${PV}-patches" -SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-${PV}.tar.gz - mirror://gentoo/pam-${PV}-patches-${PATCH_LEVEL}.tar.bz2 - berkdb? ( http://downloads.sleepycat.com/db-${BDB_VER}.tar.gz ) - pam_console? ( ftp://ftp.gtk.org/pub/gtk/v2.6/glib-${GLIB_VER}.tar.bz2 )" - -LICENSE="PAM" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="berkdb pwdb selinux pam_chroot pam_console pam_timestamp nis" - -RDEPEND=">=sys-libs/cracklib-2.8.3 - selinux? ( sys-libs/libselinux ) - berkdb? ( >=sys-libs/db-${BDB_VER2} ) - pwdb? ( >=sys-libs/pwdb-0.62 )" - -# Note that we link to static versions of glib (pam_console.so) -# and pwdb (pam_pwdb.so), so we need glib-2.6.2-r1 or later ... -DEPEND="${RDEPEND} - dev-lang/perl - dev-util/pkgconfig - >=sys-devel/autoconf-2.59 - >=sys-devel/automake-1.6 - >=sys-devel/flex-2.5.4a-r5 - pwdb? ( >=sys-libs/pwdb-0.62 )" - -# Have python sandbox issues currently ... -# doc? ( app-text/sgmltools-lite ) - -PROVIDE="virtual/pam" - -#inherit needs to be after DEPEND definition to protect RDEPEND -inherit toolchain-funcs eutils flag-o-matic gnuconfig pam - -apply_pam_patches() { - local x= - local y= - local patches="${T}/patches.$$" - - for x in redhat gentoo; do - rm -f "${patches}" - - # Need to be a '| while read x', as some lines may have spaces ... - grep -v '^#' "${S2}/list.${x}-patches" | grep -v '^$' | while read y; do - # Remove the 'Patch[0-9]*: ' from the redhat list - echo "${y}" | sed -e 's|^Patch.*: \(.*\)|\1|' >> "${patches}" - done - for y in $(cat "${patches}"); do - epatch "${S2}/${x}-patches/${y}" - done - done -} - -pkg_setup() { - local x= - - #if use pwdb; then - # for x in libpwdb.a libcrack.a; do - # if [ ! -f "${ROOT}/usr/$(get_libdir)/${x}" ]; then - # eerror "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # die "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # fi - # done - #fi - #if use pam_console; then - # x="libglib-2.0.a" - # if [ ! -f "${ROOT}/usr/$(get_libdir)/${x}" ]; then - # eerror "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # eerror "Please remerge glib-2.6.* to make sure you have static changes." - # die "Could not find /usr/$(get_libdir)/${x} needed to build Linux-PAM!" - # fi - #fi - - return 0 -} - -src_unpack() { - local x= - - unpack ${A} || die "Couldn't unpack ${A}" - - cd ${S} || die - tar --no-same-owner -zxf ${S2}/pam-redhat-${PAM_REDHAT_VER}.tar.gz \ - || die "Couldn't unpack pam-redhat-${PAM_REDHAT_VER}.tar.gz" - # These ones we do not want, or do not work with non RH - rm -rf ${S}/modules/{pam_rps,pam_postgresok} - - apply_pam_patches - - if use selinux; then - epatch ${S2}/gentoo-patches/pam-0.78-selinux.patch - epatch ${S2}/gentoo-patches/pam-0.77-selinux-CAN-2005-2977.patch - fi - - # Check which extra modules should be built - # (Do this after apply_pam_patches(), else some may fail) - for x in pam_chroot pam_console pam_timestamp; do - use "${x}" || rm -rf "${S}/modules/${x}" - done - use berkdb || rm -rf "${S}/modules/pam_userdb" - use pwdb || rm -rf "${S}/modules/pam_pwdb" - use pwdb || rm -rf "${S}/modules/pam_radius" - - for x in $(find ${S} -type f -name 'Makefile*'); do - use nis || sed -i -e 's: -DNIS::g' "${x}" - done - # NIS patch is broken for now - use nis && echo 'NIS=yes' >> "${S}/Make.Rules.in" - - # Fixup libdir for 64bit arches - sed -ie "s:@get_libdir:$(get_libdir):" ${S}/configure.in - - for readme in modules/pam_*/README; do - cp -f "${readme}" doc/txts/README.$(dirname "${readme}" | \ - sed -e 's|^modules/||') - done - - # Bug #80604 (If install-sh do not exist, touch it) - cp /usr/share/automake/install-sh ${S}/ 2>/dev/null || touch install-sh - export WANT_AUTOCONF=2.5 - autoconf || die - - epatch "${FILESDIR}/${P}-inttypes.patch" - epatch "${FILESDIR}/${P}-xauth-path.patch" -} - -src_compile() { - local BDB_DIR="${WORKDIR}/db-${BDB_VER}" - local GLIB_DIR="${WORKDIR}/glib-${GLIB_VER}" - - # Bug #70471 (Compile issues with other locales) - export LANG=C LC_ALL=C - - if use berkdb ; then - einfo "Building Berkley DB ${BDB_VER}..." - cd "${BDB_DIR}/build_unix" || die - - # Pam uses berkdb, which db-4.1.x series can't detect mips64, so we fix it - if use mips ; then - einfo "Updating BDB config.{guess,sub} for mips" - S="${BDB_DIR}/dist" \ - gnuconfig_update - fi - - #echo db_cv_mutex=UNIX/fcntl > config.cache - #./s_config - CFLAGS="${CFLAGS} -fPIC" \ - ../dist/configure \ - --host=${CHOST} \ - --cache-file=config.cache \ - --disable-compat185 \ - --disable-cxx \ - --disable-diagnostic \ - --disable-dump185 \ - --disable-java \ - --disable-rpc \ - --disable-tcl \ - --disable-shared \ - --disable-o_direct \ - --with-pic \ - --with-uniquename=_pam \ - --with-mutex="UNIX/fcntl" \ - --prefix="${S}" \ - --includedir="${S}/include" \ - --libdir="${S}/lib" || die "Bad BDB ./configure" - - # XXX: hack out O_DIRECT support in db4 for now. - # (Done above now with --disable-o_direct now) - - make CC="$(tc-getCC)" || die "BDB build failed" - make install || die - fi - - if use pam_console ; then - einfo "Building GLIB ${GLIB_VER}..." - cd "${GLIB_DIR}" || die - - # The __attribute__((visibility("hidden"))) causes TEXTREL issues - sed -i -s 's:G_GNUC_INTERNAL::g' "${GLIB_DIR}/glib"/*.c - - CFLAGS="${CFLAGS} -fPIC" \ - ./configure \ - --host=${CHOST} \ - --enable-static \ - --disable-shared \ - --with-pic \ - --disable-threads \ - --with-threads=none \ - --prefix="${S}" \ - --includedir="${S}/include" \ - --libdir="${S}/lib" || die "Bad GLIB ./configure" - - # Do not need to build the whole shebang - cd "${GLIB_DIR}/glib" || die - make CC="$(tc-getCC)" || die "GLIB build failed" - make install || die - # Install pkg-config stuff and needed headers - cd "${GLIB_DIR}" || die - make install-pkgconfigDATA install-exec-local || die - fi - - if use berkdb || use pam_console ; then - # Make sure out static libs are used - export CFLAGS="-I${S}/include -Wl,-L${S}/lib ${CFLAGS}" - export LDFLAGS="-L${S}/lib ${LDFLAGS}" - export LIBNAME="lib" - # Make sure pkg-config can find glib even if not installed in system - export PKG_CONFIG_PATH="${S}/lib/pkgconfig:${PKG_CONFIG_PATH}" - fi - - einfo "Building Linux-PAM ${PV}..." - cd ${S} - econf --enable-static-libpam \ - --enable-fakeroot="${D}" \ - --libdir="/$(get_libdir)" \ - --enable-isadir="../../$(get_libdir)/security" \ - || die - - # Python stuff in docs gives sandbox problems - sed -i -e 's|modules doc examples|modules|' Makefile - - # Fix warnings for gcc-2.95.3 - if [[ $(gcc-version) = "2.95" ]] ; then - sed -i -e "s:-Wpointer-arith::" Make.Rules - fi - - if ! use berkdb ; then - # Do not build pam_userdb.so ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - -e "s:^HAVE_LIBDB=yes:HAVE_LIBDB=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" \ - -e "s:^#define HAVE_DB_H.*$:/* #undef HAVE_DB_H */:" \ - _pam_aconf.h - - else - # Do not link pam_userdb.so to db-1.85 ... - sed -i -e "s:^HAVE_NDBM_H=yes:HAVE_NDBM_H=no:" \ - -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \ - Make.Rules - - # Also edit the configuration file else the wrong include files - # get used - sed -i -e "s:^#define HAVE_NDBM_H.*$:/* #undef HAVE_NDBM_H */:" \ - _pam_aconf.h - fi - - make CC="$(tc-getCC)" || die "PAM build failed" -} - -src_install() { - local x= - - einfo "Installing Linux-PAM ${PV}..." - 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. - einfo "Checking if all modules were built..." - for x in ${S}/modules/pam_*; do - if [[ -d ${x} ]] ; then - local mod_name=$(basename "${x}") - local sec_dir="${D}/$(get_libdir)/security" - - if ! ls -1 "${sec_dir}/${mod_name}"*.so &> /dev/null ; then - echo - eerror "ERROR: ${mod_name} module did not build." - echo - die "${mod_name} module did not build." - fi - if [[ -n $(ldd "${sec_dir}/${mod_name}"*.so 2>&1 | \ - grep "/usr/lib/" | \ - grep "/usr/$(get_libdir)/" | \ - grep -v "/usr/lib/gcc" | \ - grep -v "/usr/$(get_libdir)/gcc" | \ - grep -v "libsandbox") ]] ; then - echo - eerror "ERROR: ${mod_name} have dependencies in /usr." - echo - die "${mod_name} have dependencies in /usr." - fi - fi - done - - dodir /usr/$(get_libdir) - cd ${D}/$(get_libdir) - 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 - mv lib${x}.a ${D}/usr/$(get_libdir) - # See bug #4411 - gen_usr_ldscript lib${x}.so - done - - cd ${S} - - # need this for pam_console - keepdir /var/run/console - - for x in ${FILESDIR}/pam.d/*; do - [[ -f ${x} ]] && dopamd ${x} - done - - # Only add this one if needed. - if [[ ${FORCE_SYSTEMAUTH_UPDATE} = "yes" ]] ; then - newpamd ${FILESDIR}/pam.d/system-auth system-auth.new || \ - die "Failed to install system-auth.new!" - fi - - insinto /etc/security - doins ${FILESDIR}/pam_env.conf - doman doc/man/*.[0-9] - - dodoc CHANGELOG Copyright README - docinto modules ; dodoc modules/README ; dodoc doc/txts/README.* - # Install our own README.pam_console - docinto ; dodoc ${FILESDIR}/README.pam_console - docinto txt ; dodoc doc/specs/*.txt #doc/txts/*.txt -# docinto print ; dodoc doc/ps/*.ps - -# docinto html -# dohtml -r doc/html/ -} - -pkg_postinst() { - echo - einfo "If you have sshd running, please restart it to avoid possible login issues." - echo - ebeep - sleep 3 - - if [[ ${FORCE_SYSTEMAUTH_UPDATE} = "yes" ]] ; then - 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}" ]] ; 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 -pPR ${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 - fi - - if use pam_console; then - echo - einfo "If you want to enable the pam_console module, please follow" - einfo "the instructions in /usr/share/doc/${PF}/README.pam_console." - echo - fi -} |