summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2010-03-10 16:04:08 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2010-03-10 16:04:08 +0000
commit3d23c18d44278c7fe9a84661ada17caaccebfb47 (patch)
tree659a588b56a434ee22412e524d7304da6e504be3
parentBlock the newest PAM ebuilds as berkdb is getting merged in. (diff)
downloadhistorical-3d23c18d44278c7fe9a84661ada17caaccebfb47.tar.gz
historical-3d23c18d44278c7fe9a84661ada17caaccebfb47.tar.bz2
historical-3d23c18d44278c7fe9a84661ada17caaccebfb47.zip
Merge back pam_userdb support into the main PAM ebuild. This time link against the shared, installed libraries of Berkeley DB, even though they might not be available at boot. Describe berkdb and cracklib USE flags in the metadata file.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
-rw-r--r--sys-libs/pam/ChangeLog11
-rw-r--r--sys-libs/pam/Manifest16
-rw-r--r--sys-libs/pam/files/Linux-PAM-1.1.1-gentoodb.patch20
-rw-r--r--sys-libs/pam/metadata.xml32
-rw-r--r--sys-libs/pam/pam-1.1.1-r1.ebuild160
5 files changed, 229 insertions, 10 deletions
diff --git a/sys-libs/pam/ChangeLog b/sys-libs/pam/ChangeLog
index 46d180723e08..7bd07eb00190 100644
--- a/sys-libs/pam/ChangeLog
+++ b/sys-libs/pam/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-libs/pam
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.255 2010/01/24 18:27:13 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.256 2010/03/10 16:04:07 flameeyes Exp $
+
+*pam-1.1.1-r1 (10 Mar 2010)
+
+ 10 Mar 2010; Diego E. Pettenò <flameeyes@gentoo.org>
+ +pam-1.1.1-r1.ebuild, +files/Linux-PAM-1.1.1-gentoodb.patch, metadata.xml:
+ Merge back pam_userdb support into the main PAM ebuild. This time link
+ against the shared, installed libraries of Berkeley DB, even though they
+ might not be available at boot. Describe berkdb and cracklib USE flags in
+ the metadata file.
24 Jan 2010; Raúl Porcel <armin76@gentoo.org> pam-1.1.0.ebuild:
ia64/s390/sh/sparc stable wrt #284087
diff --git a/sys-libs/pam/Manifest b/sys-libs/pam/Manifest
index 0f28339cd808..86588d9b15fa 100644
--- a/sys-libs/pam/Manifest
+++ b/sys-libs/pam/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX Linux-PAM-0.99.7.0-disable-regenerate-man.patch 667 RMD160 ad4b61f010ec6f3e8bd9ff137375c64ec594f438 SHA1 7b578fedf5ee73f82575feadfeea7a8d5b98bda0 SHA256 e4deb0732039dd29774248bb33271d578c69b76f86c015e8ffd296fa2bb6be3b
AUX Linux-PAM-0.99.8.1-xtests.patch 726 RMD160 4740f7039305c2520add212a576c9f16eb6c0db9 SHA1 716cd42c4c785db666b6c9911222760285a79e8f SHA256 6dbbadc4d9a5d08e55b381746dffd501bdd7dc07fdcb741b8ac95df07d5e1223
AUX Linux-PAM-1.0.2-noyp.patch 7368 RMD160 6b5b2096670775cb0425ecbc46c33370fbe5bb55 SHA1 1225c8db75a4830767fbb0cbf8d89e4209651810 SHA256 a4c848f42bc8318344514de319473d2fce5d7e7c7ba5d4a03d60545c643b6425
@@ -5,6 +8,7 @@ AUX Linux-PAM-1.0.4-fix-tests.patch 377 RMD160 8e8a27b78f02e4f8ed7e69f150e3ce5d4
AUX Linux-PAM-1.1.0-debug.patch 565 RMD160 545e499fa45d7ec568387f4ee4fd8474cbfb3210 SHA1 31ee0fab111e55e6df270bb0483ef586d3177472 SHA256 8452c6397bb7dcbd1b7f9dd87c4021014d70adf0ceba6326c7428937503db3e9
AUX Linux-PAM-1.1.0-nonls.patch 367 RMD160 80ff3ce536e3bf3cb4e4448bf1062972b2b143bf SHA1 f67af3138312092514f61212073392779084d877 SHA256 7777ca2a86e716ee4cc5b2059d45bd526d8d887a81f5ec083a59076245c4a429
AUX Linux-PAM-1.1.0-uclibc.patch 2643 RMD160 4294e27b8d90d8d9ee93c427d7eaf8af419f72f6 SHA1 aae4eb27892e1671c34d045a2d596d834aeb95e5 SHA256 b20ff20402778ff174694fe059afeecc6e8df8266d8ecae30419c7c930ffa5ae
+AUX Linux-PAM-1.1.1-gentoodb.patch 1145 RMD160 a9f8a6adf67f4804eaf0dab51d48545bf2ab41cf SHA1 48b08cccd47f1fe63d3ac9c048e071c9955bf657 SHA256 7cbb9477d9a83b642e9f2a5e4d9be7c0831b7d131890482c623e08a2193beadc
DIST Linux-PAM-1.0.4.tar.bz2 1004979 RMD160 8eacf6344663c0ce2f42d374d82d717211ca10e5 SHA1 60146a363b653324d4477dce4a3e999834a2d713 SHA256 13136d438f5748d08dcb2227e44e53a3c611351b96e11891052e0c8c2557f3ca
DIST Linux-PAM-1.1.0-docs.tar.bz2 494697 RMD160 324f4cdabbaaa85ac5afca9babea1bfe21e32285 SHA1 56cdc680d48a3dc1ffbd9becb855a4724d5f39ad SHA256 7d8e4455cf44937ccc0c7fb370d469c9bef33c68979b23f706fb37727bf8812b
DIST Linux-PAM-1.1.0.tar.bz2 1106379 RMD160 b57473ac39ef5c5ec22459e78e00abdbead396e5 SHA1 1ef5b91bf483ecf31e8f07c3c0322b397b13af70 SHA256 139b1abb0f1c402e443ad9083b5ff0512f4a5ae7bc806528e9d7eced13384ed7
@@ -12,6 +16,14 @@ DIST Linux-PAM-1.1.1-docs.tar.bz2 495534 RMD160 182639c3fa79c96dbc263f2d16346345
DIST Linux-PAM-1.1.1.tar.bz2 1120055 RMD160 2d3c39cb2c3542d380e1331fef08c7086cc829d9 SHA1 8baf11b04396230ba7cf8b2bfb2d2bd75aab8fa6 SHA256 608d3eb9d7a5e1a7505fff62e6a583fdb6e52dc05bf54dc9661c5f395b1fb904
EBUILD pam-1.0.4.ebuild 5778 RMD160 cc4dc0e2c775d5a1ade189654b4a8d2614e9e2ec SHA1 f51fcb9195440795755227b704e5a32ba7ce720c SHA256 89c7add87128c0e1089ddc93074f615f08e49f19fcde8d8ffe71de85e9ea00af
EBUILD pam-1.1.0.ebuild 4911 RMD160 86cfa5eaca074ae876bc400ba2bac9f8d3082025 SHA1 016a2ac400f6902ab3567237223df54c9486c4cd SHA256 b87c7ce54a38611a884d272e0b925e7049d4cb1609ec8d31de971c261947ddcb
+EBUILD pam-1.1.1-r1.ebuild 4949 RMD160 4d401000d0f5121cbede80d82f2f7bc449f7e001 SHA1 235719e53d80252c520b59e6ba7d77cfac5e9603 SHA256 89c9bff232de9797d870cc161c3a800c246d3a6a998b8bd40cfe3c9afd36c436
EBUILD pam-1.1.1.ebuild 4773 RMD160 71c0046202e92c8c4eab14116bcbb0b72a8bce54 SHA1 11125dd3db0fbd65d12e7bc413d5d5ecc75b1f32 SHA256 21b5341e6c8d90c8b1468d53c18eb3e28c9936c8bdae31ac57b5858903d0dc08
-MISC ChangeLog 40709 RMD160 0f76ab0cc8dea193edd1b1fee48b45d6b3240b28 SHA1 181665ce9786ff87be7701869e6cc57e8dae12ee SHA256 d2948dc35942d6edaa6c1858f41c732d9aedaa1859b46242b06d1ace39ed8d8c
-MISC metadata.xml 306 RMD160 d8d5dbaaf990cfc32c5294d2d63234ed4da3bff2 SHA1 5d66f934ae3ebd65dca4c3c3a6d7cb318c9b00d9 SHA256 eb34afcf75eebf8d17686d207e1196d8c00a2be82d0225c2d0e68a8dc71b13f5
+MISC ChangeLog 41119 RMD160 1a7bf28c79c7b2e7aba0742c2f30a5e05125d96b SHA1 e36d59e2ba6d7d738ed1c2f9007a874baf6b6cf4 SHA256 aa06cc7c424468a60d81d3169caead8d8573c84e7b462b634dbaa0f4b6a20d4b
+MISC metadata.xml 1129 RMD160 a800f5ac4255ca20c26791ff0b57c3c923666623 SHA1 99e58550271cf1c3e23c4547387469a0d211ae55 SHA256 e160643aca26e0418b31429836ae1b4c673474cd6130b7e2ac0d0bf41380df0b
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAkuXwwEACgkQAiZjviIA2XiShgCeO5pUkxSSDGhXSpIsPRL5gYEs
+hQwAoK8dpbjgW9e7DYFfQH/dE24iQ9qD
+=8oNd
+-----END PGP SIGNATURE-----
diff --git a/sys-libs/pam/files/Linux-PAM-1.1.1-gentoodb.patch b/sys-libs/pam/files/Linux-PAM-1.1.1-gentoodb.patch
new file mode 100644
index 000000000000..0334496b9902
--- /dev/null
+++ b/sys-libs/pam/files/Linux-PAM-1.1.1-gentoodb.patch
@@ -0,0 +1,20 @@
+Index: Linux-PAM-1.1.1/configure.in
+===================================================================
+--- Linux-PAM-1.1.1.orig/configure.in
++++ Linux-PAM-1.1.1/configure.in
+@@ -389,10 +389,11 @@ AC_ARG_WITH([db-uniquename],
+ AS_HELP_STRING([--with-db-uniquename=extension],[Unique name for db libraries and functions.]))
+ if test x"$WITH_DB" != xno ; then
+ if test x"$WITH_DB" = xyes -o x"$WITH_DB" = xdb ; then
+- AC_CHECK_LIB([db$with_db_uniquename], [db_create$with_db_uniquename], LIBDB="-ldb$with_db_uniquename", LIBDB="")
+- if test -z "$LIBDB" ; then
+- AC_CHECK_LIB([db$with_db_uniquename], [dbm_store$with_db_uniquename], LIBDB="-ldb$with_db_uniquename", LIBDB="")
+- fi
++ old_libs=$LIBS
++ LIBS="$LIBS -ldb$with_db_uniquename"
++ AC_CHECK_FUNCS([db_create$with_db_uniquename db_create dbm_store$with_db_uniquename dbm_store],
++ [LIBDB="-ldb$with_db_uniquename"; break])
++ LIBS=$old_libs
+ fi
+ if test -z "$LIBDB" ; then
+ AC_CHECK_LIB([ndbm],[dbm_store], LIBDB="-lndbm", LIBDB="")
diff --git a/sys-libs/pam/metadata.xml b/sys-libs/pam/metadata.xml
index b5cb4a1d8de3..e5b58f549155 100644
--- a/sys-libs/pam/metadata.xml
+++ b/sys-libs/pam/metadata.xml
@@ -1,11 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>pam</herd>
-<maintainer>
-<email>pam-bugs@gentoo.org</email>
-</maintainer>
-<use>
- <flag name='audit'>Enable support for <pkg>sys-process/audit</pkg></flag>
-</use>
+ <herd>pam</herd>
+ <maintainer>
+ <email>pam-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name='audit'>Enable support for <pkg>sys-process/audit</pkg></flag>
+
+ <flag name="berkdb">
+ Build the pam_userdb module, that allows to authenticate users
+ against a Berkeley DB file. Please note that enabling this USE
+ flag will create a PAM module that links to the Berkeley DB (as
+ provided by <pkg>sys-libs/db</pkg>) installed in /usr/lib and
+ will thus not work for boot-critical services authentication.
+ </flag>
+
+ <flag name="cracklib">
+ Build the pam_cracklib module, that allows to verify the chosen
+ passwords' strength through the use of
+ <pkg>sys-libs/cracklib</pkg>. Please note that simply enabling
+ the USE flag on this package will not make use of pam_cracklib
+ by default, you should also enable it in
+ <pkg>sys-auth/pambase</pkg> as well as update your configuration
+ files.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/sys-libs/pam/pam-1.1.1-r1.ebuild b/sys-libs/pam/pam-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..275631b254b3
--- /dev/null
+++ b/sys-libs/pam/pam-1.1.1-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-1.1.1-r1.ebuild,v 1.1 2010/03/10 16:04:07 flameeyes Exp $
+
+inherit libtool multilib eutils autotools pam toolchain-funcs flag-o-matic db-use
+
+MY_PN="Linux-PAM"
+MY_P="${MY_PN}-${PV}"
+
+HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/"
+DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)"
+
+SRC_URI="mirror://kernel/linux/libs/pam/library/${MY_P}.tar.bz2
+ mirror://kernel/linux/libs/pam/documentation/${MY_P}-docs.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="cracklib nls elibc_FreeBSD selinux vim-syntax audit test elibc_glibc debug berkdb"
+
+RDEPEND="nls? ( virtual/libintl )
+ cracklib? ( >=sys-libs/cracklib-2.8.3 )
+ audit? ( sys-process/audit )
+ selinux? ( >=sys-libs/libselinux-1.28 )
+ berkdb? ( sys-libs/db )
+ elibc_glibc? ( >=sys-libs/glibc-2.7 )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ nls? ( sys-devel/gettext )"
+PDEPEND="sys-auth/pambase
+ vim-syntax? ( app-vim/pam-syntax )"
+RDEPEND="${RDEPEND}
+ !sys-auth/pam_userdb"
+
+S="${WORKDIR}/${MY_P}"
+
+PROVIDE="virtual/pam"
+
+check_old_modules() {
+ local retval="0"
+
+ if sed -e 's:#.*::' "${ROOT}"/etc/pam.d/* 2>/dev/null | fgrep -q pam_stack.so; then
+ eerror ""
+ eerror "Your current setup is using the pam_stack module."
+ eerror "This module is deprecated and no longer supported, and since version"
+ eerror "0.99 is no longer installed, nor provided by any other package."
+ eerror "The package will be built (to allow binary package builds), but will"
+ eerror "not be installed."
+ eerror "Please replace pam_stack usage with proper include directive usage,"
+ eerror "following the PAM Upgrade guide at the following URL"
+ eerror " http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml"
+ eerror ""
+ ebeep 15
+
+ retval=1
+ fi
+
+ if sed -e 's:#.*::' "${ROOT}"/etc/pam.d/* 2>/dev/null | egrep -q 'pam_(pwdb|console)'; then
+ eerror ""
+ eerror "Your current setup is using one or more of the following modules,"
+ eerror "that are not built or supported anymore:"
+ eerror "pam_pwdb, pam_console"
+ eerror "If you are in real need for these modules, please contact the maintainers"
+ eerror "of PAM through http://bugs.gentoo.org/ providing information about its"
+ eerror "use cases."
+ eerror "Please also make sure to read the PAM Upgrade guide at the following URL:"
+ eerror " http://www.gentoo.org/proj/en/base/pam/upgrade-0.99.xml"
+ eerror ""
+ ebeep 10
+
+ retval=1
+ fi
+
+ return $retval
+}
+
+pkg_setup() {
+ check_old_modules
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Avoid building xtests during "make all"; note that for what
+ # we're concerned xtests are not even executed, so we should
+ # probably use EXTRA_PROGRAMS.
+ epatch "${FILESDIR}/${MY_PN}-0.99.8.1-xtests.patch"
+
+ # Fix building on uClibc; it is added since 1.1.1 but applies to
+ # 1.1.0 as well.
+ epatch "${FILESDIR}/${MY_PN}-1.1.0-uclibc.patch"
+
+ # Fix tests to find Berkeley DB as installed by Gentoo (with a
+ # library suffix but no suffix on the ELF symbols).
+ epatch "${FILESDIR}/${MY_PN}-1.1.1-gentoodb.patch"
+
+ # Remove libtool-2 libtool macros, see bug 261167
+ rm m4/libtool.m4 m4/lt*.m4 || die "rm libtool macros failed."
+
+ AT_M4DIR="m4" eautoreconf
+
+ elibtoolize
+}
+
+src_compile() {
+ local myconf
+
+ if use hppa || use elibc_FreeBSD; then
+ myconf="${myconf} --disable-pie"
+ fi
+
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ --docdir=/usr/share/doc/${PF} \
+ --htmldir=/usr/share/doc/${PF}/html \
+ --enable-securedir=/$(get_libdir)/security \
+ --enable-isadir=/$(get_libdir)/security \
+ $(use_enable nls) \
+ $(use_enable selinux) \
+ $(use_enable cracklib) \
+ $(use_enable audit) \
+ $(use_enable debug) \
+ $(use_enable berkdb db) \
+ --with-db-uniquename=-$(db_findver sys-libs/db) \
+ --disable-dependency-tracking \
+ --disable-prelude \
+ ${myconf} || die "econf failed"
+ emake sepermitlockdir="/var/run/sepermit" || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install \
+ sepermitlockdir="/var/run/sepermit" || die "make install failed"
+
+ # Need to be suid
+ fperms u+s /sbin/unix_chkpwd
+
+ dodir /$(get_libdir)
+ mv "${D}/usr/$(get_libdir)/libpam.so"* "${D}/$(get_libdir)/"
+ mv "${D}/usr/$(get_libdir)/libpamc.so"* "${D}/$(get_libdir)/"
+ mv "${D}/usr/$(get_libdir)/libpam_misc.so"* "${D}/$(get_libdir)/"
+ gen_usr_ldscript libpam.so libpamc.so libpam_misc.so
+
+ dodoc CHANGELOG ChangeLog README AUTHORS Copyright NEWS || die
+
+ docinto modules
+ for dir in modules/pam_*; do
+ newdoc "${dir}"/README README."$(basename "${dir}")"
+ done
+
+ # Get rid of the .la files. We certainly don't need them for PAM
+ # modules, and libpam is installed as a shared object only, so we
+ # don't ned them for static linking either.
+ find "${D}" -name '*.la' -delete
+}
+
+pkg_preinst() {
+ check_old_modules || die "deprecated PAM modules still used"
+}