[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - external/gpgmepp external/libassuan external/libgpg-error

Stephan Bergmann sbergman at redhat.com
Tue May 8 11:49:38 UTC 2018


 external/gpgmepp/ExternalPackage_gpgmepp.mk           |    6 ++++++
 external/gpgmepp/ExternalProject_gpgmepp.mk           |    1 +
 external/gpgmepp/UnpackedTarball_gpgmepp.mk           |    1 +
 external/gpgmepp/rpath.patch                          |   12 ++++++++++++
 external/libassuan/UnpackedTarball_libassuan.mk       |    1 +
 external/libassuan/rpath.patch                        |   11 +++++++++++
 external/libgpg-error/ExternalProject_libgpg-error.mk |    3 ---
 external/libgpg-error/UnpackedTarball_libgpg-error.mk |    1 -
 external/libgpg-error/disable-rpath-option.patch      |   13 -------------
 9 files changed, 32 insertions(+), 17 deletions(-)

New commits:
commit 4f7028dd292e22f09cd505b529d93713747ebd6b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Mar 8 14:17:07 2018 +0100

    Related tdf#117105 fix RPATHS of gpgme and assuan
    
    libgpg-error doesn't need RPATH at all
    
    ...as it doesn't link against any of our libs
    
    Change-Id: Iaf0df9d5dc5eefb976d2041f24b2921cb3e3b1ba
    Reviewed-on: https://gerrit.libreoffice.org/50953
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 5a13e78562bdd0871ad5866676a8a50659692af9)
    
    Remove apparently unused external/libgpg-error/disable-rpath-option.patch
    
    ...which only patched configure.ac not configure, and the latter does not appear
    to be regenerated from the former in ExternalProject_libgpg-error
    
    Change-Id: Id0132ed8fd8ea3a5012e4a2bc309bd5f3983ad11
    Reviewed-on: https://gerrit.libreoffice.org/50954
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 4cb1f0a5ff1c3e74c650f17d9a164e97c34e9327)
    
    Fix external/libassuan Linux RPATH
    
    In other external projects using libtool, we fix that by patching configure,
    resetting hardcode_libdir_flag_spec[_CXX] at the end of the linux*) case block
    that sets the Linux-specific value.  But here we run autoreconf in
    ExternalProject_libassuan, so that patch in configure would be overwritten.  The
    relevant code in configure comes from autoconf boilerplate, so we cannot just do
    the same patch in configure.ac.  But we can reset hardcode_libdir_flag_spec
    sufficiently late in configure.ac so that things still work as intended.
    
    Reviewed-on: https://gerrit.libreoffice.org/50959
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 24d0704fa468b300558a3f904ae853fcb7fca312)
    
    Change-Id: Ic6c6123bcfe8bc2dac87812f919842519374abaa
    
    Improve gpgmepp -> libassuan/libgpg-error lib dependencies
    
    ...so that other executables than svidl would benefit, too
    
    Change-Id: I208ebbc04189c2f25eace19ef0875349cf63d3f0
    Reviewed-on: https://gerrit.libreoffice.org/50963
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 598cf9f76176c6bef00402755d0e941a036c6a2d)
    
    Fix external/gpgmepp Linux RPATH
    
    In other external projects using libtool, we fix that by patching configure,
    resetting hardcode_libdir_flag_spec[_CXX] at the end of the linux*) case block
    that sets the Linux-specific value.  But here we run autoreconf in
    ExternalProject_libassuan, so that patch in configure would be overwritten.  The
    relevant code in configure comes from autoconf boilerplate, so we cannot just do
    the same patch in configure.ac.  But we can reset hardcode_libdir_flag_spec
    sufficiently late in configure.ac so that things still work as intended.
    
    Disable tests that would build executabes linking against libgpgme.so, which in
    turn links against the libassuan and libgpg-error libs, which would no longer be
    found by the linker because of the dropped -rpath flags.  (Alternatives might
    be to pass in LD_LIBRARY_PATH or to link with --allow-shlib-undefined.)
    
    Reviewed-on: https://gerrit.libreoffice.org/50960
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit d4347f5d585232e1b025b4199ded53e6619d6242)
    
    Change-Id: I7e37abf802d213347bd80383b7980d85cf0762d4
    Reviewed-on: https://gerrit.libreoffice.org/53789
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/external/gpgmepp/ExternalPackage_gpgmepp.mk b/external/gpgmepp/ExternalPackage_gpgmepp.mk
index 3e841b5d98df..67c3dc64ffd3 100644
--- a/external/gpgmepp/ExternalPackage_gpgmepp.mk
+++ b/external/gpgmepp/ExternalPackage_gpgmepp.mk
@@ -29,6 +29,12 @@ $(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/gpgme-w32sp
 
 endif
 
+# If a tool executed during the build (like svidl) requires these gpgmepp libraries, it will also
+# require those libassuan and libgpg-error libraries that these gpgmepp libraries link against:
+$(call gb_Package_get_target_for_build,gpgmepp): \
+     $(call gb_Helper_optional,LIBASSUAN,$(call gb_Package_get_target_for_build,libassuan)) \
+     $(call gb_Helper_optional,LIBGPGERROR,$(call gb_Package_get_target_for_build,libgpg-error))
+
 endif # $(DISABLE_DYNLOADING)
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/gpgmepp/ExternalProject_gpgmepp.mk b/external/gpgmepp/ExternalProject_gpgmepp.mk
index ec865fcb2ca8..c3d240f289ef 100644
--- a/external/gpgmepp/ExternalProject_gpgmepp.mk
+++ b/external/gpgmepp/ExternalProject_gpgmepp.mk
@@ -49,6 +49,7 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build):
 	$(call gb_ExternalProject_run,build,\
 		autoreconf \
 		&& ./configure \
+		   --disable-gpg-test \
 		   --enable-languages="cpp" \
 		   GPG_ERROR_CFLAGS="$(GPG_ERROR_CFLAGS)" \
 		   GPG_ERROR_LIBS="$(GPG_ERROR_LIBS)" \
diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
index df13d4976c7e..1f7496b9b043 100644
--- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk
+++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
@@ -24,5 +24,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
     $(if $(filter MSC,$(COM)),external/gpgmepp/w32-add-initializer.patch.1) \
     external/gpgmepp/w32-build-fixes-2.patch \
     $(if $(filter LINUX,$(OS)),external/gpgmepp/asan.patch) \
+    $(if $(filter LINUX,$(OS)),external/gpgmepp/rpath.patch) \
 ))
 # vim: set noet sw=4 ts=4:
