[packages/openldap] - updated to 2.4.48 - added slapd_for_symbols_check (glibc no longer allows to LD_PRELOAD a PIE; bui

qboosh qboosh at pld-linux.org
Thu Nov 7 17:49:37 CET 2019


commit e6c7022c837245a56deeb5025304e08b5fa14d84
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Nov 7 17:49:41 2019 +0100

    - updated to 2.4.48
    - added slapd_for_symbols_check (glibc no longer allows to LD_PRELOAD a PIE; build slapd code as fake shared object for symbols checking)

 openldap-slapd_for_symbols_check.patch | 31 +++++++++++++++++++++++++++++++
 openldap.spec                          | 14 +++++++++-----
 2 files changed, 40 insertions(+), 5 deletions(-)
---
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*
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'`; \
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/openldap.git/commitdiff/e6c7022c837245a56deeb5025304e08b5fa14d84



More information about the pld-cvs-commit mailing list