diff options
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/pam/ChangeLog | 9 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.78-r3 | 2 | ||||
-rw-r--r-- | sys-libs/pam/files/digest-pam-0.99.5.0-r1 | 9 | ||||
-rw-r--r-- | sys-libs/pam/pam-0.99.5.0-r1.ebuild | 202 |
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 " " +} |