summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2006-07-01 19:27:06 +0000
committerMartin Schlemmer <azarah@gentoo.org>2006-07-01 19:27:06 +0000
commit0fe00b6f3be9bdbe2475a7345254c51940ebe9e4 (patch)
treecf80a667a6724366623dfc33cd2f3511aa3bd574 /sys-libs
parentAdded avahi howl and meanwhile support. (diff)
downloadhistorical-0fe00b6f3be9bdbe2475a7345254c51940ebe9e4.tar.gz
historical-0fe00b6f3be9bdbe2475a7345254c51940ebe9e4.tar.bz2
historical-0fe00b6f3be9bdbe2475a7345254c51940ebe9e4.zip
Build pam_userdb against internal db again. Add module checks that no
dependencies are in /usr lib back. Enable building of documentation. Varios patches from Fedora. Package-Manager: portage-2.1.1_pre1-r5
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/pam/ChangeLog9
-rw-r--r--sys-libs/pam/files/digest-pam-0.78-r32
-rw-r--r--sys-libs/pam/files/digest-pam-0.99.5.0-r19
-rw-r--r--sys-libs/pam/pam-0.99.5.0-r1.ebuild202
4 files changed, 221 insertions, 1 deletions
diff --git a/sys-libs/pam/ChangeLog b/sys-libs/pam/ChangeLog
index a0a1e1fd2e74..8b78649c735a 100644
--- a/sys-libs/pam/ChangeLog
+++ b/sys-libs/pam/ChangeLog
@@ -1,6 +1,13 @@
# 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.109 2006/06/28 13:27:41 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/ChangeLog,v 1.110 2006/07/01 19:27:06 azarah Exp $
+
+*pam-0.99.5.0-r1 (01 Jul 2006)
+
+ 01 Jul 2006; Martin Schlemmer <azarah@gentoo.org> +pam-0.99.5.0-r1.ebuild:
+ Build pam_userdb against internal db again. Add module checks that no
+ dependencies are in /usr lib back. Enable building of documentation. Varios
+ patches from Fedora.
*pam-0.99.5.0 (28 Jun 2006)
diff --git a/sys-libs/pam/files/digest-pam-0.78-r3 b/sys-libs/pam/files/digest-pam-0.78-r3
index c2809d524099..0e4352ed9832 100644
--- a/sys-libs/pam/files/digest-pam-0.78-r3
+++ b/sys-libs/pam/files/digest-pam-0.78-r3
@@ -8,3 +8,5 @@ MD5 777d2e34a60edad28319207b576cda91 glib-2.6.5.tar.bz2 2357089
RMD160 6ccdfed7ea5621b7c69c436c3b8b5fbba44dc62e glib-2.6.5.tar.bz2 2357089
SHA256 ca061bbd41c6484b4b0eabbee08f99e51ebf5f3a0c63e8b0787b8d37546cc2ca glib-2.6.5.tar.bz2 2357089
MD5 c7b9d6d52902ead5f4c10c277e441f30 pam-0.78-patches-1.3.tar.bz2 87223
+RMD160 82f6f63de5209e26119ed430e80669f6306cd9ea pam-0.78-patches-1.3.tar.bz2 87223
+SHA256 ca6882263a474ed77a343572a6a30fa59d677929543feb72cb0801b3bfdc8266 pam-0.78-patches-1.3.tar.bz2 87223
diff --git a/sys-libs/pam/files/digest-pam-0.99.5.0-r1 b/sys-libs/pam/files/digest-pam-0.99.5.0-r1
new file mode 100644
index 000000000000..c738a1cf49d4
--- /dev/null
+++ b/sys-libs/pam/files/digest-pam-0.99.5.0-r1
@@ -0,0 +1,9 @@
+MD5 dbc8608b2a9bc6b8cf50dd1fbc68cf3b Linux-PAM-0.99.5.0.tar.bz2 849840
+RMD160 96422738bc63f9c884f8f40d48893984d2a13f58 Linux-PAM-0.99.5.0.tar.bz2 849840
+SHA256 550da8b4d049594e95e8a5157dc591b44114e70aff1ad1a153444982784359e3 Linux-PAM-0.99.5.0.tar.bz2 849840
+MD5 13585a20ce32f113b8e8cdb57f52e3bb db-4.3.29.tar.gz 6103264
+RMD160 fac910828a74087124e9cc3cad99c6a6dc88c14b db-4.3.29.tar.gz 6103264
+SHA256 db3e762d819f9a31bc4ebf5ecada53e9787aeb26fc92fa6064b2ba57df806af4 db-4.3.29.tar.gz 6103264
+MD5 e977719bc69eeb11406363a1d8399a60 pam-0.99.5.0-patches-1.0.tar.bz2 8257
+RMD160 6e60a966eeb5e350aabf9b09e4ba47547002b54b pam-0.99.5.0-patches-1.0.tar.bz2 8257
+SHA256 5cea47bfd3b14111a69012d25a13c3ace42bb8fc15d352ee8062c21fed04e696 pam-0.99.5.0-patches-1.0.tar.bz2 8257
diff --git a/sys-libs/pam/pam-0.99.5.0-r1.ebuild b/sys-libs/pam/pam-0.99.5.0-r1.ebuild
new file mode 100644
index 000000000000..b9305cbe1fe0
--- /dev/null
+++ b/sys-libs/pam/pam-0.99.5.0-r1.ebuild
@@ -0,0 +1,202 @@
+# 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.99.5.0-r1.ebuild,v 1.1 2006/07/01 19:27:06 azarah Exp $
+
+inherit libtool multilib eutils autotools pam toolchain-funcs gnuconfig
+
+P_VER="1.0"
+# 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.
+BDB_VER="4.3.29"
+
+MY_P="Linux-PAM-${PV}"
+
+HOMEPAGE="http://www.kernel.org/pub/linux/libs/pam/"
+DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)"
+
+SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/${MY_P}.tar.bz2
+ berkdb? ( http://downloads.sleepycat.com/db-${BDB_VER}.tar.gz )
+ mirror://gentoo/${P}-patches-${P_VER}.tar.bz2
+ http://dev.gentoo.org/~azarah/pam/${P}-patches-${P_VER}.tar.bz2"
+
+LICENSE="PAM"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="berkdb doc nls selinux"
+
+DEPEND="nls? ( sys-devel/gettext )
+ doc? ( app-text/ghostscript
+ app-text/tetex
+ >=app-text/linuxdoc-tools-0.9.21_p4
+ www-client/w3m
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd )"
+RDEPEND="nls? ( virtual/libintl )
+ >=sys-libs/cracklib-2.8.3
+ selinux? ( >=sys-libs/libselinux-1.28 )
+ berkdb? ( >=sys-libs/db-${BDB_VER} )"
+DEPEND="${DEPEND} ${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+RESTRICT="confcache"
+
+PROVIDE="virtual/pam"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+
+ for readme in modules/pam_*/README; do
+ cp -f "${readme}" doc/txts/README.$(dirname "${readme}" | \
+ sed -e 's|^modules/||')
+ done
+
+ # Not sure if this should be applied
+ rm -f "${WORKDIR}/patch/*_all_0.99.5.0-selinux-drop-multiple.patch.bz2"
+ epatch "${WORKDIR}/patch"
+ AT_M4DIR="m4" eautoreconf
+
+ #elibtoolize
+}
+
+src_compile() {
+ local myconf
+ local BDB_DIR="${WORKDIR}/db-${BDB_VER}"
+
+ # If docs fails to generate with the following type of errors:
+ #
+ # /usr/bin/nsgmls:.*:E: "X0393" is not a function name
+ #
+ # then its is probably sgml-common that did not add all its on catalogs
+ # properly, namely:
+ #
+ # /usr/share/sgml/sgml-iso-entities-8879.1986/catalog
+ #
+ if ! use doc ; then
+ export SGML2PS=no
+ export SGML2TXT=no
+ export SGML2HTML=no
+ export SGML2LATEX=no
+ export PS2PDF=no
+ fi
+
+ if use hppa || use elibc_FreeBSD; then
+ myconf="${myconf} --disable-pie"
+ fi
+
+ # BDB is internalized to get a non-threaded lib for pam_userdb.so to
+ # be built with. To demand-load a shared library which uses threads
+ # into an application which doesn't is a Very Bad Idea!
+ 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
+
+ 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
+
+ # We link against libdb_pam (*-dbpam.patch), else stupid libtool goes
+ # and relinks it during install to libdb in /usr/lib
+ cp -f "${S}/lib/libdb.a" "${S}/lib/libdb_pam.a"
+
+ # Make sure out static libs are used
+ export CFLAGS="-I${S}/include ${CFLAGS}"
+ export LDFLAGS="-L${S}/lib ${LDFLAGS}"
+ cd ${S}
+ fi
+
+ econf \
+ $(use_enable nls) \
+ --enable-securedir=/$(get_libdir)/security \
+ --enable-isadir=/$(get_libdir)/security \
+ --disable-dependency-tracking \
+ --disable-prelude \
+ --enable-docdir=/usr/share/doc/${PF} \
+ $(use_enable selinux selinux) \
+ ${myconf} || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ # 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 module dependencies..."
+ for x in "${D}/$(get_libdir)/security/"pam_*.so; do
+ if [[ -n $(ldd "${x}" 2>&1 | \
+ grep "\/usr\/\(lib\|$(get_libdir)\)\/" | \
+ grep -v "\/usr\/\(lib\|$(get_libdir)\)\/gcc" | \
+ grep -v "libsandbox") ]] ; then
+ local mod_name=$(basename "${x}")
+
+ echo
+ eerror "ERROR: ${mod_name} have dependencies in /usr."
+ echo
+ die "${mod_name} have dependencies in /usr."
+ fi
+ done
+
+ 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
+
+ # No, we don't really need .la files for PAM modules.
+ rm -f "${D}/$(get_libdir)/security/"*.la
+
+ use berkdb || rm -f "${D}/$(get_libdir)/security/pam_userdb*"
+ use selinux || rm -f "${D}/$(get_libdir)/security/pam_selinux*"
+
+ dodoc CHANGELOG ChangeLog README AUTHORS Copyright
+ docinto modules ; dodoc doc/txts/README.*
+
+ for x in "${FILESDIR}/pam.d/"*; do
+ [[ -f "${x}" ]] && dopamd "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn " "
+ ewarn "Pay attention! This ebuild is still highly experimental. Don't use"
+ ewarn "in production environments. We don't guarrantee it's working at all."
+ ewarn "Please also note that RedHat patches are not applied, thus stuff"
+ ewarn "like pam_stack is not present at this time."
+ ewarn " "
+}