From f7562c16f04aa9c01317577b76fb8ae8e8e9c8dd Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Tue, 1 Mar 2005 21:40:56 +0000 Subject: [PATCH] - add bind-libbind-devel and libtool-ltdl-devel buildprereqs - add an async start_tls backport in a non-default location (%{nss_ldap_libdir}) --- README.nss_ldap | 9 +++++++++ openldap.spec | 54 +++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 README.nss_ldap diff --git a/README.nss_ldap b/README.nss_ldap new file mode 100644 index 0000000..6d5abce --- /dev/null +++ b/README.nss_ldap @@ -0,0 +1,9 @@ +These files are here specifically for use in building the nss_ldap package, +and should not be used for any other purpose. + +They contain a backported patch which adds two functions which nss_ldap can +use to avoid blocking in one particular use case, but which are not included +in the 2.2 branch of OpenLDAP. + +When the openldap package updates to 2.3, these libraries will simply +disappear. diff --git a/openldap.spec b/openldap.spec index a956f61..a4203c7 100644 --- a/openldap.spec +++ b/openldap.spec @@ -4,6 +4,9 @@ %define version_20 2.0.27 %define version_21 2.1.30 %define version_22 2.2.23 +%define nss_ldap_prefix %{_libdir}/nss_ldap-openldap +%define nss_ldap_includedir %{nss_ldap_prefix}/include +%define nss_ldap_libdir %{nss_ldap_prefix}/%{_lib} %define evolution_connector_prefix %{_libdir}/evolution-openldap %define evolution_connector_includedir %{evolution_connector_prefix}/include %define evolution_connector_libdir %{evolution_connector_prefix}/%{_lib} @@ -14,7 +17,7 @@ Summary: The configuration files, libraries, and documentation for OpenLDAP. Name: openldap Version: %{version_22} -Release: 2 +Release: 3 License: OpenLDAP Group: System Environment/Daemons Source0: ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-release/openldap-%{version_22}.tgz @@ -49,11 +52,12 @@ Patch24: MigrationTools-26-suffix.patch Patch25: MigrationTools-44-schema.patch Patch26: MigrationTools-45-noaliases.patch Patch40: openldap-ntlm.diff +Patch41: openldap-2.2.23-start_tls-async.patch URL: http://www.openldap.org/ BuildRoot: %{_tmppath}/%{name}-%{version_22}-root BuildPreReq: cyrus-sasl-devel >= 2.1, gdbm-devel, libtool >= 1.5.6-2, krb5-devel BuildPreReq: openssl-devel, pam-devel, perl, pkgconfig, tcp_wrappers, -BuildPreReq: unixODBC-devel +BuildPreReq: unixODBC-devel, bind-libbind-devel, libtool-ltdl-devel Requires: cyrus-sasl, cyrus-sasl-md5, glibc >= 2.2.3-48, mktemp %description @@ -164,6 +168,16 @@ fi pushd evo-openldap-%{version_22} %patch40 -p0 -b .evolution-ntlm popd +# Set up a build tree for a static version of libldap with async start_tls +# support, which nss_ldap can use to avoid blocking if a server is accepting +# connections but is otherwise unresponsive. +if ! cp -al openldap-%{version_22} nss_ldap-openldap-%{version_22} ; then + rm -fr nss_ldap-openldap-%{version_22} + cp -a openldap-%{version_22} nss_ldap-openldap-%{version_22} +fi +pushd nss_ldap-openldap-%{version_22} +%patch41 -p0 -b .start_tls +popd pushd MigrationTools-%{migtools_version} %patch21 -p1 -b .instdir @@ -380,6 +394,21 @@ build \ --includedir=%{evolution_connector_includedir} \ --libdir=%{evolution_connector_libdir} popd +# Build nss_ldap-specific clients just as we would normal clients, except with +# a different installation directory in mind and no shared libraries. +pushd nss_ldap-openldap-%{version_22} +build \ + --disable-slapd \ + --disable-slurpd \ + --disable-shared \ + --disable-dynamic \ + --enable-static \ + --without-kerberos \ + --with-cyrus-sasl \ + --with-pic \ + --includedir=%{nss_ldap_includedir} \ + --libdir=%{nss_ldap_libdir} +popd %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT @@ -442,6 +471,15 @@ install -m644 \ $RPM_SOURCE_DIR/README.evolution \ $RPM_BUILD_ROOT/%{evolution_connector_prefix}/ popd +pushd nss_ldap-openldap-%{version_22} +make install DESTDIR=$RPM_BUILD_ROOT \ + includedir=%{nss_ldap_includedir} \ + libdir=%{nss_ldap_libdir} \ + LIBTOOL="$libtool" +install -m644 \ + $RPM_SOURCE_DIR/README.nss_ldap \ + $RPM_BUILD_ROOT/%{nss_ldap_prefix}/ +popd pushd openldap-%{version_22}/build-clients make install DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} LIBTOOL="$libtool" popd @@ -493,6 +531,8 @@ rm -f $RPM_BUILD_ROOT/%{_datadir}/openldap/migration/*.{instdir,simple,schema,mk rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la rm -f $RPM_BUILD_ROOT/%{evolution_connector_libdir}/*.la rm -f $RPM_BUILD_ROOT/%{evolution_connector_libdir}/*.so* +rm -f $RPM_BUILD_ROOT/%{nss_ldap_libdir}/*.la +rm -f $RPM_BUILD_ROOT/%{nss_ldap_libdir}/*.so* rm -f $RPM_BUILD_ROOT/%{_sbindir}/openldap/*.a rm -f $RPM_BUILD_ROOT/%{_sbindir}/openldap/*.so @@ -638,8 +678,18 @@ fi %attr(0644,root,root) %{evolution_connector_includedir}/*.h %attr(0755,root,root) %dir %{evolution_connector_libdir} %attr(0644,root,root) %{evolution_connector_libdir}/*.a +%attr(0755,root,root) %dir %{nss_ldap_prefix} +%attr(0644,root,root) %{nss_ldap_prefix}/README* +%attr(0755,root,root) %dir %{nss_ldap_includedir} +%attr(0644,root,root) %{nss_ldap_includedir}/*.h +%attr(0755,root,root) %dir %{nss_ldap_libdir} +%attr(0644,root,root) %{nss_ldap_libdir}/*.a %changelog +* Tue Mar 1 2005 Nalin Dahyabhai 2.2.23-3 +- add bind-libbind-devel and libtool-ltdl-devel buildprereqs +- add an async start_tls backport in a non-default location (%%{nss_ldap_libdir}) + * Tue Mar 1 2005 Tomas Mraz 2.2.23-2 - rebuild with openssl-0.9.7e