diff options
-rw-r--r-- | databases/openldap/Makefile | 27 | ||||
-rw-r--r-- | databases/openldap/distinfo | 3 | ||||
-rw-r--r-- | databases/openldap/patches/patch-ah | 14 |
3 files changed, 32 insertions, 12 deletions
diff --git a/databases/openldap/Makefile b/databases/openldap/Makefile index 2f9210475aa..c5571a2d468 100644 --- a/databases/openldap/Makefile +++ b/databases/openldap/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.69 2004/02/19 14:42:39 jlam Exp $ +# $NetBSD: Makefile,v 1.70 2004/02/20 13:56:15 jlam Exp $ DISTNAME= openldap-2.1.25 SVR4_PKGNAME= oldap -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= databases MASTER_SITES= ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/ EXTRACT_SUFX= .tgz @@ -89,16 +89,19 @@ SUPPORT_FILES+= ${EGDIR}/${FILE} ${PKG_SYSCONFDIR}/${FILE} .endfor RCD_SCRIPTS= slapd -# While the package does build correctly using GNU pth, slapd isn't able to -# pass "make test" without segfaulting at startup. For now, just build -# without threads-support if it's not a native thread library. +# On some platforms, while the package does build correctly using GNU pth, +# slapd isn't able to pass "make test". One those platforms, don't build +# openldap with threads support unless we're using the native thread +# library. # -.if defined(_OPENLDAP_REQUIRE_THREADS) && \ - !empty(_OPENLDAP_REQUIRE_THREADS:M[yY][eE][sS]) -PTHREAD_OPTS+= require -.else -PTHREAD_OPTS+= native -.endif +OPENLDAP_PTH_BROKEN_PLATFORMS?= # empty +.for _pattern_ in ${OPENLDAP_PTH_BROKEN_PLATFORMS} +. if !empty(MACHINE_PLATFORM:M${_pattern_}) +OPENLDAP_PTHREAD_OPTS?= native +. endif +.endfor +OPENLDAP_PTHREAD_OPTS?= require +PTHREAD_OPTS+= ${OPENLDAP_PTHREAD_OPTS} .include "../../databases/db4/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" @@ -111,6 +114,8 @@ PLIST_SUBST+= SLURPD_COMMENT= RCD_SCRIPTS+= slurpd .elif ${PTHREAD_TYPE} == "pth" CONFIGURE_ARGS+= --with-threads=pth +PLIST_SUBST+= SLURPD_COMMENT= +RCD_SCRIPTS+= slurpd .else CONFIGURE_ARGS+= --without-threads PLIST_SUBST+= SLURPD_COMMENT="@comment " diff --git a/databases/openldap/distinfo b/databases/openldap/distinfo index 972e5bd400e..a69f66f0d42 100644 --- a/databases/openldap/distinfo +++ b/databases/openldap/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.22 2004/02/14 11:31:50 jlam Exp $ +$NetBSD: distinfo,v 1.23 2004/02/20 13:56:15 jlam Exp $ SHA1 (openldap-2.1.25.tgz) = 802ad52c0540bf58fbe797fd64804ff0920159d4 Size (openldap-2.1.25.tgz) = 2038669 bytes @@ -8,3 +8,4 @@ SHA1 (patch-ad) = 24734ea7dbfc85c0f1a5ebc7ad9209cfe64ef546 SHA1 (patch-ae) = 75f5cb64c78c007f3439ad384b21c5a6ea5e9e3d SHA1 (patch-af) = 74edff185f7d5222416023801084c069d08ec057 SHA1 (patch-ag) = 822efbcc01dfd4b6181c25390761f534aaeb4315 +SHA1 (patch-ah) = 4fd10030b2531c7b4a4461053e5896274b24d5dd diff --git a/databases/openldap/patches/patch-ah b/databases/openldap/patches/patch-ah new file mode 100644 index 00000000000..74a97db9a5d --- /dev/null +++ b/databases/openldap/patches/patch-ah @@ -0,0 +1,14 @@ +$NetBSD: patch-ah,v 1.1 2004/02/20 13:56:15 jlam Exp $ + +--- libraries/libldap/init.c.orig Tue Dec 2 09:31:54 2003 ++++ libraries/libldap/init.c +@@ -522,6 +522,9 @@ void ldap_int_initialize( struct ldapopt + + #if defined(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND) \ + || defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL) ++#if defined(LDAP_R_COMPILE) ++ ldap_pvt_thread_initialize(); ++#endif + ldap_int_hostname = ldap_pvt_get_fqdn( ldap_int_hostname ); + #endif + if ( ldap_int_tblsize == 0 ) |