Hello community, here is the log from the commit of package icu for openSUSE:Factory checked in at 2013-06-18 15:14:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/icu (Old) and /work/SRC/openSUSE:Factory/.icu.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icu" Changes: -------- --- /work/SRC/openSUSE:Factory/icu/icu.changes 2013-06-06 14:55:47.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.icu.new/icu.changes 2013-06-18 15:14:09.000000000 +0200 @@ -1,0 +2,6 @@ +Sat Jun 15 20:05:05 UTC 2013 - jeng...@inai.de + +- Add icu-versioning.diff: + Treat each minor release as a new SONAME (bnc#824262) + +------------------------------------------------------------------- New: ---- icu-versioning.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ icu.spec ++++++ --- /var/tmp/diff_new_pack.0Gjcdg/_old 2013-06-18 15:14:10.000000000 +0200 +++ /var/tmp/diff_new_pack.0Gjcdg/_new 2013-06-18 15:14:10.000000000 +0200 @@ -17,7 +17,7 @@ Name: icu -%define lname libicu51 +%define lname libicu51_2 Version: 51.2 Release: 0 %define aversion 51_2 @@ -32,6 +32,7 @@ Source3: sanitize_docs.sh Patch1: icu-rpmlint.diff Patch2: icu-remove-datetime.patch +Patch3: icu-versioning.diff BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkg-config @@ -108,7 +109,7 @@ %prep %setup -qn icu -a2 -%patch -P 1 -P 2 -p1 +%patch -P 1 -P 2 -P 3 -p1 %build cd source @@ -117,7 +118,7 @@ %configure --disable-static \ --enable-shared \ --disable-samples -make %{?_smp_mflags} +make %{?_smp_mflags} VERBOSE=1 %install b="%buildroot" @@ -130,6 +131,17 @@ make install DESTDIR="$b"; +# +# ICU's "pkgdata" utility is really fragile, so icu-versioning.diff +# does as few as possible, but that means we need some additional +# cleanup in the spec file now. +# +for i in "$b/%_libdir"/*.so.[0-9]*; do + if [ "${i##*.so.}" != "%version" ]; then + rm -fv "$i"; + fi +done + # /usr/lib/rpm/elfdeps requires +x bit and not all had it at one point chmod a+rx "$b/%_libdir"/lib*.so.* @@ -149,7 +161,7 @@ # Checks disabled in qemu because of races happening when we emulate # multi-threaded programs, and some check tests atomic instructions in # multi-threaded icu invocations -make check +make check VERBOSE=1 %endif # This should be run by whatever owns /usr/lib64/icu - ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.0Gjcdg/_old 2013-06-18 15:14:10.000000000 +0200 +++ /var/tmp/diff_new_pack.0Gjcdg/_new 2013-06-18 15:14:10.000000000 +0200 @@ -1,4 +1,4 @@ -libicu51 +libicu51_2 libicu-devel requires -libicu-<targettype> - requires "libicu51-<targettype> = <version>" + requires "libicu51_2-<targettype> = <version>" ++++++ icu-versioning.diff ++++++ From: Jan Engelhardt <jeng...@inai.de> Date: 2013-06-11 03:36:48.480850779 +0200 References: http://bugzilla.novell.com/824262 I've had it with ICU always changing their ABI without updating the SO numbers. They did that before, and they have done it with 51.1->51.2 again. !@# (Will icu-project ever get their act together?) Thus, we will use the full version as the SO identifier in openSUSE. --- source/config/mh-linux | 2 +- source/config/pkgdataMakefile.in | 1 + source/data/pkgdataMakefile.in | 1 + source/extra/uconv/pkgdataMakefile.in | 1 + source/icudefs.mk.in | 1 + source/test/testdata/pkgdataMakefile.in | 1 + source/tools/pkgdata/pkgdata.cpp | 4 ++-- 7 files changed, 8 insertions(+), 3 deletions(-) Index: icu/source/config/mh-linux =================================================================== --- icu.orig/source/config/mh-linux +++ icu/source/config/mh-linux @@ -25,7 +25,7 @@ LDFLAGSICUDT=-nodefaultlibs -nostdlib ## Compiler switch to embed a library name # The initial tab in the next line is to prevent icu-config from reading it. - LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) + LD_SONAME = -Wl,-soname -Wl,$(notdir $(FULL_SO_TARGET)) #SH# # We can't depend on MIDDLE_SO_TARGET being set. #SH# LD_SONAME= Index: icu/source/config/pkgdataMakefile.in =================================================================== --- icu.orig/source/config/pkgdataMakefile.in +++ icu/source/config/pkgdataMakefile.in @@ -14,6 +14,7 @@ include $(top_builddir)/icudefs.mk OUTPUTFILE=pkgdata.inc MIDDLE_SO_TARGET= +FULL_SO_TARGET= all : clean @echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE) Index: icu/source/data/pkgdataMakefile.in =================================================================== --- icu.orig/source/data/pkgdataMakefile.in +++ icu/source/data/pkgdataMakefile.in @@ -14,6 +14,7 @@ include $(top_builddir)/icudefs.mk OUTPUTFILE=icupkg.inc MIDDLE_SO_TARGET= +FULL_SO_TARGET= all : clean @echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE) Index: icu/source/extra/uconv/pkgdataMakefile.in =================================================================== --- icu.orig/source/extra/uconv/pkgdataMakefile.in +++ icu/source/extra/uconv/pkgdataMakefile.in @@ -13,6 +13,7 @@ top_builddir = ../.. include $(top_builddir)/icudefs.mk MIDDLE_SO_TARGET= +FULL_SO_TARGET= OUTPUTFILE=pkgdata.inc Index: icu/source/icudefs.mk.in =================================================================== --- icu.orig/source/icudefs.mk.in +++ icu/source/icudefs.mk.in @@ -196,6 +196,7 @@ LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH # Versioned target for a shared library. FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) +FULL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR) SHARED_OBJECT = $(FINAL_SO_TARGET) Index: icu/source/test/testdata/pkgdataMakefile.in =================================================================== --- icu.orig/source/test/testdata/pkgdataMakefile.in +++ icu/source/test/testdata/pkgdataMakefile.in @@ -13,6 +13,7 @@ top_builddir = ../.. include $(top_builddir)/icudefs.mk MIDDLE_SO_TARGET= +FULL_SO_TARGET= OUTPUTFILE=pkgdata.inc Index: icu/source/tools/pkgdata/pkgdata.cpp =================================================================== --- icu.orig/source/tools/pkgdata/pkgdata.cpp +++ icu/source/tools/pkgdata/pkgdata.cpp @@ -1273,7 +1273,7 @@ static int32_t pkg_generateLibraryFile(c length = uprv_strlen(pkgDataFlags[GENLIB]) + uprv_strlen(pkgDataFlags[LDICUDTFLAGS]) + ((uprv_strlen(targetDir) + uprv_strlen(libFileNames[LIB_FILE_VERSION_TMP])) * 2) + uprv_strlen(objectFile) + uprv_strlen(pkgDataFlags[LD_SONAME]) + - uprv_strlen(pkgDataFlags[LD_SONAME][0] == 0 ? "" : libFileNames[LIB_FILE_VERSION_MAJOR]) + + uprv_strlen(pkgDataFlags[LD_SONAME][0] == 0 ? "" : libFileNames[LIB_FILE_VERSION]) + uprv_strlen(pkgDataFlags[RPATH_FLAGS]) + uprv_strlen(pkgDataFlags[BIR_FLAGS]) + BUFFER_PADDING_SIZE; #if U_PLATFORM == U_PF_CYGWIN length += uprv_strlen(targetDir) + uprv_strlen(libFileNames[LIB_FILE_CYGWIN_VERSION]); @@ -1320,7 +1320,7 @@ static int32_t pkg_generateLibraryFile(c #endif objectFile, pkgDataFlags[LD_SONAME], - pkgDataFlags[LD_SONAME][0] == 0 ? "" : libFileNames[LIB_FILE_VERSION_MAJOR], + pkgDataFlags[LD_SONAME][0] == 0 ? "" : libFileNames[LIB_FILE_VERSION], pkgDataFlags[RPATH_FLAGS], pkgDataFlags[BIR_FLAGS]); -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org