From 6b99432a4e52d8d99984c244c2b8af9089de639b Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Tue, 2 Nov 2004 15:42:16 +0000 Subject: [PATCH] - update to 2.2.17 (stable-20040923) (#135188) - move nptl libraries into arch-specific subdirectories on %%{ix86} boxes - require a newer glibc which can provide nptl libpthread on i486/i586 - move slapd startup to earlier in the boot sequence (#103160) - change version number on compat-openldap to include the non-compat version from which it's compiled, otherwise would have to start 2.2.17 at release 3 so that it upgrades correctly so that version compare would sort correctly --- Makefile | 4 +- MigrationTools-45-noaliases.patch | 55 +++++++++++++++++++++ ldap.init | 2 +- openldap-2.2.13-pie.patch | 4 +- openldap.spec | 81 +++++++++++++++++++++++-------- 5 files changed, 119 insertions(+), 27 deletions(-) create mode 100644 MigrationTools-45-noaliases.patch diff --git a/Makefile b/Makefile index 2154af3..041bf8c 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,4 @@ -# Makefile for source rpm: openldap -# $Id$ NAME := openldap -SPECFILE = $(firstword $(wildcard *.spec)) +SPECFILE = $(NAME).spec include ../common/Makefile.common diff --git a/MigrationTools-45-noaliases.patch b/MigrationTools-45-noaliases.patch new file mode 100644 index 0000000..5afd876 --- /dev/null +++ b/MigrationTools-45-noaliases.patch @@ -0,0 +1,55 @@ +Don't migrate aliases by default, the schema used is no longer included in the +default server configuration. + +--- MigrationTools-45/migrate_all_offline.sh 2004-10-05 17:36:58.000000000 -0400 ++++ MigrationTools-45/migrate_all_offline.sh 2004-10-05 17:37:03.000000000 -0400 +@@ -44,9 +44,9 @@ + INSTDIR=/usr/share/openldap/migration/ + DB=`mktemp /tmp/nis.ldif.XXXXXX` + +-if [ "X$ETC_ALIASES" = "X" ]; then +- ETC_ALIASES=/etc/aliases +-fi ++#if [ "X$ETC_ALIASES" = "X" ]; then ++# ETC_ALIASES=/etc/aliases ++#fi + #if [ "X$ETC_FSTAB" = "X" ]; then + # ETC_FSTAB=/etc/fstab + #fi +@@ -110,8 +110,8 @@ + + echo "Creating naming context entries..." + $PERL -I${INSTDIR} ${INSTDIR}migrate_base.pl > $DB +-echo "Migrating aliases..." +-$PERL -I${INSTDIR} ${INSTDIR}migrate_aliases.pl $ETC_ALIASES >> $DB ++#echo "Migrating aliases..." ++#$PERL -I${INSTDIR} ${INSTDIR}migrate_aliases.pl $ETC_ALIASES >> $DB + #echo "Migrating fstab..." + #$PERL -I${INSTDIR} ${INSTDIR}migrate_fstab.pl $ETC_FSTAB >> $DB + echo "Migrating groups..." +--- MigrationTools-45/migrate_all_online.sh 2004-10-05 17:37:11.000000000 -0400 ++++ MigrationTools-45/migrate_all_online.sh 2004-10-05 17:37:26.000000000 -0400 +@@ -42,9 +42,9 @@ + + DB=`mktemp /tmp/nis.ldif.XXXXXX` + +-if [ "X$ETC_ALIASES" = "X" ]; then +- ETC_ALIASES=/etc/aliases +-fi ++#if [ "X$ETC_ALIASES" = "X" ]; then ++# ETC_ALIASES=/etc/aliases ++#fi + #if [ "X$ETC_FSTAB" = "X" ]; then + # ETC_FSTAB=/etc/fstab + #fi +@@ -167,8 +167,8 @@ + echo "Creating DUAConfigProfile entry..." + $PERL -I${INSTDIR} ${INSTDIR}migrate_profile.pl "$LDAPHOST" >> $DB + fi +-echo "Migrating aliases..." +-$PERL -I${INSTDIR} ${INSTDIR}migrate_aliases.pl $ETC_ALIASES >> $DB ++#echo "Migrating aliases..." ++#$PERL -I${INSTDIR} ${INSTDIR}migrate_aliases.pl $ETC_ALIASES >> $DB + #echo "Migrating fstab..." + #$PERL -I${INSTDIR} ${INSTDIR}migrate_fstab.pl $ETC_FSTAB >> $DB + echo "Migrating groups..." diff --git a/ldap.init b/ldap.init index e08694b..4a7126b 100644 --- a/ldap.init +++ b/ldap.init @@ -3,7 +3,7 @@ # ldap This shell script takes care of starting and stopping # ldap servers (slapd and slurpd). # -# chkconfig: - 39 61 +# chkconfig: - 27 73 # description: LDAP stands for Lightweight Directory Access Protocol, used \ # for implementing the industry standard directory services. # processname: slapd diff --git a/openldap-2.2.13-pie.patch b/openldap-2.2.13-pie.patch index 293e0e4..d52b36b 100644 --- a/openldap-2.2.13-pie.patch +++ b/openldap-2.2.13-pie.patch @@ -9,7 +9,7 @@ until that happens, if it happens. slapd: $(SLAPD_DEPENDS) @LIBSLAPI@ - $(LTLINK) -o $@ $(SLAPD_OBJECTS) $(LIBS) \ -+ $(LTLINK) -pie -o $@ $(SLAPD_OBJECTS) $(LIBS) \ ++ $(LTLINK) -pie -Wl,-z,defs -o $@ $(SLAPD_OBJECTS) $(LIBS) \ $(WRAP_LIBS) rm -f $(SLAPTOOLS) for i in $(SLAPTOOLS); do \ @@ -20,7 +20,7 @@ until that happens, if it happens. slurpd: version.o - $(LTLINK) -o $@ $(OBJS) version.o $(LIBS) -+ $(LTLINK) -pie -o $@ $(OBJS) version.o $(LIBS) ++ $(LTLINK) -pie -Wl,-z,defs -o $@ $(OBJS) version.o $(LIBS) sslurpd: version.o $(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS) diff --git a/openldap.spec b/openldap.spec index 5fb1f92..53da93b 100644 --- a/openldap.spec +++ b/openldap.spec @@ -4,18 +4,18 @@ %define ldbm_backend berkeley %define version_20 2.0.27 %define version_21 2.1.30 -%define version_22 2.2.13 +%define version_22 2.2.17 %define evolution_connector_prefix %{_libdir}/evolution-openldap %define evolution_connector_includedir %{evolution_connector_prefix}/include %define evolution_connector_libdir %{evolution_connector_prefix}/%{_lib} # For Fedora, we want 2.1 compatibility. For RHEL or RHL9, we may want 2.0. -%define compat_version %{version_21} +%define compat_version %{version_20} %define nptl_arches %{ix86} ia64 ppc ppc64 s390 s390x sparcv9 x86_64 Summary: The configuration files, libraries, and documentation for OpenLDAP. Name: openldap Version: %{version_22} -Release: 2 +Release: 0 License: OpenLDAP Group: System Environment/Daemons Source0: ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-release/openldap-%{version_22}.tgz @@ -33,15 +33,15 @@ Source11: README.upgrading Source12: http://www.OpenLDAP.org/doc/admin/guide.html Source13: nptl-abi-note.S Source14: README.evolution -Patch0: openldap-2.2.13-config.patch +Patch0: openldap-2.2.15-config.patch Patch2: openldap-1.2.11-cldap.patch -Patch3: openldap-2.1.17-syslog.patch Patch4: openldap-2.0.11-ldaprc.patch Patch5: openldap-2.2.13-setugid.patch Patch6: openldap-2.2.13-pie.patch -Patch7: openldap-2.2.13-toollinks.patch +Patch7: openldap-2.2.15-toollinks.patch Patch8: openldap-2.2.13-nosql.patch Patch9: openldap-2.1.30-ldapi.patch +Patch10: openldap-2.1.30-libdir.patch Patch12: db-4.0.14-disable-mutex.patch Patch13: db-4.0.14-libobjs.patch Patch21: MigrationTools-38-instdir.patch @@ -49,6 +49,7 @@ Patch22: MigrationTools-36-mktemp.patch Patch23: MigrationTools-27-simple.patch Patch24: MigrationTools-26-suffix.patch Patch25: MigrationTools-44-schema.patch +Patch26: MigrationTools-45-noaliases.patch Patch30: http://www.sleepycat.com/update/4.2.52/patch.4.2.52.1 Patch31: http://www.sleepycat.com/update/4.2.52/patch.4.2.52.2 Patch40: openldap-ntlm.diff @@ -57,7 +58,7 @@ 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 -Requires: cyrus-sasl, cyrus-sasl-md5, mktemp +Requires: cyrus-sasl, cyrus-sasl-md5, glibc >= 2.2.3-48, mktemp %description OpenLDAP is an open source suite of LDAP (Lightweight Directory Access @@ -129,8 +130,12 @@ programs needed for accessing and modifying OpenLDAP directories. %package -n compat-openldap Summary: OpenLDAP compatibility shared libraries. Group: System Environment/Libraries +# Require the current OpenLDAP libraries package in an attempt to ensure that +# we have a /etc/openldap/ldap.conf file on the system. Requires: openldap = %{version_22}-%{release}, cyrus-sasl >= 2.1 -Version: %{compat_version} +# Why this weirdo version number? We want to ensure that version comparisons +# for this package always sort in the same order as the main openldap package. +Version: %{version_22}_%{release}_%{compat_version} %description -n compat-openldap OpenLDAP is an open source suite of LDAP (Lightweight Directory Access @@ -144,7 +149,6 @@ required by some applications. pushd openldap-%{version_22} %patch0 -p1 -b .config %patch2 -p1 -b .cldap -%patch3 -p1 -b .syslog %patch4 -p1 -b .ldaprc %patch5 -p1 -b .setugid %patch6 -p1 -b .pie @@ -180,9 +184,11 @@ pushd MigrationTools-%{migtools_version} %patch23 -p1 -b .simple %patch24 -p1 -b .suffix %patch25 -p1 -b .schema +%patch26 -p1 -b .noaliases popd pushd openldap-%{version_20} +%patch9 -p1 -b .ldapi for subdir in build-gdbm build-db build-clients build-compat ; do mkdir $subdir ln -s ../configure $subdir @@ -191,6 +197,7 @@ popd pushd openldap-%{version_21} %patch9 -p1 -b .ldapi +%patch10 -p1 -b .libdir for subdir in build-servers build-compat ; do mkdir $subdir ln -s ../configure $subdir @@ -368,9 +375,8 @@ popd pushd openldap-%{compat_version}/build-compat %configure \ --disable-slapd --disable-slurpd \ - --with-threads=posix --disable-static --enable-shared --enable-dynamic \ - --enable-local --enable-rlookups --with-tls --with-cyrus-sasl \ - --without-kerberos + --with-threads=posix --enable-static --enable-shared --enable-dynamic \ + --enable-local --with-tls --with-cyrus-sasl --without-kerberos make %{_smp_mflags} popd @@ -476,14 +482,13 @@ pushd openldap-%{version_20} popd # Install the 2.0 or 2.1 shared libraries for compatibility. The two sets of -# libraries share sonames, so we have to choose one. +# libraries share sonames, so we have to choose one or the other. mkdir -p $RPM_BUILD_ROOT/%{_libdir}/ pushd openldap-%{compat_version}/build-compat/libraries - for lib in libldap libldap_r liblber ; do - pushd $lib - ../../libtool --mode=install install -m755 $lib.la $RPM_BUILD_ROOT/%{_libdir}/$lib.la - popd - done + make install DESTDIR=$RPM_BUILD_ROOT + rm $RPM_BUILD_ROOT/%{_libdir}/*.a + rm $RPM_BUILD_ROOT/%{_libdir}/*.la + rm $RPM_BUILD_ROOT/%{_libdir}/*.so popd # Install the 2.1 server tools for dumping out old on-disk databases. @@ -495,9 +500,20 @@ popd # Install servers. %ifarch %{nptl_arches} +case %{_target_platform} in + i386*|i486*) archp=i486; arches="i586 i686";; + i586*) archp=i586; arches=i686;; + i686*) archp=i686; arches=;; + athlon*) archp=i686; arches=;; + *) archp=; arches=;; +esac pushd db-instroot/%{_lib}/tls/ -install -d $RPM_BUILD_ROOT/%{_libdir}/tls/ -install -m755 libslapd_db-*.*.so $RPM_BUILD_ROOT/%{_libdir}/tls/ +install -d $RPM_BUILD_ROOT/%{_libdir}/tls/${archp}/ +install -m755 libslapd_db-*.*.so $RPM_BUILD_ROOT/%{_libdir}/tls/${archp}/ +for arch in $arches ; do + install -d $RPM_BUILD_ROOT/%{_libdir}/tls/${arch}/ + ln $RPM_BUILD_ROOT/%{_libdir}/tls/${archp}/* $RPM_BUILD_ROOT/%{_libdir}/tls/${arch}/ +done popd %endif @@ -575,7 +591,7 @@ chmod 755 $RPM_BUILD_ROOT/%{_libdir}/lib*.so* chmod 644 $RPM_BUILD_ROOT/%{_libdir}/lib*.*a # Remove files which we don't want packaged. -rm -f $RPM_BUILD_ROOT/%{_datadir}/openldap/migration/*.{instdir,simple,schema,mktemp,suffix} +rm -f $RPM_BUILD_ROOT/%{_datadir}/openldap/migration/*.{instdir,simple,schema,mktemp,suffix,noaliases} 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* @@ -660,6 +676,10 @@ fi %attr(0755,root,root) %{_libdir}/liblber.so.* %attr(0755,root,root) %{_libdir}/libldap.so.* %attr(0755,root,root) %{_libdir}/libldap_r.so.* +%if %( test %{compat_version} = %{version_20} && echo 1 || echo 0 ) +%attr(0755,root,root) %dir %{_datadir}/openldap +%attr(0644,root,root) %{_datadir}/openldap/ldapfriendly +%endif %files servers %defattr(-,root,root) @@ -687,7 +707,11 @@ fi %attr(0700,ldap,ldap) %dir /var/lib/ldap %attr(0755,root,root) %{_libdir}/libslapd_db-*.*.so %ifarch %{nptl_arches} +%ifnarch %{ix86} %attr(0755,root,root) %{_libdir}/tls/libslapd_db-*.*.so +%else +%attr(0755,root,root) %{_libdir}/tls/*/libslapd_db-*.*.so +%endif %endif %files servers-sql @@ -717,6 +741,21 @@ fi %attr(0644,root,root) %{evolution_connector_libdir}/*.a %changelog +* Tue Nov 2 2004 Nalin Dahyabhai 2.2.17-0 +- rebuild + +* Thu Sep 30 2004 Nalin Dahyabhai +- update to 2.2.17 (stable-20040923) (#135188) +- move nptl libraries into arch-specific subdirectories on %%{ix86} boxes +- require a newer glibc which can provide nptl libpthread on i486/i586 + +* Tue Aug 24 2004 Nalin Dahyabhai +- move slapd startup to earlier in the boot sequence (#103160) +- update to 2.2.15 (stable-20040822) +- change version number on compat-openldap to include the non-compat version + from which it's compiled, otherwise would have to start 2.2.15 at release 3 + so that it upgrades correctly + * Thu Aug 19 2004 Nalin Dahyabhai 2.2.13-2 - build a separate, static set of libraries for openldap-devel with the non-standard ntlm bind patch applied, for use by the evolution-connector