diff --git a/external/gpgmepp/rpath.patch b/external/gpgmepp/rpath.patch
new file mode 100644
index 000000000000..e83dcf2762ef
--- /dev/null
+++ b/external/gpgmepp/rpath.patch
@@ -0,0 +1,12 @@
+--- configure.ac
++++ configure.ac
+@@ -176,6 +176,9 @@
+ LT_INIT([win32-dll disable-static])
+ LT_LANG([Windows Resource])
+ 
++hardcode_libdir_flag_spec=
++hardcode_libdir_flag_spec_CXX=
++
+ # For now we hardcode the use of version scripts.  It would be better
+ # to write a test for this or even implement this within libtool.
+ have_ld_version_script=no
diff --git a/external/libassuan/UnpackedTarball_libassuan.mk b/external/libassuan/UnpackedTarball_libassuan.mk
index b969fecc6097..295b87d49677 100644
--- a/external/libassuan/UnpackedTarball_libassuan.mk
+++ b/external/libassuan/UnpackedTarball_libassuan.mk
@@ -18,6 +18,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libassuan, \
     external/libassuan/fix-autoconf-macros.patch \
     $(if $(filter MSC,$(COM)),external/libassuan/w32-build-fixes.patch.1) \
     external/libassuan/w32-build-fixes-2.patch \
+    $(if $(filter LINUX,$(OS)),external/libassuan/rpath.patch) \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libassuan/rpath.patch b/external/libassuan/rpath.patch
new file mode 100644
index 000000000000..73c10e34247c
--- /dev/null
+++ b/external/libassuan/rpath.patch
@@ -0,0 +1,11 @@
+--- configure.ac
++++ configure.ac
+@@ -127,6 +127,8 @@
+ LT_INIT([win32-dll disable-static])
+ LT_LANG([Windows Resource])
+ 
++hardcode_libdir_flag_spec=
++
+ # For now we hardcode the use of version scripts.  It would be better
+ # to write a test for this or even implement this within libtool.
+ have_ld_version_script=no
diff --git a/external/libgpg-error/ExternalProject_libgpg-error.mk b/external/libgpg-error/ExternalProject_libgpg-error.mk
index 6c437ef8c884..4bb19085e05b 100644
--- a/external/libgpg-error/ExternalProject_libgpg-error.mk
+++ b/external/libgpg-error/ExternalProject_libgpg-error.mk
@@ -38,9 +38,6 @@ $(call gb_ExternalProject_get_state_target,libgpg-error,build):
 			--disable-rpath \
 			--disable-languages \
 			--disable-doc \
-			$(if $(filter LINUX,$(OS)), \
-				'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
-					-Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
 			CPPFLAGS=" $(SOLARINC)" \
 			$(if $(filter MSC,$(COM)),--force_use_syscfg=true) \
 			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
diff --git a/external/libgpg-error/UnpackedTarball_libgpg-error.mk b/external/libgpg-error/UnpackedTarball_libgpg-error.mk
index dadef68689d7..822145c2f4ab 100644
--- a/external/libgpg-error/UnpackedTarball_libgpg-error.mk
+++ b/external/libgpg-error/UnpackedTarball_libgpg-error.mk
@@ -14,7 +14,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libgpg-error,$(LIBGPGERROR_TARBALL)
 $(eval $(call gb_UnpackedTarball_set_patchlevel,libgpg-error,0))
 
 $(eval $(call gb_UnpackedTarball_add_patches,libgpg-error, \
-    external/libgpg-error/disable-rpath-option.patch \
 	$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes.patch) \
 	$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes-2.patch.1) \
 	$(if $(filter MSC,$(COM)),external/libgpg-error/w32-build-fixes-3.patch.1) \
diff --git a/external/libgpg-error/disable-rpath-option.patch b/external/libgpg-error/disable-rpath-option.patch
deleted file mode 100644
index b039b689e9ed..000000000000
--- a/external/libgpg-error/disable-rpath-option.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur libgpg-error.org/configure.ac libgpg-error/configure.ac
---- configure.ac	2017-03-05 01:27:38.249210887 +0100
-+++ configure.ac~	2017-03-05 01:29:36.820894687 +0100
-@@ -404,6 +404,9 @@
-    CFLAGS="$CFLAGS -fvisibility=hidden"
- fi
- 
-+# permit disabling rpath
-+AC_LIB_RPATH
-+
- #
- # Check whether ld supports a version script.
- # (Actually not a check but a list of systems which are known to support it.)


More information about the Libreoffice-commits mailing list