summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/nss_ldap')
-rw-r--r--sys-auth/nss_ldap/ChangeLog8
-rw-r--r--sys-auth/nss_ldap/Manifest5
-rw-r--r--sys-auth/nss_ldap/files/nss_ldap-264-disable-automagic.patch109
-rw-r--r--sys-auth/nss_ldap/nss_ldap-264.ebuild101
4 files changed, 221 insertions, 2 deletions
diff --git a/sys-auth/nss_ldap/ChangeLog b/sys-auth/nss_ldap/ChangeLog
index d52ab00afd21..d3372f01a581 100644
--- a/sys-auth/nss_ldap/ChangeLog
+++ b/sys-auth/nss_ldap/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-auth/nss_ldap
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/ChangeLog,v 1.57 2009/07/28 16:49:56 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/ChangeLog,v 1.58 2009/07/28 18:45:51 robbat2 Exp $
+
+*nss_ldap-264 (28 Jul 2009)
+
+ 28 Jul 2009; Robin H. Johnson <robbat2@gentoo.org> +nss_ldap-264.ebuild,
+ +files/nss_ldap-264-disable-automagic.patch:
+ Version bump. Bug #214750 - fix automagic deps on kerberos, ssl, sasl.
28 Jul 2009; Robin H. Johnson <robbat2@gentoo.org>
-nss_ldap-239-r1.ebuild, -nss_ldap-249.ebuild, -nss_ldap-250.ebuild,
diff --git a/sys-auth/nss_ldap/Manifest b/sys-auth/nss_ldap/Manifest
index 4c5c99119341..fe50cb5b340d 100644
--- a/sys-auth/nss_ldap/Manifest
+++ b/sys-auth/nss_ldap/Manifest
@@ -4,14 +4,17 @@ AUX nss_ldap-252-reconnect-timeouts.patch 3169 RMD160 f442c89e3065db02aef6fd6023
AUX nss_ldap-254-nss_getgrent_skipmembers.patch 7921 RMD160 e9479d357c28e63f24b08fd73023322e8107a632 SHA1 c95b986c02a23a60509ae82c0e4caa155043b8c4 SHA256 4ea143c1c33c771a1868f46a349a71ba2c904a14d8ec23320fa2d500a72c9882
AUX nss_ldap-257-nss_max_group_depth.patch 3551 RMD160 8d23cd290f23808f14e1e5308280de00fb9cb9f0 SHA1 625edf664eb66bece8bc420f50c95b9ca279ea9d SHA256 66286a3d097b2ac425bd7f6078701a8f5b357ee535284d3faa4e0783b974fa37
AUX nss_ldap-257.2-gssapi-headers.patch 2343 RMD160 b99b79b7cf9a423aceb350bfcc7d692b5bfa4ead SHA1 b7a3577b4db4f1c87c55935c2f6493bc704c82c2 SHA256 1b920cfc6b5d62408fee019cdf8491a8cbc9884344775d9fb57cd8a419d32fd5
+AUX nss_ldap-264-disable-automagic.patch 4357 RMD160 b0174c8d28bb514a799dce163d4f6757104efeab SHA1 d5847f1a512f4a2c901043f01917119528d1f881 SHA256 7e8fbaa80a3174b68991d232a214af9e6f7eae7e7aaedd92d200828a8510d0e6
AUX nsswitch.ldap.diff 575 RMD160 6c429261de3f99eccfb6f613e0d8a499fa798245 SHA1 a2aada398f1db0eb162633d39992646ce513a3b6 SHA256 f3bf121d1fa4e3c0119d36ddd2445bcbbd955e2b7fe2f0fe65ebaa6d2808c43e
DIST nss_ldap-258.tar.gz 274694 RMD160 ee52775b9612f780908b3c8363ab2b18e7f4ea1c SHA1 50a5128db5a4d894fba35aeb092685605fba578d SHA256 afa3bb64cd29557e775219585655721ac220de5804d95d0c307dab86f2308346
DIST nss_ldap-259.tar.gz 274878 RMD160 95b7fe2a4c28c4d8e86cf7d0d2e61e5e585b5a06 SHA1 0644d06be11b01e45d7a2a153e247b1203704d25 SHA256 8b65a32717f6173911aaea8e89b2c89ccb901f14f1063f5e49b5ab77d45f1790
DIST nss_ldap-261.tar.gz 276065 RMD160 abf3f7d100f9d2ede62397538c1fd472855ec587 SHA1 85058bfca645f88a177bcde7fb3f1bea23c6e8f1 SHA256 7e9a6e8e1f07607b63f5f61fda755778fb1257e6599ac467327b6e817de5aad7
DIST nss_ldap-262.tar.gz 274927 RMD160 db3419cf987a74bf00a84cec6c8651f3ea433dd0 SHA1 846419cc10fbcccc173744176bdd88f9607e7f28 SHA256 179cd8458ae3cc23cb726cf15afb94089482dd22559ac503e7df5fd6fc2c4cbf
+DIST nss_ldap-264.tar.gz 278134 RMD160 ab8f0de0cc9023232cbb08adcb92307028d57fb5 SHA1 b06a8ac04bf1cf6a4aaeef8ae6dbb3fad097a668 SHA256 556198f2774bdb61a597da3fa8a5ecc80a3271ed9ab177760df7c4f22d6b1d25
EBUILD nss_ldap-258.ebuild 2372 RMD160 a4869b6d13e033eb35b26dfdcf2cdb71edf35826 SHA1 169f695b92bbd02500f76c117f75007e5c6e4ab8 SHA256 91491630930b3b752c40659937dcce431b315f39253812d8443c971ed8ae00a7
EBUILD nss_ldap-259.ebuild 2379 RMD160 3df6c70a17527bf60a545915c149f68bbd66724d SHA1 72e3c24e7ba468dc33f70cfcc1e6d1b9eff3fd02 SHA256 53cf4f8aabc230fb3a948d905ae4c51f6f65aabdf12e6042064853a4c3f3f620
EBUILD nss_ldap-261.ebuild 2499 RMD160 139eeb95880f741e493b019eeb6a6ece367f5e2b SHA1 fd7bbf290da758f396d9c0853f4ee60d6648a054 SHA256 1cd3978bcf73de9da6175f39d6f2f272f0d6259037e7edd97e7604cb2b411d8b
EBUILD nss_ldap-262.ebuild 2499 RMD160 a3bb810de2c68961ab6120d2870104687b36e61a SHA1 8dda9cd9d3635ea89d2fb07bf08cc6c5fe0308d8 SHA256 36846bd0eeccab737c054f2f94f4e8fdb14b545993bd70c910425e0bb6f15c29
-MISC ChangeLog 15323 RMD160 eb6fb85f4c7da5258e4011c4039cbef4cf84eb06 SHA1 a2cce277fa202d211271e1d8eb7c2d9772cd67bd SHA256 85eeebcd0ef850211a236bcd17f1a90e1d116eec1a574ff0983fa3b57ed66730
+EBUILD nss_ldap-264.ebuild 2682 RMD160 72a730a33ed6d26619d49c29114f958e40db2088 SHA1 cdb2df42054833cff0473869472ec0c6d1e20679 SHA256 0f44b822126d30da14e268ea64a80839260392f9f3f0e6ffc4f7745c70e24b45
+MISC ChangeLog 15548 RMD160 0796df7599667b3006feafd4b9cfcb554132e64a SHA1 2a2ee71656a69db881c2003a5ba01a81861b7a47 SHA256 d5ae96944e1323a45f7db81f8c073118156230a0dc34cd3106489b2915fc228e
MISC metadata.xml 374 RMD160 d093200b154cb3766f818bb06ab05fb29d45af0c SHA1 0e6b6cc539b9c537d3a5464884ca2ca9c1717134 SHA256 72f6eb7d9ee256d2edb0336e03b71674bf17d2828222ca8722fdb48a88304365
diff --git a/sys-auth/nss_ldap/files/nss_ldap-264-disable-automagic.patch b/sys-auth/nss_ldap/files/nss_ldap-264-disable-automagic.patch
new file mode 100644
index 000000000000..7671574da4da
--- /dev/null
+++ b/sys-auth/nss_ldap/files/nss_ldap-264-disable-automagic.patch
@@ -0,0 +1,109 @@
+Explicitly provide a way to disable Kerberos/SASL/SSL usage in nss_ldap, so
+that you can build non-kerberos versions on systems with Kerberos installed
+WITHOUT it linking due to presence.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar nss_ldap-264.orig/configure.in nss_ldap-264/configure.in
+--- nss_ldap-264.orig/configure.in 2009-07-28 10:35:27.599965878 -0700
++++ nss_ldap-264/configure.in 2009-07-28 10:36:00.620375469 -0700
+@@ -10,6 +10,21 @@
+ AC_PROG_INSTALL
+
+ dnl
++dnl Turn on/off SSL
++dnl
++AC_ARG_ENABLE(ssl, [ --enable-ssl enable SSL code ], [AC_DEFINE([WANT_SSL], [1], [Define if SSL is wanted])])
++
++dnl
++dnl Turn on/off Kerberos
++dnl
++AC_ARG_ENABLE(krb, [ --enable-krb enable Kerberos code ], [AC_DEFINE([WANT_KRB], [1], [Define if Kerberos is wanted])])
++
++dnl
++dnl Turn on/off SASL
++dnl
++AC_ARG_ENABLE(sasl, [ --enable-sasl enable Kerberos code ], [AC_DEFINE([WANT_SASL], [1], [Define if SASL is wanted])])
++
++dnl
+ dnl --enable-rfc2307bis is now deprecated; if this option is set,
+ dnl then RFC2307bis support will be enabled by default. However
+ dnl it can now always be enabled at runtime with the nss_schema
+@@ -178,12 +193,18 @@
+ AC_CHECK_HEADERS(sys/un.h)
+ AC_CHECK_HEADERS(libc-lock.h)
+ AC_CHECK_HEADERS(bits/libc-lock.h)
+-AC_CHECK_HEADERS(sasl.h sasl/sasl.h)
++if test "$enable_sasl" \!= "no"; then
++ AC_CHECK_HEADERS(sasl.h sasl/sasl.h)
++fi
+ AC_CHECK_HEADERS(strings.h)
+-AC_CHECK_HEADERS(gssldap.h)
+-AC_CHECK_HEADERS(gsssasl.h)
+-AC_CHECK_HEADERS(gssapi/gssapi_krb5.h gssapi/gssapi.h gssapi.h)
+-AC_CHECK_HEADERS(krb5.h)
++if test "$enable_krb" \!= "no"; then
++ AC_CHECK_HEADERS(gssldap.h)
++ if test "$enable_sasl" \!= "no"; then
++ AC_CHECK_HEADERS(gsssasl.h)
++ fi
++ AC_CHECK_HEADERS(gssapi/gssapi_krb5.h gssapi/gssapi.h gssapi.h)
++ AC_CHECK_HEADERS(krb5.h)
++fi
+
+ AC_CHECK_LIB(resolv, main)
+ AC_CHECK_LIB(nsl, main)
+@@ -286,19 +307,25 @@
+ AC_CHECK_LIB(dl, dlopen,[LIBS="-ldl $LIBS"],,$LIBS)
+ dnl AC_CHECK_LIB(db, main,[LIBS="-ldb $LIBS"],,$LIBS)
+
+-AC_CHECK_LIB(gssapi, gss_krb5_ccache_name,[LIBS="-lgssapi $LIBS" found_gssapi_lib=yes],,$LIBS)
+-if test -z "$found_gssapi_lib"; then
+- AC_CHECK_LIB(gssapi_krb5, gss_krb5_ccache_name,[LIBS="-lgssapi_krb5 $LIBS"],,$LIBS)
++if test "$enable_krb" \!= "no"; then
++ AC_CHECK_LIB(gssapi, gss_krb5_ccache_name,[LIBS="-lgssapi $LIBS" found_gssapi_lib=yes],,$LIBS)
++ if test -z "$found_gssapi_lib"; then
++ AC_CHECK_LIB(gssapi_krb5, gss_krb5_ccache_name,[LIBS="-lgssapi_krb5 $LIBS"],,$LIBS)
++ fi
+ fi
+
+ dnl Following checks probably not strictly necessary.
+ dnl AC_CHECK_LIB(crypto, main,[LIBS="-lcrypto $LIBS"],,$LIBS)
+ dnl AC_CHECK_LIB(ssl, main,[LIBS="-lssl $LIBS"],,$LIBS)
+ AC_CHECK_LIB(com_err, main,[LIBS="-lcom_err $LIBS"],,$LIBS)
+-dnl AC_CHECK_LIB(k5crypto, main,[LIBS="-lk5crypto $LIBS"],,$LIBS)
+-AC_CHECK_LIB(krb5, main,[LIBS="-lkrb5 $LIBS"],,$LIBS)
+-dnl AC_CHECK_LIB(krb4, main,[LIBS="-lkrb4 $LIBS"],,$LIBS)
+-AC_CHECK_LIB(sasl2, sasl_client_init)
++if test "$enable_krb" \!= "no"; then
++ dnl AC_CHECK_LIB(k5crypto, main,[LIBS="-lk5crypto $LIBS"],,$LIBS)
++ AC_CHECK_LIB(krb5, main,[LIBS="-lkrb5 $LIBS"],,$LIBS)
++ dnl AC_CHECK_LIB(krb4, main,[LIBS="-lkrb4 $LIBS"],,$LIBS)
++fi
++if test "$enable_sasl" \!= "no"; then
++ AC_CHECK_LIB(sasl2, sasl_client_init)
++fi
+
+ if test -z "$found_ldap_lib" -a \( $with_ldap_lib = auto -o $with_ldap_lib = umich -o $with_ldap_lib = openldap \); then
+ AC_CHECK_LIB(lber, main)
+@@ -331,13 +358,17 @@
+ AC_CHECK_LIB(pthread, main)
+ fi
+
+-AC_CHECK_LIB(gssldap, ldap_gss_bind,[LIBS="-lgssldap $LIBS"],,$LIBS)
++if test "$enable_krb" \!= "no"; then
++ AC_CHECK_LIB(gssldap, ldap_gss_bind,[LIBS="-lgssldap $LIBS"],,$LIBS)
++fi
+
+-AC_CHECK_FUNCS(sasl_auxprop_request)
+ AC_CHECK_FUNCS(ldap_init ldap_get_lderrno ldap_parse_result ldap_memfree ldap_controls_free)
+ AC_CHECK_FUNCS(ldap_ld_free ldap_explode_rdn ldap_set_option ldap_get_option)
+-AC_CHECK_FUNCS(ldap_sasl_interactive_bind_s ldap_initialize ldap_search_ext)
++AC_CHECK_FUNCS(ldap_initialize ldap_search_ext)
+ AC_CHECK_FUNCS(ldap_create_control ldap_create_page_control ldap_parse_page_control)
++if test "$enable_sasl" \!= "no"; then
++ AC_CHECK_FUNCS(sasl_auxprop_request ldap_sasl_interactive_bind_s)
++fi
+ if test "$enable_ssl" \!= "no"; then
+ AC_CHECK_FUNCS(ldapssl_client_init ldap_start_tls_s ldap_pvt_tls_set_option ldap_start_tls)
+ fi
diff --git a/sys-auth/nss_ldap/nss_ldap-264.ebuild b/sys-auth/nss_ldap/nss_ldap-264.ebuild
new file mode 100644
index 000000000000..ebbbd1eb7228
--- /dev/null
+++ b/sys-auth/nss_ldap/nss_ldap-264.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/nss_ldap-264.ebuild,v 1.1 2009/07/28 18:45:51 robbat2 Exp $
+
+EAPI=2
+inherit fixheadtails eutils multilib autotools
+
+IUSE="debug ssl sasl kerberos"
+
+DESCRIPTION="NSS LDAP Module"
+HOMEPAGE="http://www.padl.com/OSS/nss_ldap.html"
+SRC_URI="http://www.padl.com/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND=">=net-nds/openldap-2.1.30-r5
+ sasl? ( dev-libs/cyrus-sasl )
+ kerberos? ( virtual/krb5 )
+ ssl? ( dev-libs/openssl )"
+RDEPEND="${DEPEND}
+ !<net-fs/autofs-4.1.3"
+
+src_prepare() {
+ cd "${S}"
+
+ epatch "${FILESDIR}"/nsswitch.ldap.diff
+
+ # Applied by upstream
+ #epatch "${FILESDIR}"/${PN}-239-tls-security-bug.patch
+
+ epatch "${FILESDIR}"/${PN}-249-sasl-compile.patch
+
+ EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${PN}-252-reconnect-timeouts.patch
+
+ # Applied by upstream
+ #EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${PN}-254-nss_getgrent_skipmembers.patch
+
+ EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${PN}-257-nss_max_group_depth.patch
+
+ sed -i.orig \
+ -e '/^ @(#)\$Id: ldap.conf,v/s,^,#,' \
+ "${S}"/ldap.conf || die "failed to clean up initial version marker"
+
+ # fix head/tail stuff
+ ht_fix_file "${S}"/Makefile.am "${S}"/Makefile.in "${S}"/depcomp
+
+ # fix build borkage
+ for i in Makefile.{in,am}; do
+ sed -i.orig \
+ -e '/^install-exec-local: nss_ldap.so/s,nss_ldap.so,,g' \
+ "${S}"/$i
+ done
+
+ epatch "${FILESDIR}"/${PN}-257.2-gssapi-headers.patch
+
+ # Bug #214750, no automagic deps
+ epatch "${FILESDIR}"/${PN}-264-disable-automagic.patch
+
+ # Upstream forgets the version number sometimes
+ #sed -i \
+ # -e "/^AM_INIT_AUTOMAKE/s~2..~$PV~" \
+ # "${S}"/configure.in
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+ use debug && myconf="${myconf} --enable-debugging"
+ use kerberos && myconf="${myconf} --enable-configurable-krb5-ccname-gssapi"
+ # --enable-schema-mapping \
+ econf \
+ --with-ldap-lib=openldap \
+ --libdir=/$(get_libdir) \
+ --enable-paged-results \
+ --enable-rfc2307bis \
+ $(use_enable ssl) \
+ $(use_enable sasl) \
+ $(use_enable kerberos krb) \
+ ${myconf} || die "configure failed"
+}
+
+src_install() {
+ dodir /$(get_libdir)
+
+ emake -j1 DESTDIR="${D}" install || die "make install failed"
+
+ insinto /etc
+ doins ldap.conf
+
+ dodoc ldap.conf ANNOUNCE NEWS ChangeLog AUTHORS \
+ COPYING CVSVersionInfo.txt README nsswitch.ldap certutil
+ docinto docs; dodoc doc/*
+}
+
+pkg_postinst() {
+ elog "If you use a ldaps:// string in the 'uri' setting of"
+ elog "your /etc/ldap.conf, you must set 'ssl on'!"
+}