forked from jengelh/openldap2
622 lines
20 KiB
RPMSpec
622 lines
20 KiB
RPMSpec
#
|
|
# spec file for package openldap2
|
|
#
|
|
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define run_test_suite 0
|
|
%define version_main 2.4.39
|
|
|
|
%if ! %{defined _rundir}
|
|
%define _rundir %{_localstatedir}/run
|
|
%endif
|
|
|
|
Name: openldap2
|
|
Summary: The OpenLDAP Server
|
|
License: OLDAP-2.8
|
|
Group: Productivity/Networking/LDAP/Clients
|
|
BuildRequires: cyrus-sasl-devel
|
|
BuildRequires: groff
|
|
BuildRequires: libopenssl-devel
|
|
BuildRequires: libtool
|
|
%if %sles_version == 10
|
|
BuildRequires: -libopenssl-devel
|
|
BuildRequires: -pwdutils
|
|
BuildRequires: openssl-devel
|
|
%endif
|
|
Version: 2.4.39
|
|
Release: 0
|
|
Url: http://www.openldap.org
|
|
%if "%{name}" == "openldap2"
|
|
BuildRequires: libdb-4_8-devel
|
|
BuildRequires: openslp-devel
|
|
BuildRequires: tcpd-devel
|
|
BuildRequires: unixODBC-devel
|
|
%if %sles_version == 10
|
|
BuildRequires: -libdb-4_8-devel
|
|
BuildRequires: libdb-4_5-devel
|
|
%endif
|
|
Conflicts: openldap
|
|
Requires: libldap-2_4-2 = %{version_main}
|
|
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd /usr/bin/grep
|
|
%if 0%{?suse_version} >= 1140
|
|
# avoid cycle with krb5
|
|
BuildRequires: krb5-mini
|
|
BuildRequires: pkgconfig(systemd)
|
|
%{?systemd_requires}
|
|
%endif
|
|
%else
|
|
Conflicts: openldap-client
|
|
Requires: libldap-2_4-2 = %{version_main}
|
|
%endif
|
|
Source: openldap-%{version_main}.tgz
|
|
Source1: openldap-rc.tgz
|
|
Source2: addonschema.tar.gz
|
|
Source3: DB_CONFIG
|
|
Source4: sasl-slapd.conf
|
|
Source5: README.update
|
|
Source6: README.dynamic-overlays
|
|
Source7: schema2ldif
|
|
Source100: openldap-2.3.37.tgz
|
|
Patch1: 0001-build-adjustments.dif
|
|
Patch2: 0002-slapd.conf.dif
|
|
Patch3: 0003-LDAPI-socket-location.dif
|
|
Patch4: 0004-libldap-use-gethostbyname_r.dif
|
|
Patch5: 0005-pie-compile.dif
|
|
Patch6: 0006-No-Build-date-and-time-in-binaries.dif
|
|
Patch7: 0007-Recover-on-DB-version-change.dif
|
|
Patch100: openldap-2.3.37.dif
|
|
Patch101: openldap-2.3.37-libldap-suid.diff
|
|
Patch102: openldap-2.3.37-libldap-ldapi_url.dif
|
|
Patch103: openldap-2.3.37-libldap-ntlm.diff
|
|
Patch104: openldap-2.3.37-libldap-gethostbyname_r.dif
|
|
Patch105: openldap-2.3.37-libldap-sasl-max-buff-size.dif
|
|
Patch106: openldap-2.3.37-libldap-utf8-ADcanonical.dif
|
|
Patch107: openldap-2.3.37-liblber-length-decoding.dif
|
|
Patch108: openldap-2.3.37-libldap-ld_defconn-ldap_free_connection.dif
|
|
Patch109: openldap-2.3.37-libldap-tls_chkhost-its6239.dif
|
|
Patch110: openldap-2.3.37-libldap-ssl.dif
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%if "%{name}" == "openldap2"
|
|
|
|
%description
|
|
The Lightweight Directory Access Protocol (LDAP) is used to access
|
|
online directory services. It runs directly over TCP and can be used to
|
|
access a stand-alone LDAP directory service or to access a directory
|
|
service that has an X.500 back-end.
|
|
|
|
%package -n openldap2-back-perl
|
|
Summary: OpenLDAP Perl Back-End
|
|
License: OLDAP-2.8
|
|
Group: Productivity/Networking/LDAP/Servers
|
|
Requires: openldap2 = %{version_main}
|
|
Requires: perl = %{perl_version}
|
|
|
|
%description -n openldap2-back-perl
|
|
The OpenLDAP Perl back-end allows you to execute Perl code specific to
|
|
different LDAP operations.
|
|
|
|
%package -n openldap2-back-meta
|
|
Summary: OpenLDAP Meta Back-End
|
|
License: OLDAP-2.8
|
|
Group: Productivity/Networking/LDAP/Servers
|
|
Requires: openldap2 = %{version_main}
|
|
Provides: openldap2:/usr/share/man/man5/slapd-meta.5.gz
|
|
|
|
%description -n openldap2-back-meta
|
|
The OpenLDAP Meta back-end is able to perform basic LDAP proxying with
|
|
respect to a set of remote LDAP servers. The information contained in
|
|
these servers can be presented as belonging to a single Directory
|
|
Information Tree (DIT).
|
|
|
|
%package -n openldap2-back-sql
|
|
Summary: OpenLDAP SQL Back-End
|
|
License: OLDAP-2.8
|
|
Group: Productivity/Networking/LDAP/Servers
|
|
Requires: openldap2 = %{version_main}
|
|
|
|
%description -n openldap2-back-sql
|
|
The primary purpose of this OpenLDAP backend is to present information
|
|
stored in a Relational (SQL) Database as an LDAP subtree without the need
|
|
to do any programming.
|
|
|
|
%package -n openldap2-doc
|
|
Summary: OpenLDAP Documentation
|
|
License: OLDAP-2.8
|
|
Group: Documentation/Other
|
|
Provides: openldap2:/usr/share/doc/packages/openldap2/drafts/README
|
|
%if 0%{?suse_version} > 1110
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description -n openldap2-doc
|
|
The OpenLDAP Admin Guide plus a set of OpenLDAP related IETF internet drafts
|
|
|
|
%package -n compat-libldap-2_3-0
|
|
Summary: OpenLDAP Client Libraries
|
|
License: BSD-3-Clause and OLDAP-2.8 and OLDAP-2.8
|
|
Group: Productivity/Networking/LDAP/Clients
|
|
Version: 2.3.37
|
|
Release: 2.<RELEASE22>
|
|
|
|
%description -n compat-libldap-2_3-0
|
|
This package contains the OpenLDAP client libraries.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
The OpenLDAP Project <project@openldap.org>
|
|
|
|
%else
|
|
|
|
%description
|
|
This package contains the OpenLDAP client utilities.
|
|
|
|
%package -n openldap2-devel
|
|
Summary: Libraries, Header Files and Documentation for OpenLDAP
|
|
License: OLDAP-2.8
|
|
Group: Development/Libraries/C and C++
|
|
# bug437293
|
|
%ifarch ppc64
|
|
Obsoletes: openldap2-devel-64bit
|
|
%endif
|
|
#
|
|
Conflicts: openldap-devel
|
|
Requires: libldap-2_4-2 = %{version_main}
|
|
|
|
%description -n openldap2-devel
|
|
This package provides the OpenLDAP libraries, header files, and
|
|
documentation.
|
|
|
|
%package -n openldap2-devel-static
|
|
Summary: Static libraries for the OpenLDAP libraries
|
|
License: OLDAP-2.8
|
|
Group: Development/Libraries/C and C++
|
|
Requires: openldap2-devel = %version
|
|
%if %sles_version == 10
|
|
Requires: openssl-devel
|
|
%else
|
|
Requires: libopenssl-devel
|
|
%endif
|
|
Requires: cyrus-sasl-devel
|
|
|
|
%description -n openldap2-devel-static
|
|
This package provides the static versions of the OpenLDAP libraries
|
|
for development.
|
|
|
|
%package -n libldap-2_4-2
|
|
Summary: OpenLDAP Client Libraries
|
|
License: OLDAP-2.8
|
|
Group: Productivity/Networking/LDAP/Clients
|
|
|
|
%description -n libldap-2_4-2
|
|
This package contains the OpenLDAP client libraries.
|
|
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q -n openldap-%{version_main} -a1 -a2 -b100
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
cp %{SOURCE5} .
|
|
cp %{SOURCE6} .
|
|
cd ../openldap-2.3.37
|
|
%patch100
|
|
%patch101
|
|
%patch102
|
|
%patch103
|
|
%patch104
|
|
%patch105
|
|
%patch106
|
|
%patch107
|
|
%patch108
|
|
%patch109 -p1
|
|
%patch110
|
|
|
|
%build
|
|
%{?suse_update_config:%{suse_update_config -f build}}
|
|
libtoolize --force
|
|
autoreconf
|
|
export CFLAGS="$RPM_OPT_FLAGS -Wno-format-extra-args -fno-strict-aliasing -DLDAP_DEPRECATED -DLDAP_CONNECTIONLESS -DSLAP_CONFIG_DELETE"
|
|
export STRIP=""
|
|
%configure \
|
|
--localstatedir=%{_rundir}/slapd \
|
|
--libexecdir=/usr/lib/openldap \
|
|
--enable-wrappers \
|
|
--enable-spasswd \
|
|
--enable-modules \
|
|
--enable-shared \
|
|
--enable-dynamic \
|
|
--with-tls \
|
|
--with-cyrus-sasl \
|
|
--enable-crypt \
|
|
--enable-ipv6=yes \
|
|
%if "%{name}" == "openldap2"
|
|
--enable-aci \
|
|
--enable-bdb \
|
|
--enable-hdb \
|
|
--enable-rewrite \
|
|
--enable-ldap=yes \
|
|
--enable-meta=mod \
|
|
--enable-monitor=yes \
|
|
--enable-perl=mod \
|
|
--enable-sql=mod \
|
|
--enable-mdb=yes \
|
|
--enable-slp \
|
|
--enable-overlays=mod \
|
|
--enable-syncprov=yes \
|
|
--enable-ppolicy=yes \
|
|
%else
|
|
--disable-slapd \
|
|
%endif
|
|
--enable-lmpasswd \
|
|
--with-yielding-select
|
|
make depend
|
|
make %{?jobs:-j%jobs}
|
|
%if "%{name}" == "openldap2"
|
|
#%if %suse_version < 1130
|
|
# build a static slapcat binary from the OpenLDAP 2.3 release
|
|
# to be able to update existing databases
|
|
cd ../openldap-2.3.37
|
|
%{?suse_update_config:%{suse_update_config -f build}}
|
|
# update config.sub for recent architectures
|
|
cp -a ../openldap-%{version_main}/build/config.sub build/config.sub
|
|
libtoolize --force
|
|
#aclocal -I build
|
|
autoreconf
|
|
export CFLAGS="$RPM_OPT_FLAGS -Wno-format-extra-args -fno-strict-aliasing -DLDAP_DEPRECATED -DLDAP_CONNECTIONLESS"
|
|
%configure --localstatedir=%{_rundir}/slapd --libexecdir=/usr/lib/openldap \
|
|
--enable-aci \
|
|
--enable-hdb --enable-bdb --enable-ldbm --enable-crypt \
|
|
--enable-ipv6=no \
|
|
--enable-ldap --enable-monitor --enable-meta --enable-rewrite \
|
|
--enable-dynamic=no --enable-shared=yes
|
|
make depend
|
|
make -C libraries %{?jobs:-j%jobs}
|
|
|
|
#%endif
|
|
%endif
|
|
|
|
%check
|
|
%if %run_test_suite
|
|
# calculate the base port to be use in the test-suite
|
|
SLAPD_BASEPORT=10000
|
|
if [ -f /.buildenv ] ; then
|
|
. /.buildenv
|
|
SLAPD_BASEPORT=$(($SLAPD_BASEPORT + ${BUILD_INCARNATION:-0} * 10))
|
|
fi
|
|
export SLAPD_BASEPORT
|
|
%ifnarch %arm alpha
|
|
rm -f tests/scripts/test019-syncreplication-cascade
|
|
rm -f tests/scripts/test022-ppolicy
|
|
rm -f tests/scripts/test023-refint
|
|
rm -f tests/scripts/test033-glue-syncrepl
|
|
#rm -f tests/scripts/test036-meta-concurrency
|
|
#rm -f tests/scripts/test039-glue-ldap-concurrency
|
|
rm -f tests/scripts/test043-delta-syncrepl
|
|
#rm -f tests/scripts/test045-syncreplication-proxied
|
|
rm -f tests/scripts/test048-syncrepl-multiproxy
|
|
rm -f tests/scripts/test050-syncrepl-multimaster
|
|
rm -f tests/scripts/test058-syncrepl-asymmetric
|
|
make SLAPD_DEBUG=0 test
|
|
%endif
|
|
%endif
|
|
|
|
%install
|
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/openldap/
|
|
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
|
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
|
|
make STRIP="" DESTDIR=$RPM_BUILD_ROOT install
|
|
install -m 755 start $RPM_BUILD_ROOT/usr/lib/openldap/start
|
|
install -m 644 slapd.service $RPM_BUILD_ROOT/%{_unitdir}
|
|
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/openldap/slapd.d
|
|
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sasl2
|
|
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}/sasl2/slapd.conf
|
|
install -m 755 -d $RPM_BUILD_ROOT/var/lib/ldap
|
|
chmod a+x $RPM_BUILD_ROOT/%{_libdir}/liblber.so*
|
|
chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap_r.so*
|
|
chmod a+x $RPM_BUILD_ROOT/%{_libdir}/libldap.so*
|
|
install -m 755 %{SOURCE7} $RPM_BUILD_ROOT/usr/sbin/schema2ldif
|
|
%if "%{name}" == "openldap2"
|
|
%define DOCDIR %{_defaultdocdir}/%{name}
|
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
|
install -m 644 sysconfig.openldap $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.openldap
|
|
install -m 644 *.schema $RPM_BUILD_ROOT/etc/openldap/schema
|
|
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/var/lib/ldap/DB_CONFIG
|
|
install -m 644 $RPM_BUILD_ROOT/etc/openldap/DB_CONFIG.example $RPM_BUILD_ROOT/var/lib/ldap/DB_CONFIG.example
|
|
install -d $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/
|
|
install -m 644 SuSEfirewall2.openldap $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/openldap
|
|
rm -f `find doc/guide ! -name *.html -a ! -name *.gif -a ! -name *.png -a ! -type d`
|
|
rm -rf doc/guide/release
|
|
install -d $RPM_BUILD_ROOT/%{DOCDIR}/adminguide \
|
|
$RPM_BUILD_ROOT/%{DOCDIR}/images \
|
|
$RPM_BUILD_ROOT/%{DOCDIR}/drafts
|
|
install -m 644 doc/guide/admin/* $RPM_BUILD_ROOT/%{DOCDIR}/adminguide
|
|
install -m 644 doc/guide/images/*.gif $RPM_BUILD_ROOT/%{DOCDIR}/images
|
|
install -m 644 doc/drafts/* $RPM_BUILD_ROOT/%{DOCDIR}/drafts
|
|
install -m 644 ANNOUNCEMENT \
|
|
COPYRIGHT \
|
|
LICENSE \
|
|
README \
|
|
CHANGES \
|
|
%{SOURCE5} \
|
|
%{SOURCE6} \
|
|
$RPM_BUILD_ROOT/%{DOCDIR}
|
|
install -m 644 servers/slapd/slapd.ldif \
|
|
$RPM_BUILD_ROOT/%{DOCDIR}/slapd.ldif.default
|
|
rm -f $RPM_BUILD_ROOT/etc/openldap/DB_CONFIG.example
|
|
rm -f $RPM_BUILD_ROOT/etc/openldap/schema/README
|
|
rm -f $RPM_BUILD_ROOT/etc/openldap/slapd.ldif*
|
|
rm -f $RPM_BUILD_ROOT%{_rundir}/slapd/openldap-data/DB_CONFIG.example
|
|
mv servers/slapd/back-sql/rdbms_depend servers/slapd/back-sql/examples
|
|
# Provide SUSE policy symlink /usr/sbin/rcFOO -> /etc/init.d/FOO
|
|
# /usr/sbin/service exists only since openSUSE 12.3:
|
|
%if 0%{?suse_version} > 1220
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcslapd
|
|
%else
|
|
ln -s /sbin/service %{buildroot}%{_sbindir}/rcslapd
|
|
%endif
|
|
%if %suse_version < 1130
|
|
# install 2.3 slapcat
|
|
install -m 755 ../openldap-2.3.37/servers/slapd/slapcat $RPM_BUILD_ROOT/usr/sbin/openldap-2.3-slapcat
|
|
%endif
|
|
# install sle-10 compat libraries
|
|
pushd ../openldap-2.3.37/libraries
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
popd
|
|
%endif
|
|
rm -f $RPM_BUILD_ROOT/usr/lib/openldap/modules/*.a
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-dnssrv.5
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-ndb.5
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-null.5
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-passwd.5
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-shell.5
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-sock.5
|
|
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/slapd-tcl.5
|
|
# Remove *.la files, libtool does not handle this correct
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
|
|
|
|
#put filelists into files
|
|
cat >openldap2.filelist <<EOF
|
|
/var/adm/fillup-templates/sysconfig.openldap
|
|
%config /etc/sysconfig/SuSEfirewall2.d/services/openldap
|
|
/usr/sbin/slap*
|
|
/usr/sbin/rcslapd
|
|
%dir /etc/sasl2
|
|
%dir /etc/openldap
|
|
%dir %attr(0770, ldap, ldap) /etc/openldap/slapd.d
|
|
%dir /etc/openldap/schema
|
|
%config /etc/openldap/schema/*.schema
|
|
%config /etc/openldap/schema/*.ldif
|
|
%config(noreplace) %attr(640, root, ldap) /etc/openldap/slapd.conf
|
|
%config(noreplace) %attr(640, ldap, ldap) /var/lib/ldap/DB_CONFIG
|
|
%config /var/lib/ldap/DB_CONFIG.example
|
|
%attr(640, root, ldap) /%{_sysconfdir}/openldap/slapd.conf.default
|
|
%config(noreplace) /etc/sasl2/slapd.conf
|
|
%dir /usr/lib/openldap
|
|
%dir /usr/lib/openldap/modules
|
|
/usr/lib/openldap/modules/accesslog*
|
|
/usr/lib/openldap/modules/auditlog*
|
|
/usr/lib/openldap/modules/collect*
|
|
/usr/lib/openldap/modules/constraint*
|
|
/usr/lib/openldap/modules/dds*
|
|
/usr/lib/openldap/modules/deref*
|
|
/usr/lib/openldap/modules/dyngroup*
|
|
/usr/lib/openldap/modules/dynlist*
|
|
/usr/lib/openldap/modules/memberof*
|
|
/usr/lib/openldap/modules/pcache*
|
|
/usr/lib/openldap/modules/refint*
|
|
/usr/lib/openldap/modules/retcode*
|
|
/usr/lib/openldap/modules/rwm*
|
|
/usr/lib/openldap/modules/seqmod*
|
|
/usr/lib/openldap/modules/sssvlv*
|
|
/usr/lib/openldap/modules/translucent*
|
|
/usr/lib/openldap/modules/unique*
|
|
/usr/lib/openldap/modules/valsort*
|
|
/usr/lib/openldap/slapd
|
|
/usr/lib/openldap/start
|
|
/usr/lib/systemd/system/slapd.service
|
|
%dir %attr(0700, ldap, ldap) /var/lib/ldap
|
|
%dir %attr(0755, ldap, ldap) %ghost %{_rundir}/slapd
|
|
%doc %{_mandir}/man8/sl*
|
|
%doc %{_mandir}/man5/slapd.*
|
|
%doc %{_mandir}/man5/slapd-bdb.*
|
|
%doc %{_mandir}/man5/slapd-config.*
|
|
%doc %{_mandir}/man5/slapd-hdb.*
|
|
%doc %{_mandir}/man5/slapd-ldbm.*
|
|
%doc %{_mandir}/man5/slapd-ldap.*
|
|
%doc %{_mandir}/man5/slapd-ldif.*
|
|
%doc %{_mandir}/man5/slapd-mdb.*
|
|
%doc %{_mandir}/man5/slapd-monitor.*
|
|
%doc %{_mandir}/man5/slapd-relay.*
|
|
%doc %{_mandir}/man5/slapo-*
|
|
%dir %{DOCDIR}
|
|
%doc %{DOCDIR}/ANNOUNCEMENT
|
|
%doc %{DOCDIR}/COPYRIGHT
|
|
%doc %{DOCDIR}/LICENSE
|
|
%doc %{DOCDIR}/README*
|
|
%doc %{DOCDIR}/CHANGES
|
|
%doc %{DOCDIR}/slapd.ldif.default
|
|
EOF
|
|
%if %suse_version < 1130
|
|
cat >>openldap2.filelist <<EOF
|
|
/usr/sbin/openldap-2.3-slapcat
|
|
EOF
|
|
%endif
|
|
cat > compat-libldap.filelist <<EOF
|
|
%{_libdir}/liblber*2.3.so.*
|
|
%{_libdir}/libldap*2.3.so.*
|
|
EOF
|
|
#
|
|
#
|
|
cat > openldap2-client.filelist <<EOF
|
|
%dir /etc/openldap
|
|
%config(noreplace) /etc/openldap/ldap.conf
|
|
/etc/openldap/ldap.conf.default
|
|
/usr/bin/ldapadd
|
|
/usr/bin/ldapcompare
|
|
/usr/bin/ldapdelete
|
|
/usr/bin/ldapexop
|
|
/usr/bin/ldapmodify
|
|
/usr/bin/ldapmodrdn
|
|
/usr/bin/ldapsearch
|
|
/usr/bin/ldappasswd
|
|
/usr/bin/ldapurl
|
|
/usr/bin/ldapwhoami
|
|
/usr/sbin/schema2ldif
|
|
%doc %{_mandir}/man1/ldap*
|
|
%doc %{_mandir}/man5/ldap.conf*
|
|
%doc %{_mandir}/man5/ldif.*
|
|
EOF
|
|
cat > libldap.filelist <<EOF
|
|
%{_libdir}/liblber*2.4.so.*
|
|
%{_libdir}/libldap*2.4.so.*
|
|
EOF
|
|
cat > openldap2-devel.filelist <<EOF
|
|
/usr/include/*.h
|
|
%{_libdir}/liblber.so
|
|
%{_libdir}/libldap*.so
|
|
%doc %{_mandir}/man3/ber*
|
|
%doc %{_mandir}/man3/lber*
|
|
%doc %{_mandir}/man3/ld_errno*
|
|
%doc %{_mandir}/man3/ldap*
|
|
EOF
|
|
cat > openldap2-devel-static.filelist <<-EOF
|
|
%_libdir/liblber.a
|
|
%_libdir/libldap*.a
|
|
EOF
|
|
cat > openldap2-back-perl.filelist <<EOF
|
|
/usr/lib/openldap/modules/back_perl*
|
|
%doc %{_mandir}/man5/slapd-perl.*
|
|
EOF
|
|
cat > openldap2-back-meta.filelist <<EOF
|
|
/usr/lib/openldap/modules/back_meta*
|
|
%doc %{_mandir}/man5/slapd-meta.*
|
|
EOF
|
|
cat > openldap2-back-sql.filelist <<EOF
|
|
/usr/lib/openldap/modules/back_sql*
|
|
%doc %{_mandir}/man5/slapd-sql.*
|
|
%doc servers/slapd/back-sql/examples
|
|
%doc servers/slapd/back-sql/docs/bugs
|
|
%doc servers/slapd/back-sql/docs/install
|
|
EOF
|
|
cat >openldap2-doc.filelist <<EOF
|
|
%dir %{DOCDIR}
|
|
%doc %{DOCDIR}/drafts
|
|
%doc %{DOCDIR}/adminguide
|
|
%doc %{DOCDIR}/images
|
|
EOF
|
|
#remove files from other spec file
|
|
%if "%{name}" == "openldap2"
|
|
cat openldap2-client.filelist libldap.filelist openldap2-devel.filelist \
|
|
openldap2-devel-static.filelist |
|
|
%else
|
|
cat openldap2.filelist openldap2-back-perl.filelist \
|
|
openldap2-back-meta.filelist openldap2-back-sql.filelist \
|
|
openldap2-doc.filelist compat-libldap.filelist |
|
|
%endif
|
|
grep -v "%dir " |sed -e "s|^.* ||" |grep "^/" |while read name ; do
|
|
rm -rf $RPM_BUILD_ROOT$name
|
|
done
|
|
%if "%{name}" == "openldap2"
|
|
|
|
%pre
|
|
/usr/sbin/groupadd -g 70 -o -r ldap 2> /dev/null || :
|
|
/usr/sbin/useradd -r -o -g ldap -u 76 -s /bin/bash -c "User for OpenLDAP" -d \
|
|
/var/lib/ldap ldap 2> /dev/null || :
|
|
# try to figure out if a db update is needed
|
|
if [ ${1:-0} -gt 1 ] && [ -f /usr/lib/openldap/slapd ] &&
|
|
/usr/bin/strings /usr/lib/openldap/slapd | \
|
|
grep "slapd 2.3" 2>&1 > /dev/null;
|
|
then
|
|
# create a backup of the schema shipped with 2.3
|
|
# at least core.schema changed between 2.3 and 2.4
|
|
TEMPDIR=`mktemp -d /etc/openldap/schema.backup.XXXXXX`
|
|
echo "Schema backup created in $TEMPDIR"
|
|
cp -p --remove-destination /etc/openldap/schema/* $TEMPDIR
|
|
echo $TEMPDIR > /etc/openldap/UPDATE_NEEDED ;
|
|
fi
|
|
if /usr/bin/chkconfig ldap 2>&1 | grep -q on; then
|
|
touch /var/run/enable_slapd_service
|
|
fi
|
|
%service_add_pre slapd.service
|
|
|
|
%post
|
|
if [ ${1:-0} -gt 1 ] && [ -f %{_libdir}/sasl2/slapd.conf ] ; then
|
|
cp /etc/sasl2/slapd.conf /etc/sasl2/slapd.conf.rpmnew
|
|
cp %{_libdir}/sasl2/slapd.conf /etc/sasl2/slapd.conf
|
|
fi
|
|
%{fillup_only -n openldap ldap}
|
|
%{remove_and_set -n openldap OPENLDAP_RUN_DB_RECOVER}
|
|
%service_add_post slapd.service
|
|
if [ -f /var/run/enable_slapd_service ]; then
|
|
/usr/bin/systemctl --quiet enable slapd
|
|
fi
|
|
|
|
%preun
|
|
%service_del_preun slapd.service
|
|
|
|
%postun
|
|
%service_del_postun slapd.service
|
|
|
|
%post -n compat-libldap-2_3-0 -p /sbin/ldconfig
|
|
|
|
%postun -n compat-libldap-2_3-0 -p /sbin/ldconfig
|
|
|
|
%files -f openldap2.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n openldap2-back-perl -f openldap2-back-perl.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n openldap2-back-meta -f openldap2-back-meta.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n openldap2-back-sql -f openldap2-back-sql.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n openldap2-doc -f openldap2-doc.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n compat-libldap-2_3-0 -f compat-libldap.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%else
|
|
|
|
%post -n libldap-2_4-2 -p /sbin/ldconfig
|
|
|
|
%postun -n libldap-2_4-2 -p /sbin/ldconfig
|
|
|
|
%files -f openldap2-client.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n libldap-2_4-2 -f libldap.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n openldap2-devel -f openldap2-devel.filelist
|
|
%defattr(-,root,root)
|
|
|
|
%files -n openldap2-devel-static -f openldap2-devel-static.filelist
|
|
%defattr(-,root,root)
|
|
%endif
|
|
|
|
%changelog
|