Hello community,

here is the log from the commit of package icu for openSUSE:Factory checked in 
at 2014-09-04 07:56:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  2014-08-01 07:07:57.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.icu.new/icu.changes     2014-09-04 
07:56:22.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Aug 13 13:55:08 UTC 2014 - [email protected]
+
+- Build both B and L-type endianess variants of icudt53.dat so that
+  icu-data really is arch-independent again
+- Add icu-error-reporting.diff
+
+-------------------------------------------------------------------

New:
----
  icu-error-reporting.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ icu.spec ++++++
--- /var/tmp/diff_new_pack.XQufpy/_old  2014-09-04 07:56:24.000000000 +0200
+++ /var/tmp/diff_new_pack.XQufpy/_new  2014-09-04 07:56:24.000000000 +0200
@@ -17,6 +17,7 @@
 
 
 %define lname  libicu53_1
+%define amajor   53
 %define aversion 53_1
 Name:           icu
 Version:        53.1
@@ -35,11 +36,17 @@
 Patch3:         icu-versioning.diff
 Patch4:         icu-fix-install-mode-files.diff
 Patch5:         icu-fix-tests-depending-on-date.patch
+Patch6:         icu-error-reporting.diff
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 BuildRequires:  unzip
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+%ifarch %armb hppa mips mips64 ppc ppc64 %sparc s390 s390x
+%define be_platform 1
+%else
+%define be_platform 0
+%endif
 
 %description
 ICU is a set of C and C++ libraries that provides robust and
@@ -55,7 +62,11 @@
 %package -n %lname
 Summary:        International Components for Unicode
 Group:          System/Libraries
-Requires:       libicu%aversion-data
+%if %be_platform
+Requires:       libicu%{aversion}-bedata
+%else
+Requires:       libicu%{aversion}-ledata
+%endif
 Requires:       timezone
 # Following O/P added in timeframe for 12.2
 Provides:       libicu = %version
@@ -66,20 +77,49 @@
 full-featured Unicode support. This package contains the runtime
 libraries for ICU which include precompiled locale data.
 
-%package -n libicu%aversion-data
-Summary:        International Components for Unicode
+%package -n libicu%aversion-bedata
+Summary:        Rule databases and tables for ICU
 Group:          System/Libraries
 %if 0%{?suse_version} >= 1210
 BuildArch:      noarch
 %endif
+%if %be_platform
+# Added for 13.2
+Obsoletes:      libicu%aversion-data
+Provides:       libicu%aversion-data
+%endif
 
-%description -n libicu%aversion-data
+%description -n libicu%aversion-bedata
 ICU is a set of C and C++ libraries that provides robust and
-full-featured Unicode support. This package contains the runtime
-libraries for ICU which include precompiled locale data.
+full-featured Unicode support.
+
+ICU makes use of a wide variety of data tables to provide many of its
+services: converter mapping tables, collation rules, transliteration
+rules, break iterator rules and dictionaries.
 
-This subpackage contains the precompiled ICU databases that contain
-most of the locale-specific information.
+This subpackage contains these data tables, in big-endian format.
+
+%package -n libicu%aversion-ledata
+Summary:        Rule databases and tables for ICU
+Group:          System/Libraries
+%if 0%{?suse_version} >= 1210
+BuildArch:      noarch
+%endif
+%if !%be_platform
+# Added for 13.2
+Obsoletes:      libicu%aversion-data
+Provides:       libicu%aversion-data
+%endif
+
+%description -n libicu%aversion-ledata
+ICU is a set of C and C++ libraries that provides robust and
+full-featured Unicode support.
+
+ICU makes use of a wide variety of data tables to provide many of its
+services: converter mapping tables, collation rules, transliteration
+rules, break iterator rules and dictionaries.
+
+This subpackage contains these data tables, in little-endian format.
 
 %package -n libicu-devel
 Summary:        International Components for Unicode (development files)
@@ -91,16 +131,16 @@
 Unicode support. This package contains the development files for ICU.
 
 %package -n libicu-doc
-Summary:        International Components for Unicode  (html documentation)
-Group:          Development/Libraries/C and C++
+Summary:        International Components for Unicode (HTML documentation)
+Group:          Documentation/HTML
 
 %description -n libicu-doc
 ICU is a C++ and C library that provides robust and full-featured
-Unicode support. This package contains the html documentation.
+Unicode support. This package contains the HTML documentation.
 
 %package data
 Summary:        International Components for Unicode (Sources for the Data in 
ICU)
-Group:          System/Libraries
+Group:          Development/Sources
 Requires:       %lname >= %version
 
 %description data
@@ -121,7 +161,7 @@
 unzip %SOURCE2
 cd ..
 
