From cb5ffe92f2ec88893502eb1539025250d2933df8 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 09:33:21 +0000 Subject: [PATCH] auto-import openldap-2.0.23-4 from openldap-2.0.23-4.src.rpm --- .cvsignore | 5 +- openldap.spec | 165 +++++++++++++++++++++++++++++++++++++++----------- sources | 5 +- 3 files changed, 137 insertions(+), 38 deletions(-) diff --git a/.cvsignore b/.cvsignore index b9f954d..6bda57e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,3 @@ -MigrationTools-39.tar.gz -openldap-2.0.21.tgz +MigrationTools-40.tar.gz +db-4.0.14.tar.gz +openldap-2.0.23.tgz diff --git a/openldap.spec b/openldap.spec index a50566e..125d18e 100644 --- a/openldap.spec +++ b/openldap.spec @@ -1,11 +1,14 @@ -%define migtools_ver 39 +%define migtools_ver 40 +%define db_version 4.0.14 +%define backend gdbm Summary: The configuration files, libraries, and documentation for OpenLDAP. Name: openldap -Version: 2.0.21 -Release: 1s.1 +Version: 2.0.23 +Release: 4 License: OpenLDAP Group: System Environment/Daemons Source0: ftp://ftp.OpenLDAP.org/pub/OpenLDAP/openldap-release/openldap-%{version}.tgz +Source1: http://www.sleepycat.com/update/%{db_version}/db-%{db_version}.tar.gz Source2: ldap.init Source3: ftp://ftp.padl.com/pub/MigrationTools-%{migtools_ver}.tar.gz Source4: migration-tools.txt @@ -19,7 +22,7 @@ Patch0: openldap-2.0.16-config.patch Patch1: openldap-2.0.12-redhat.patch Patch2: openldap-1.2.11-cldap.patch Patch3: openldap-2.0.3-syslog.patch -Patch6: openldap-2.0.7-sendbuf.patch +Patch6: openldap-2.0.23-sendbuf.patch Patch7: openldap-2.0.11-ldaprc.patch Patch8: openldap-2.0.11-debug.patch Patch9: openldap-2.0.11-libtool.patch @@ -61,7 +64,7 @@ customized LDAP clients. %package servers Summary: OpenLDAP servers and related files. -Prereq: fileutils, make, openldap = %{version}-%{release}, openssl, /usr/sbin/useradd +Prereq: fileutils, make, openldap = %{version}-%{release}, openssl, /usr/sbin/useradd, /sbin/chkconfig Group: System Environment/Daemons %description servers @@ -88,7 +91,7 @@ over the Internet. The openldap-clients package contains the client programs needed for accessing and modifying OpenLDAP directories. %prep -%setup -q -a 3 +%setup -q -a 1 -a 3 %patch0 -p1 -b .config %patch1 -p1 -b .redhat %patch2 -p1 -b .cldap @@ -106,44 +109,83 @@ pushd MigrationTools-%{migtools_ver} %patch25 -p2 -b .schema popd +mkdir build-gdbm +ln -s ../configure build-gdbm +mkdir build-berkeley +ln -s ../configure build-berkeley +mkdir build-krb5 +ln -s ../configure build-krb5 +mkdir build-clients +ln -s ../configure build-clients + %build +dbdir=`pwd`/db-instroot %ifarch ia64 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -O0" %endif -CPPFLAGS="-I/usr/kerberos/include"; export CPPFLAGS -CFLAGS="$CPPFLAGS $RPM_OPT_FLAGS -D_REENTRANT -DHAVE_KERBEROS_V -fPIC"; export CFLAGS -LDFLAGS="-L/usr/kerberos/lib"; export LDFLAGS +CFLAGS="$CPPFLAGS $RPM_OPT_FLAGS -D_REENTRANT -fPIC"; export CFLAGS TARGET_PLATFORM=%{_target_platform} %define _target_platform --target=${TARGET_PLATFORM} libtoolize --force +build() { %configure \ --with-slapd --with-slurpd --without-ldapd \ - --with-threads=posix --enable-shared --enable-static \ - --enable-ldbm --with-ldbm-api=gdbm \ - --enable-passwd \ - --enable-shell \ + --with-threads=posix --enable-static \ \ --enable-local --enable-cldap --disable-rlookups \ \ - --with-kerberos=k5only \ --with-tls \ --with-cyrus-sasl \ \ --enable-wrappers \ \ + --enable-passwd \ + --enable-shell \ --enable-cleartext \ --enable-crypt \ - --enable-kpasswd \ --enable-spasswd \ \ --libexecdir=%{_sbindir} \ - --localstatedir=/%{_var}/run + --localstatedir=/%{_var}/run \ + $@ make depend make +} +# Build Berkeley DB and install it into a temporary area, isolating OpenLDAP +# from any future changes to the system-wide Berkeley DB library. +pushd db-%{db_version}/dist +./configure --with-pic --disable-shared --with-uniquename=_openldap_rhl --prefix=${dbdir} +make +make install +popd +# Build one for tools which use gdbm. +pushd build-gdbm +build --enable-ldbm --with-ldbm-api=gdbm --disable-shared --without-kerberos +popd +# Build one for tools which use db. +pushd build-berkeley +build --enable-ldbm --with-ldbm-api=berkeley --disable-shared --without-kerberos +popd +# Build the servers with Kerberos support and whichever backend we want. Even +# enable the bdb backend, which doesn't exist yet. +pushd build-krb5 +CPPFLAGS="-I${dbdir}/include -I/usr/kerberos/include -DHAVE_KERBEROS_V" +export CPPFLAGS +LDFLAGS="-L${dbdir}/lib -L/usr/kerberos/lib" +export LDFLAGS +build --enable-ldbm --with-ldbm-api=%{backend} --enable-bdb --disable-shared --with-kerberos=k5only --enable-kpasswd +unset CPPFLAGS +unset LDFLAGS +popd +# Build clients without Kerberos password-checking support. +pushd build-clients +build --disable-ldbm --enable-shared --without-kerberos +popd %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT mkdir $RPM_BUILD_ROOT +makeinstall() { # libtool loves relinking shared libraries rm -f libraries/*/*.la make @@ -152,18 +194,37 @@ make libexecdir=$RPM_BUILD_ROOT%{_sbindir} \ localstatedir=/%{_var}/run \ sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir}/openldap $@ +} -# hack the default config files -perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT/etc/openldap/slapd.conf +# Install compatibility binaries. +pushd build-gdbm +makeinstall -C servers/slapd/tools +mv $RPM_BUILD_ROOT%{_sbindir}/slapadd $RPM_BUILD_ROOT%{_sbindir}/slapadd-gdbm +mv $RPM_BUILD_ROOT%{_sbindir}/slapcat $RPM_BUILD_ROOT%{_sbindir}/slapcat-gdbm +popd +if [ %{backend} != gdbm ] ; then + pushd build-berkeley + makeinstall -C servers/slapd/tools + mv $RPM_BUILD_ROOT%{_sbindir}/slapadd $RPM_BUILD_ROOT%{_sbindir}/slapadd-berkeley + mv $RPM_BUILD_ROOT%{_sbindir}/slapcat $RPM_BUILD_ROOT%{_sbindir}/slapcat-berkeley + popd +fi -# we don't need the default files -rm -f $RPM_BUILD_ROOT/etc/openldap/*.default +# Install clients and libraries. +pushd build-clients +makeinstall +popd -# install init script -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d -install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldap +# Install servers with Kerberos support. +pushd build-krb5 +makeinstall -C servers +popd -# install the migration tools +# Set the right set of slap... tools for the server. +ln -f $RPM_BUILD_ROOT%{_sbindir}/slapadd-%{backend} $RPM_BUILD_ROOT%{_sbindir}/slapadd +ln -f $RPM_BUILD_ROOT%{_sbindir}/slapcat-%{backend} $RPM_BUILD_ROOT%{_sbindir}/slapcat + +# Install the padl.com migration tools. mkdir -p $RPM_BUILD_ROOT%{_datadir}/openldap/migration install -m 755 MigrationTools-%{migtools_ver}/migrate_* \ $RPM_BUILD_ROOT%{_datadir}/openldap/migration @@ -178,22 +239,32 @@ if make -C contrib/saucer ; then ./libtool install -m644 contrib/saucer/saucer.1 $RPM_BUILD_ROOT%{_mandir}/man1/ fi -# create the data directory +# Create the data directory. mkdir -p $RPM_BUILD_ROOT/var/lib/ldap -# get the buildroot out of the man pages +# Hack the build root out of the default config files. +perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT/etc/openldap/slapd.conf + +# Get the buildroot out of the man pages. perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT%{_mandir}/*/*.* -# if ldapadd and ldapmodify are the same, make them a hard link +# We don't need the default files -- RPM handles changes. +rm -f $RPM_BUILD_ROOT/etc/openldap/*.default + +# Install an init script for the server. +mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d +install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldap + +# If ldapadd and ldapmodify are the same binary, make them a hard link if cmp $RPM_BUILD_ROOT%{_bindir}/ldapadd $RPM_BUILD_ROOT%{_bindir}/ldapmodify ; then ln -f $RPM_BUILD_ROOT%{_bindir}/ldapadd $RPM_BUILD_ROOT%{_bindir}/ldapmodify fi -# add some more schema for the sake of migration scripts +# Add some more schema for the sake of migration scripts. install -d -m755 $RPM_BUILD_ROOT%{_sysconfdir}/openldap/schema/redhat install -m644 %{SOURCE5} %{SOURCE6} %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/openldap/schema/redhat/ -# tweak permissions +# Tweak permissions on the libraries to make sure they're correct. chmod +rx $RPM_BUILD_ROOT/%{_libdir}/lib*.so* chmod +r $RPM_BUILD_ROOT/%{_libdir}/lib*.*a chmod -x $RPM_BUILD_ROOT/%{_libdir}/lib*.*a @@ -266,7 +337,7 @@ fi %doc README.migration TOOLS.migration %doc $RPM_SOURCE_DIR/README.upgrading $RPM_SOURCE_DIR/README.sendbuf $RPM_SOURCE_DIR/guide.html %attr(0755,root,root) %config /etc/rc.d/init.d/ldap -%attr(0600,ldap,ldap) %config(noreplace) /etc/openldap/slapd.conf +%attr(0640,root,ldap) %config(noreplace) /etc/openldap/slapd.conf %attr(0755,root,root) %dir /etc/openldap/schema %attr(0644,root,root) %config(noreplace) /etc/openldap/schema/*.schema* %attr(0755,root,root) %dir /etc/openldap/schema/redhat @@ -296,11 +367,37 @@ fi %attr(0644,root,root) %{_mandir}/man3/* %changelog -* Wed Mar 18 2003 D. Marlin -- new s390 release number and rebuild for s390 (bug #85960) +* Wed Feb 20 2002 Nalin Dahyabhai 2.0.23-3 +- use the gdbm backend again -* Wed Jan 16 2002 Nalin Dahyabhai 2.0.21-1 -- build for RHL 7.2 errata +* Mon Feb 18 2002 Nalin Dahyabhai 2.0.23-2 +- make slapd.conf read/write by root, read by ldap + +* Sun Feb 17 2002 Nalin Dahyabhai +- fix corner case in sendbuf fix +- 2.0.23 now marked "stable" + +* Tue Feb 12 2002 Nalin Dahyabhai 2.0.23-1 +- update to 2.0.23 + +* Fri Feb 8 2002 Nalin Dahyabhai 2.0.22-2 +- switch to an internalized Berkeley DB as the ldbm back-end (NOTE: this breaks + access to existing on-disk directory data) +- add slapcat/slapadd with gdbm for migration purposes +- remove Kerberos dependency in client libs (the direct Kerberos dependency + is used by the server for checking {kerberos} passwords) + +* Fri Feb 1 2002 Nalin Dahyabhai 2.0.22-1 +- update to 2.0.22 + +* Sat Jan 26 2002 Florian La Roche 2.0.21-5 +- prereq chkconfig for server subpackage + +* Fri Jan 25 2002 Nalin Dahyabhai 2.0.21-4 +- update migration tools to version 40 + +* Wed Jan 23 2002 Nalin Dahyabhai 2.0.21-3 +- free ride through the build system * Wed Jan 16 2002 Nalin Dahyabhai 2.0.21-2 - update to 2.0.21, now earmarked as STABLE diff --git a/sources b/sources index 30bd1b5..646d78b 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -5b06cc1a59d11c911d24c574e137d358 MigrationTools-39.tar.gz -a4561f9119818dacfa774de75be555d3 openldap-2.0.21.tgz +f4eb7c0eae1552d8dad166a572f1302b MigrationTools-40.tar.gz +12262c64fcd64b772e7cffad8e4d0ebc db-4.0.14.tar.gz +d13cfded502c7d2b43b3c42b4e6dd599 openldap-2.0.23.tgz