clean the package build process
This commit is contained in:
parent
9eda95bba4
commit
824671e8d7
47
openldap-autoconf-pkgconfig-nss.patch
Normal file
47
openldap-autoconf-pkgconfig-nss.patch
Normal file
@ -0,0 +1,47 @@
|
||||
Use pkg-config for Mozilla NSS library detection
|
||||
|
||||
Author: Jan Vcelak <jvcelak@redhat.com>
|
||||
|
||||
---
|
||||
configure.in | 20 +++++---------------
|
||||
1 file changed, 5 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index f0f8d99..2a9cfb4 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1223,26 +1223,16 @@ if test $ol_link_tls = no ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
-dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3
|
||||
-dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs
|
||||
-dnl are not in the default system location
|
||||
if test $ol_link_tls = no ; then
|
||||
if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then
|
||||
- have_moznss=no
|
||||
- AC_CHECK_HEADERS([nssutil.h])
|
||||
- if test "$ac_cv_header_nssutil_h" = yes ; then
|
||||
- AC_CHECK_LIB([nss3], [NSS_Initialize],
|
||||
- [ have_moznss=yes ], [ have_moznss=no ])
|
||||
- fi
|
||||
+ PKG_CHECK_MODULES(MOZNSS, [nss nspr], [have_moznss=yes], [have_moznss=no])
|
||||
|
||||
- if test "$have_moznss" = yes ; then
|
||||
+ if test $have_moznss = yes ; then
|
||||
ol_with_tls=moznss
|
||||
ol_link_tls=yes
|
||||
- AC_DEFINE(HAVE_MOZNSS, 1,
|
||||
- [define if you have MozNSS])
|
||||
- TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
|
||||
- else
|
||||
- AC_MSG_ERROR([MozNSS not found - please specify the location to the NSPR and NSS header files in CPPFLAGS and the location to the NSPR and NSS libraries in LDFLAGS (if not in the system location)])
|
||||
+ AC_DEFINE(HAVE_MOZNSS, 1, [define if you have MozNSS])
|
||||
+ TLS_LIBS="$MOZNSS_LIBS"
|
||||
+ CFLAGS="$CFLAGS $MOZNSS_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
--
|
||||
1.7.10.4
|
||||
|
226
openldap.spec
226
openldap.spec
@ -8,7 +8,7 @@
|
||||
|
||||
Name: openldap
|
||||
Version: 2.4.31
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: LDAP support libraries
|
||||
Group: System Environment/Daemons
|
||||
License: OpenLDAP
|
||||
@ -48,13 +48,13 @@ Patch16: openldap-nss-default-cipher-suite-always-selected.patch
|
||||
Patch17: openldap-nss-multiple-tls-contexts.patch
|
||||
|
||||
# Fedora specific patches
|
||||
Patch100: openldap-fedora-systemd.patch
|
||||
Patch100: openldap-autoconf-pkgconfig-nss.patch
|
||||
Patch101: openldap-fedora-systemd.patch
|
||||
|
||||
# patches for the evolution library (see README.evolution)
|
||||
Patch200: openldap-evolution-ntlm.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: cyrus-sasl-devel, nss-devel, krb5-devel, tcp_wrappers-devel, unixODBC-devel
|
||||
BuildRequires: glibc-devel, libtool, libtool-ltdl-devel, groff, perl
|
||||
# smbk5pwd overlay:
|
||||
@ -137,10 +137,16 @@ programs needed for accessing and modifying OpenLDAP directories.
|
||||
%prep
|
||||
%setup -q -c -a 0
|
||||
|
||||
# setup tree for openldap
|
||||
|
||||
pushd openldap-%{version}
|
||||
|
||||
# use pkg-config for Mozilla NSS library
|
||||
%patch100 -p1
|
||||
AUTOMAKE=/bin/true autoreconf --install --force
|
||||
|
||||
# alternative include paths for Mozilla NSS
|
||||
ln -s %{_includedir}/nss3 include/nss
|
||||
ln -s %{_includedir}/nspr4 include/nspr
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
@ -160,14 +166,7 @@ pushd openldap-%{version}
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
|
||||
%patch100 -p1
|
||||
|
||||
cp %{_datadir}/libtool/config/config.{sub,guess} build/
|
||||
|
||||
for subdir in build-servers build-clients ; do
|
||||
mkdir $subdir
|
||||
ln -s ../configure $subdir
|
||||
done
|
||||
%patch101 -p1
|
||||
|
||||
# build smbk5pwd with other overlays
|
||||
ln -s ../../../contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
|
||||
@ -181,8 +180,7 @@ done
|
||||
|
||||
popd
|
||||
|
||||
# setup tree for openldap with evolution-specific patches
|
||||
|
||||
# patched static libraries for Evolution
|
||||
if ! cp -al openldap-%{version} evo-openldap-%{version} ; then
|
||||
rm -fr evo-openldap-%{version}
|
||||
cp -a openldap-%{version} evo-openldap-%{version}
|
||||
@ -193,141 +191,97 @@ popd
|
||||
|
||||
%build
|
||||
|
||||
libtool='%{_bindir}/libtool'
|
||||
export tagname=CC
|
||||
|
||||
export CPPFLAGS="-I%_includedir/nss3 -I%_includedir/nspr4"
|
||||
export CFLAGS="$RPM_OPT_FLAGS $CPPFLAGS -fPIC -D_REENTRANT -DLDAP_CONNECTIONLESS -D_GNU_SOURCE -DHAVE_TLS -DHAVE_MOZNSS -DSLAPD_LMHASH"
|
||||
export NSS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
|
||||
export LIBS=""
|
||||
|
||||
build() {
|
||||
# avoid stray dependencies (linker flag --as-needed)
|
||||
# enable experimental support for LDAP over UDP (LDAP_CONNECTIONLESS)
|
||||
export CFLAGS="%{optflags} -Wl,--as-needed -DLDAP_CONNECTIONLESS"
|
||||
|
||||
pushd openldap-%{version}
|
||||
%configure \
|
||||
--with-threads=posix \
|
||||
\
|
||||
--enable-local \
|
||||
--enable-rlookups \
|
||||
\
|
||||
--with-tls=no \
|
||||
--with-cyrus-sasl \
|
||||
\
|
||||
--enable-wrappers \
|
||||
\
|
||||
--enable-passwd \
|
||||
\
|
||||
--enable-debug \
|
||||
--enable-dynamic \
|
||||
--enable-syslog \
|
||||
--enable-proctitle \
|
||||
--enable-ipv6 \
|
||||
--enable-local \
|
||||
\
|
||||
--enable-slapd \
|
||||
--enable-dynacl \
|
||||
--enable-aci \
|
||||
--enable-cleartext \
|
||||
--enable-crypt \
|
||||
--enable-lmpasswd \
|
||||
--enable-spasswd \
|
||||
--disable-lmpasswd \
|
||||
--enable-modules \
|
||||
--disable-sql \
|
||||
\
|
||||
--libexecdir=%{_libdir} \
|
||||
$@
|
||||
|
||||
# allow #include <nss/file.h> and <nspr/file.h>
|
||||
pushd include
|
||||
if [ ! -d nss ] ; then
|
||||
ln -s %{_includedir}/nss3 nss
|
||||
fi
|
||||
if [ ! -d nspr ] ; then
|
||||
ln -s %{_includedir}/nspr4 nspr
|
||||
fi
|
||||
popd
|
||||
|
||||
make %{_smp_mflags} LIBTOOL="$libtool"
|
||||
|
||||
}
|
||||
|
||||
# Kerberos support:
|
||||
# - enabled in server (mainly for password checking)
|
||||
# - disabled in clients (not needed, to avoid stray dependencies)
|
||||
|
||||
# build servers
|
||||
export LIBS="$NSS_LIBS -lpthread"
|
||||
pushd openldap-%{version}/build-servers
|
||||
build \
|
||||
--enable-slapd \
|
||||
--enable-bdb \
|
||||
--enable-dnssrv=mod \
|
||||
--enable-hdb \
|
||||
--enable-ldap=mod \
|
||||
--enable-meta=mod \
|
||||
--enable-monitor \
|
||||
--enable-null=mod \
|
||||
--enable-shell=mod \
|
||||
--enable-sql=mod \
|
||||
--enable-mdb=mod \
|
||||
--enable-modules \
|
||||
--enable-rewrite \
|
||||
--enable-rlookups \
|
||||
--enable-slapi \
|
||||
--disable-slp \
|
||||
--enable-wrappers \
|
||||
\
|
||||
--enable-backends=mod \
|
||||
--enable-bdb=yes \
|
||||
--enable-hdb=yes \
|
||||
--enable-monitor=yes \
|
||||
--disable-ndb \
|
||||
--enable-passwd=mod \
|
||||
--enable-sock=mod \
|
||||
--disable-perl \
|
||||
--enable-relay=mod \
|
||||
\
|
||||
--enable-overlays=mod \
|
||||
--enable-dynacl \
|
||||
--enable-aci=yes \
|
||||
--disable-shared \
|
||||
--disable-dynamic
|
||||
\
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
\
|
||||
--with-cyrus-sasl \
|
||||
--without-fetch \
|
||||
--with-threads \
|
||||
--with-pic \
|
||||
--with-tls=moznss \
|
||||
--with-gnu-ld \
|
||||
\
|
||||
--libexecdir=%{_libdir}
|
||||
|
||||
make %{_smp_mflags}
|
||||
popd
|
||||
|
||||
# build clients
|
||||
export LIBS="$NSS_LIBS"
|
||||
pushd openldap-%{version}/build-clients
|
||||
build \
|
||||
--disable-slapd \
|
||||
--enable-shared \
|
||||
--enable-dynamic \
|
||||
--without-kerberos \
|
||||
--with-pic
|
||||
popd
|
||||
|
||||
# build evolution-specific clients
|
||||
# (specific patch, different installation directory, no shared libraries)
|
||||
# build patched static library for Evolution
|
||||
pushd evo-openldap-%{version}
|
||||
build \
|
||||
--disable-slapd \
|
||||
--disable-shared \
|
||||
--disable-dynamic \
|
||||
--enable-static \
|
||||
--without-kerberos \
|
||||
--with-pic \
|
||||
%configure \
|
||||
--enable-debug \
|
||||
--disable-dynamic \
|
||||
--disable-syslog \
|
||||
--disable-proctitle \
|
||||
--enable-ipv6 \
|
||||
--disable-local \
|
||||
\
|
||||
--disable-slapd \
|
||||
\
|
||||
--enable-static \
|
||||
--disable-shared \
|
||||
\
|
||||
--with-cyrus-sasl \
|
||||
--without-fetch \
|
||||
--with-threads \
|
||||
--with-pic \
|
||||
--with-tls=moznss \
|
||||
--with-gnu-ld \
|
||||
\
|
||||
--includedir=%{evolution_connector_includedir} \
|
||||
--libdir=%{evolution_connector_libdir}
|
||||
|
||||
make %{_smp_mflags}
|
||||
popd
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
libtool='%{_bindir}/libtool'
|
||||
export tagname=CC
|
||||
|
||||
mkdir -p %{buildroot}%{_libdir}/
|
||||
|
||||
# install servers
|
||||
pushd openldap-%{version}/build-servers
|
||||
make install DESTDIR=%{buildroot} \
|
||||
libdir=%{_libdir} \
|
||||
LIBTOOL="$libtool" \
|
||||
STRIP=""
|
||||
popd
|
||||
|
||||
# install evolution-specific clients (conflicting files will be overwriten by generic version)
|
||||
# install evolution-specific libraries (conflicting files will be overwriten by generic version)
|
||||
pushd evo-openldap-%{version}
|
||||
make install DESTDIR=%{buildroot} \
|
||||
includedir=%{evolution_connector_includedir} \
|
||||
libdir=%{evolution_connector_libdir} \
|
||||
LIBTOOL="$libtool" \
|
||||
STRIP=""
|
||||
install -m 644 %SOURCE100 \
|
||||
%{buildroot}%{evolution_connector_prefix}/
|
||||
make install DESTDIR=%{buildroot} STRIP=""
|
||||
install -m 644 %SOURCE100 %{buildroot}%{evolution_connector_prefix}/
|
||||
popd
|
||||
|
||||
# install clients
|
||||
pushd openldap-%{version}/build-clients
|
||||
make install DESTDIR=%{buildroot} \
|
||||
libdir=%{_libdir} \
|
||||
LIBTOOL="$libtool" \
|
||||
STRIP=""
|
||||
pushd openldap-%{version}
|
||||
make install DESTDIR=%{buildroot} STRIP=""
|
||||
popd
|
||||
|
||||
# setup directories for TLS certificates
|
||||
@ -402,10 +356,7 @@ chmod 0644 %{buildroot}%{_datadir}/openldap-servers/DB_CONFIG.example
|
||||
|
||||
# remove files which we don't want packaged
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
rm -f %{buildroot}%{_libdir}/*.a
|
||||
rm -f %{buildroot}%{evolution_connector_libdir}/*.la
|
||||
rm -f %{buildroot}%{evolution_connector_libdir}/*.so*
|
||||
rm -f %{buildroot}%{_libdir}/openldap/*.a
|
||||
rm -f %{buildroot}%{_libdir}/openldap/*.so
|
||||
|
||||
rm -f %{buildroot}%{_localstatedir}/openldap-data/DB_CONFIG.example
|
||||
@ -610,6 +561,7 @@ exit 0
|
||||
%dir %attr(-,ldap,ldap) %{_localstatedir}/run/openldap
|
||||
%{_unitdir}/slapd.service
|
||||
%{_datadir}/openldap-servers/
|
||||
%{_libdir}/libslapi-2.4*.so.*
|
||||
%{_libdir}/openldap/accesslog*
|
||||
%{_libdir}/openldap/auditlog*
|
||||
%{_libdir}/openldap/back_dnssrv*
|
||||
@ -664,12 +616,20 @@ exit 0
|
||||
|
||||
%files devel
|
||||
%doc openldap-%{version}/doc/drafts openldap-%{version}/doc/rfc
|
||||
%{_libdir}/libl*.so
|
||||
%{_libdir}/lib*.so
|
||||
%{_includedir}/*
|
||||
%{_mandir}/man3/*
|
||||
%{evolution_connector_prefix}/
|
||||
|
||||
%changelog
|
||||
* Wed Jul 18 2012 Jan Vcelak <jvcelak@redhat.com> 2.4.31-4
|
||||
- modify the package build process
|
||||
+ fix autoconfig files to detect Mozilla NSS library using pkg-config
|
||||
+ remove compiler flags which are not needed currently
|
||||
+ build server, client and library together
|
||||
+ avoid stray dependencies by using --as-needed linker flag
|
||||
+ enable SLAPI interface in slapd
|
||||
|
||||
* Wed Jun 27 2012 Jan Vcelak <jvcelak@redhat.com> 2.4.31-3
|
||||
- update fix: count constraint broken when using multiple modifications (#795766)
|
||||
- fix: invalid order of TLS shutdown operations (#808464)
|
||||
|
Loading…
Reference in New Issue
Block a user