-%patch -P 1 -P 2 -P 3 -P 4 -p1 -P 5 -p1
+%patch -P 1 -P 2 -P 3 -P 4 -P 5 -P 6 -p1
 
 %build
 cd source
@@ -133,6 +173,15 @@
        --disable-samples \
        --with-data-packaging=archive
 make %{?_smp_mflags} VERBOSE=1
+# Build the other endianess, too.
+pushd data/
+%if %be_platform
+cp in/icudt%{amajor}l.dat out/
+%else
+LD_LIBRARY_PATH="../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH" \
+       ../bin/icupkg -tb ./in/icudt%{amajor}l.dat ./out/icudt%{amajor}b.dat
+%endif
+popd
 
 %install
 mkdir -p "%buildroot/%_docdir/%name"
@@ -143,6 +192,7 @@
 cd source
 
 make install DESTDIR="%buildroot"
+cp data/out/icudt*.dat "%buildroot/%_datadir/icu/%version/"
 
 #
 # ICU's "pkgdata" utility is really fragile, so icu-versioning.diff
@@ -162,7 +212,9 @@
 done
 popd
 
-# /usr/lib/rpm/elfdeps requires +x bit and not all had it at one point
+# /usr/lib/rpm/elfdeps requires +x bit and not all files had it at one point.
+# - OpenBSD for example is known to have patched their libtool program
+# to kill the x bit on install :(
 chmod a+rx "%buildroot/%_libdir"/lib*.so.*
 
 # install uncompiled source data:
@@ -231,11 +283,17 @@
 %defattr(-, root, root)
 %_libdir/libicu*.so.*
 
-%files -n libicu%aversion-data
+%files -n libicu%{aversion}-bedata
+%defattr(-,root,root)
+%dir %_datadir/icu
+%dir %_datadir/icu/%version
+%_datadir/icu/%version/icudt%{amajor}b.dat
+
+%files -n libicu%{aversion}-ledata
 %defattr(-,root,root)
 %dir %_datadir/icu
 %dir %_datadir/icu/%version
-%_datadir/icu/%version/icudt5*[bl].dat
+%_datadir/icu/%version/icudt%{amajor}l.dat
 
 %files -n libicu-devel
 %defattr(-, root, root)

++++++ icu-error-reporting.diff ++++++
Date: 2014-08-13 15:39:48.523887951 +0200
From: Jan Engelhardt <[email protected]>

Error messages are totally useless without the actual error cause!
---
 source/tools/toolutil/package.cpp |    5 +++--
 source/tools/toolutil/writesrc.c  |    6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

Index: icu/source/tools/toolutil/package.cpp
===================================================================
--- icu.orig/source/tools/toolutil/package.cpp
+++ icu/source/tools/toolutil/package.cpp
@@ -33,6 +33,7 @@
 #include "package.h"
 #include "cmemory.h"
 
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -751,7 +752,7 @@ Package::writePackage(const char *filena
     // create the file and write its contents
     file=fopen(filename, "wb");
     if(file==NULL) {
-        fprintf(stderr, "icupkg: unable to create file \"%s\"\n", filename);
+        fprintf(stderr, "icupkg: unable to create file \"%s\": %s\n", 
filename, strerror(errno));
         exit(U_FILE_ACCESS_ERROR);
     }
 
@@ -1172,7 +1173,7 @@ Package::extractItem(const char *filesPa
     makeFullFilenameAndDirs(filesPath, outName, filename, 
(int32_t)sizeof(filename));
     file=fopen(filename, "wb");
     if(file==NULL) {
-        fprintf(stderr, "icupkg: unable to create file \"%s\"\n", filename);
+        fprintf(stderr, "icupkg: unable to create file \"%s\": %s\n", 
filename, strerror(errno));
         exit(U_FILE_ACCESS_ERROR);
     }
     fileLength=(int32_t)fwrite(pItem->data, 1, pItem->length, file);
Index: icu/source/tools/toolutil/writesrc.c
===================================================================
--- icu.orig/source/tools/toolutil/writesrc.c
+++ icu/source/tools/toolutil/writesrc.c
@@ -16,7 +16,9 @@
 *   Helper functions for writing source code for data.
 */
 
+#include <errno.h>
 #include <stdio.h>
+#include <string.h>
 #include <time.h>
 #include "unicode/utypes.h"
 #include "unicode/putil.h"
@@ -64,8 +66,8 @@ usrc_createWithHeader(const char *path,
     } else {
         fprintf(
             stderr,
-            "usrc_create(%s, %s): unable to create file\n",
-            path!=NULL ? path : "", filename);
+            "usrc_create(%s, %s): unable to create file: %s\n",
+            path!=NULL ? path : "", filename, strerror(errno));
     }
     return f;
 }

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to