summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-10-04 08:34:40 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-10-04 08:34:40 +0000
commit6e083bb3290c3628d73d79ee0620c8df0b26d908 (patch)
treee1759bcf9f5b534f45398b73f0de6b1d128c0030 /sys-auth/pam_userdb
parentreverting to ~amd64 as there are still critical bugs (diff)
downloadgentoo-2-6e083bb3290c3628d73d79ee0620c8df0b26d908.tar.gz
gentoo-2-6e083bb3290c3628d73d79ee0620c8df0b26d908.tar.bz2
gentoo-2-6e083bb3290c3628d73d79ee0620c8df0b26d908.zip
Re-add support for building berkdb statically.
(Portage version: 2.1.2_pre2-r2)
Diffstat (limited to 'sys-auth/pam_userdb')
-rw-r--r--sys-auth/pam_userdb/ChangeLog6
-rw-r--r--sys-auth/pam_userdb/files/Linux-PAM-0.99.6.3-berkdbpam.patch14
-rw-r--r--sys-auth/pam_userdb/files/digest-pam_userdb-0.99.6.33
-rw-r--r--sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild62
4 files changed, 81 insertions, 4 deletions
diff --git a/sys-auth/pam_userdb/ChangeLog b/sys-auth/pam_userdb/ChangeLog
index 8eb58a4acb1d..0854596606a6 100644
--- a/sys-auth/pam_userdb/ChangeLog
+++ b/sys-auth/pam_userdb/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-auth/pam_userdb
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_userdb/ChangeLog,v 1.1 2006/10/04 07:29:41 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_userdb/ChangeLog,v 1.2 2006/10/04 08:34:40 flameeyes Exp $
+
+ 04 Oct 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/Linux-PAM-0.99.6.3-berkdbpam.patch, pam_userdb-0.99.6.3.ebuild:
+ Re-add support for building berkdb statically.
*pam_userdb-0.99.6.3 (04 Oct 2006)
diff --git a/sys-auth/pam_userdb/files/Linux-PAM-0.99.6.3-berkdbpam.patch b/sys-auth/pam_userdb/files/Linux-PAM-0.99.6.3-berkdbpam.patch
new file mode 100644
index 000000000000..b42c4e9a4ee7
--- /dev/null
+++ b/sys-auth/pam_userdb/files/Linux-PAM-0.99.6.3-berkdbpam.patch
@@ -0,0 +1,14 @@
+--- Linux-PAM-0.99.5.0/configure.in 2006-07-01 16:21:41.000000000 +0200
++++ Linux-PAM-0.99.5.0.az/configure.in 2006-07-01 16:22:03.000000000 +0200
+@@ -331,9 +331,9 @@
+
+ dnl check for libdb or libndbm as fallback. Some libndbm compat
+ dnl libraries are unuseable, so try libdb first.
+-AC_CHECK_LIB([db], [db_create], LIBDB="-ldb", LIBDB="")
++AC_CHECK_LIB([db_pam], [db_create_pam], LIBDB="-ldb_pam", LIBDB="")
+ if test -z "$LIBDB" ; then
+- AC_CHECK_LIB([db], [dbm_store], LIBDB="-ldb", LIBDB="")
++ AC_CHECK_LIB([db_pam], [dbm_store_pam], LIBDB="-ldb_pam", LIBDB="")
+ fi
+ if test -z "$LIBDB" ; then
+ AC_CHECK_LIB([ndbm],[dbm_store], LIBDB="-lndbm", LIBDB="")
diff --git a/sys-auth/pam_userdb/files/digest-pam_userdb-0.99.6.3 b/sys-auth/pam_userdb/files/digest-pam_userdb-0.99.6.3
index 48bbbcaac6a2..f293a5c1b81a 100644
--- a/sys-auth/pam_userdb/files/digest-pam_userdb-0.99.6.3
+++ b/sys-auth/pam_userdb/files/digest-pam_userdb-0.99.6.3
@@ -1,3 +1,6 @@
MD5 4c2830ed55a41e795af6a482009a036c Linux-PAM-0.99.6.3.tar.bz2 863340
RMD160 9c02478d0b5fe5af72b736a64ede6b09618c98e0 Linux-PAM-0.99.6.3.tar.bz2 863340
SHA256 8468b0fd062cead62a66a048280d28ed70420eefc55b5c9a3fdb361891f2ccd4 Linux-PAM-0.99.6.3.tar.bz2 863340
+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
diff --git a/sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild b/sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild
index beaa18998c1c..255e871e1bc0 100644
--- a/sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild
+++ b/sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild
@@ -1,15 +1,24 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild,v 1.1 2006/10/04 07:29:41 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_userdb/pam_userdb-0.99.6.3.ebuild,v 1.2 2006/10/04 08:34:40 flameeyes Exp $
-inherit libtool multilib eutils pam
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+
+inherit libtool multilib eutils pam autotools toolchain-funcs flag-o-matic
+
+# 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 pam_userdb (Berkeley DB) module"
-SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/${MY_P}.tar.bz2"
+SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/${MY_P}.tar.bz2
+ http://downloads.sleepycat.com/db-${BDB_VER}.tar.gz"
LICENSE="PAM"
SLOT="0"
@@ -20,6 +29,8 @@ RDEPEND="nls? ( virtual/libintl )
>=sys-libs/pam-0.99.6.3-r1"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
+RDEPEND="${RDEPEND}
+ berkdb? ( >=sys-libs/db-${BDB_VER} )"
S="${WORKDIR}/${MY_P}"
@@ -29,6 +40,9 @@ src_unpack() {
unpack ${A}
cd "${S}"
+ epatch "${FILESDIR}/${MY_P}-berkdbpam.patch"
+ AT_M4DIR="m4" eautoreconf
+
elibtoolize
}
@@ -46,6 +60,48 @@ src_compile() {
myconf="${myconf} --disable-pie"
fi
+ local BDB_DIR="${WORKDIR}/db-${BDB_VER}"
+
+ # 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!
+ einfo "Building Berkley DB ${BDB_VER}..."
+ cd "${BDB_DIR}/build_unix" || die
+
+ CFLAGS="${CFLAGS} -fPIC" \
+ ECONF_SOURCE="../dist" \
+ econf \
+ --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}/modules/pam_userdb" \
+ --includedir="${S}/modules/pam_userdb" \
+ --libdir="${S}/modules/pam_userdb" || die "Bad BDB ./configure"
+
+ # XXX: hack out O_DIRECT support in db4 for now.
+ # (Done above now with --disable-o_direct now)
+
+ emake CC="$(tc-getCC)" || die "BDB build failed"
+ emake 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}"/modules/pam_userdb/libdb{,_pam}.a
+
+ # Make sure out static libs are used
+ append-flags -I "{S}/modules/pam_userdb"
+ append-ldflags -L "${S}/modules/pam_userdb"
+
+ cd "${S}"
econf \
$(use_enable nls) \
--enable-berkdb \