From 24d0704fa468b300558a3f904ae853fcb7fca312 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Thu, 8 Mar 2018 15:40:20 +0100 Subject: [PATCH] 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. Change-Id: Ic6c6123bcfe8bc2dac87812f919842519374abaa Reviewed-on: https://gerrit.libreoffice.org/50959 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- bin/check-elf-dynamic-objects | 2 +- external/libassuan/UnpackedTarball_libassuan.mk | 1 + external/libassuan/rpath.patch | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 external/libassuan/rpath.patch diff --git a/bin/check-elf-dynamic-objects b/bin/check-elf-dynamic-objects index 62fe040dc01a..4e3a4fccec44 100755 --- a/bin/check-elf-dynamic-objects +++ b/bin/check-elf-dynamic-objects @@ -231,7 +231,7 @@ else if [ -s check_elf.out ] ; then cat check_elf.out # FIXME known broken, ignore for now - if grep -v 'libgpgmepp.so.6\|libgpgme.so.11\|libassuan.so.0' check_elf.out >/dev/null; then + if grep -v 'libgpgmepp.so.6\|libgpgme.so.11' check_elf.out >/dev/null; then status=1 fi fi 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