summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Bogusz2019-11-07 16:49:41 (GMT)
committerJakub Bogusz2019-11-07 16:49:41 (GMT)
commite6c7022c837245a56deeb5025304e08b5fa14d84 (patch)
tree1f7745915837bfedcfe7cc23e2e24358cc7718df
parentb758b77b16c516fa54573e9c3c1b9786a827a212 (diff)
downloadopenldap-e6c7022c837245a56deeb5025304e08b5fa14d84.zip
openldap-e6c7022c837245a56deeb5025304e08b5fa14d84.tar.gz
- updated to 2.4.48auto/th/openldap-2.4.48-1
- added slapd_for_symbols_check (glibc no longer allows to LD_PRELOAD a PIE; build slapd code as fake shared object for symbols checking)
-rw-r--r--openldap-slapd_for_symbols_check.patch31
-rw-r--r--openldap.spec14
2 files changed, 40 insertions, 5 deletions
diff --git a/openldap-slapd_for_symbols_check.patch b/openldap-slapd_for_symbols_check.patch
new file mode 100644
index 0000000..50c1bc7
--- /dev/null
+++ b/openldap-slapd_for_symbols_check.patch
@@ -0,0 +1,31 @@
+--- openldap/servers/slapd/Makefile.in.orig 2019-11-05 20:46:53.842675681 +0100
++++ openldap/servers/slapd/Makefile.in 2019-11-06 21:15:57.588493379 +0100
+@@ -269,6 +269,10 @@
+ for i in $(SLAPTOOLS); do \
+ $(LN_S) slapd$(EXEEXT) $$i$(EXEEXT); done
+
++slapd-shared.la: $(SLAPD_DEPENDS) @LIBSLAPI@
++ $(LTLINK) -module -shared -avoid-version -Wl,-z,defs -o $@ $(SLAPD_OBJECTS) $(LIBS) \
++ $(WRAP_LIBS) -rpath $(libexecdir)
++
+
+ sslapd: version.o
+ $(LTLINK) -static -o $@ $(OBJS) version.o $(LIBS) $(WRAP_LIBS)
+@@ -380,6 +384,8 @@
+ -$(MKDIR) $(DESTDIR)$(localstatedir)/run
+ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 \
+ slapd$(EXEEXT) $(DESTDIR)$(libexecdir)
++ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 \
++ slapd-shared.la $(DESTDIR)$(libexecdir)
+ @for i in $(SUBDIRS); do \
+ if test -d $$i && test -f $$i/Makefile ; then \
+ echo; echo " cd $$i; $(MAKE) $(MFLAGS) install"; \
+@@ -394,7 +394,7 @@
+ fi; \
+ done
+
+-all-cffiles: slapd $(SLAPD_DYNAMIC_BACKENDS) dynamic_overlays
++all-cffiles: slapd slapd-shared.la $(SLAPD_DYNAMIC_BACKENDS) dynamic_overlays
+ @if test $(PLAT) = NT; then \
+ sysconfdir=`cygpath -w $(sysconfdir) | \
+ $(SED) -e 's/\\\\/\\\\\\\\\\\\\\\\/g'`; \
diff --git a/openldap.spec b/openldap.spec
index 9871b7b..4a39bc6 100644
--- a/openldap.spec
+++ b/openldap.spec
@@ -22,12 +22,12 @@ Summary(pt_BR.UTF-8): Clientes e servidor para LDAP
Summary(ru.UTF-8): Образцы клиентов LDAP
Summary(uk.UTF-8): Зразки клієнтів LDAP
Name: openldap
-Version: 2.4.47
-Release: 2
+Version: 2.4.48
+Release: 1
License: OpenLDAP Public License
Group: Networking/Daemons
Source0: ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/%{name}-%{version}.tgz
-# Source0-md5: e508f97bfd778fec7799f286e5c07176
+# Source0-md5: 0729a0711fe096831dedc159e0bbe73f
Source1: http://download.oracle.com/berkeley-db/db-%{db_version}.tar.gz
# Source1-md5: 718082e7e35fc48478a2334b0bc4cd11
Source2: ldap.init
@@ -61,6 +61,7 @@ Patch22: %{name}-am.patch
Patch23: %{name}-db.patch
Patch24: %{name}-default_cacert_path.patch
Patch25: %{name}-system-lmdb.patch
+Patch26: %{name}-slapd_for_symbols_check.patch
# Patch for the evolution library
Patch100: %{name}-ntlm.diff
URL: http://www.openldap.org/
@@ -1253,6 +1254,7 @@ cd %{name}
%if %{with system_lmdb}
%patch25 -p1
%endif
+%patch26 -p1
%if %{with krb5}
%patch17 -p1
%endif
@@ -1545,16 +1547,17 @@ cp -p include/ac/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/ac
# remove headers, that are provided by -devel package
for I in $RPM_BUILD_ROOT%{_includedir}/*.h; do
- rm $RPM_BUILD_ROOT%{_includedir}/%{name}/$(basename $I)
+ %{__rm} $RPM_BUILD_ROOT%{_includedir}/%{name}/$(basename $I)
done
# check for undefined symbols in slapd modules
for i in $RPM_BUILD_ROOT%{_libdir}/openldap/*.so ; do
- if LD_PRELOAD=$RPM_BUILD_ROOT%{_libdir}/liblber-2.4.so.2:$RPM_BUILD_ROOT%{_libdir}/libldap_r-2.4.so.2:%{!?with_system_db:$RPM_BUILD_ROOT%{_libdir}/libslapd_db-4.6.so:}$RPM_BUILD_ROOT%{_sbindir}/slapd ldd -r $i 2>&1 | grep "undefined symbol"; then
+ if LD_PRELOAD=$RPM_BUILD_ROOT%{_libdir}/liblber-2.4.so.2:$RPM_BUILD_ROOT%{_libdir}/libldap_r-2.4.so.2:%{!?with_system_db:$RPM_BUILD_ROOT%{_libdir}/libslapd_db-4.6.so:}$RPM_BUILD_ROOT%{_sbindir}/slapd-shared.so ldd -r $i 2>&1 | grep "undefined symbol"; then
echo "Undefined symbols found in" $i
exit 1
fi
done
+%{__rm} $RPM_BUILD_ROOT%{_sbindir}/slapd-shared.so
# bogus include
%{__sed} -i -e '/^\.so \.\.\/Project/d' $RPM_BUILD_ROOT%{_mandir}/man5/slapo-nops.5
@@ -1987,6 +1990,7 @@ fi
%{_includedir}/ldap.h
%{_includedir}/ldap_*.h
%{_includedir}/ldif.h
+%{_includedir}/openldap.h
%{_includedir}/slapi-plugin.h
%{_mandir}/man3/ber_*.3*
%{_mandir}/man3/lber-*.3*