[PATCH] set RPATH correctly in the internal icu

Petr Mladek pmladek at suse.cz
Wed Jan 5 11:14:29 PST 2011


RPATH must be set to $ORIGIN:$ORIGIN/../ure-link/lib; it was broken
in libicudata.so.42.1 because the $ORIGIN was substituted

the patch escapes '$' with '\' before using in the command 'echo'
---
 patches/dev300/apply                |    2 +
 patches/dev300/icu-4.2.1-rpath.diff |   36 +++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100644 patches/dev300/icu-4.2.1-rpath.diff

diff --git a/patches/dev300/apply b/patches/dev300/apply
index e9232b1..4085d29 100755
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -181,6 +181,8 @@ ok-cancel-btn-add-accel.diff, kohei
 
 # Upgraded internal ICU to 4.2.1
 icu-4.2.1.diff, cbosdo
+# pass $ORIGIN correctly to RPATH
+icu-4.2.1-rpath.diff. pmladek
 
 [ TemporaryHacks ]
 
diff --git a/patches/dev300/icu-4.2.1-rpath.diff b/patches/dev300/icu-4.2.1-rpath.diff
new file mode 100644
index 0000000..02e8bec
--- /dev/null
+++ b/patches/dev300/icu-4.2.1-rpath.diff
@@ -0,0 +1,36 @@
+--- icu/icu4c-4_2_1-src-rpath.patch.old	2011-01-03 17:54:31.000000000 +0100
++++ icu/icu4c-4_2_1-src-rpath.patch	2011-01-03 17:58:18.000000000 +0100
+@@ -0,0 +1,21 @@
++--- misc/icu/source/data/pkgdataMakefile.in	2010-12-22 23:44:02.000000000 +0100
+++++ misc/build/icu/source/data/pkgdataMakefile.in	2011-01-03 17:52:44.000000000 +0100
++@@ -15,6 +15,9 @@ include $(top_builddir)/icudefs.mk
++ OUTPUTFILE=icupkg.inc
++ MIDDLE_SO_TARGET=
++ 
+++# escape $ with \ when passing to echo; needed to preserve $ORIGIN
+++SHLIB.c.shell := $(subst $$,\$$,$(SHLIB.c))
+++
++ all : clean 
++ 	@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
++ 	@echo SO=$(SO) >> $(OUTPUTFILE)
++@@ -24,7 +27,7 @@ all : clean
++ 	@echo LIB_EXT_ORDER=$(FINAL_SO_TARGET) >> $(OUTPUTFILE)
++ 	@echo COMPILE="$(COMPILE.c)" >> $(OUTPUTFILE)
++ 	@echo LIBFLAGS="-I$(top_srcdir)/common -I$(top_builddir)/common $(SHAREDLIBCPPFLAGS) $(SHAREDLIBCFLAGS)" >> $(OUTPUTFILE)
++-	@echo GENLIB="$(SHLIB.c)" >> $(OUTPUTFILE)
+++	@echo GENLIB="$(SHLIB.c.shell)" >> $(OUTPUTFILE)
++ 	@echo LDICUDTFLAGS=$(LDFLAGSICUDT) >> $(OUTPUTFILE)
++ 	@echo LD_SONAME=$(LD_SONAME) >> $(OUTPUTFILE)
++ 	@echo RPATH_FLAGS=$(RPATH_FLAGS) >> $(OUTPUTFILE)
+--- icu/makefile.mk.old	2010-12-22 23:42:29.000000000 +0100
++++ icu/makefile.mk	2011-01-03 17:55:27.000000000 +0100
+@@ -47,7 +47,8 @@ TARFILE_MD5=
+ TARFILE_ROOTDIR=icu
+ 
+ PATCH_FILES=\
+-    ${TARFILE_NAME}.patch
++    ${TARFILE_NAME}.patch \
++    ${TARFILE_NAME}-rpath.patch
+ 
+ # ADDITIONAL_FILES=
+ 
-- 
1.7.3.4


--=-C3xl+FU5wmWLLyk/xalX--



More information about the LibreOffice mailing list