diff --git a/icu.6969.pkgdata.patch b/icu.6969.pkgdata.patch new file mode 100644 index 0000000..094b0bf --- /dev/null +++ b/icu.6969.pkgdata.patch @@ -0,0 +1,189 @@ +Index: source/tools/pkgdata/pkgdata.cpp +=================================================================== +--- source.orig/tools/pkgdata/pkgdata.cpp 2009-06-26 14:57:38.000000000 -0400 ++++ source/tools/pkgdata/pkgdata.cpp 2009-06-27 10:12:08.437285758 -0400 +@@ -118,6 +118,7 @@ + static void createFileNames(const char *version_major, const char *version, const char *libName, const UBool reverseExt); + + static int32_t pkg_getOptionsFromICUConfig(UOption *option); ++static int runCommand(const char* command); + + enum { + NAME, +@@ -461,6 +462,17 @@ + return result; + } + ++static int runCommand(const char* command) ++{ ++ printf("pkgdata: %s\n", command); ++ int result = system(command); ++ if (result != 0) ++ { ++ printf("-- return status = %d\n", result); ++ } ++ return result; ++} ++ + #define LN_CMD "ln -s" + #define RM_CMD "rm -f" + +@@ -724,7 +736,7 @@ + LN_CMD, + libFileNames[LIB_FILE_VERSION], + libFileNames[LIB_FILE_VERSION_MAJOR]); +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + return result; + } +@@ -737,7 +749,7 @@ + libFileNames[LIB_FILE_VERSION], + libFileNames[LIB_FILE], pkgDataFlags[SO_EXT]); + +- result = system(cmd); ++ result = runCommand(cmd); + + return result; + } +@@ -753,7 +765,7 @@ + installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION] + ); + +- result = system(cmd); ++ result = runCommand(cmd); + + if (result != 0) { + return result; +@@ -795,7 +807,7 @@ + srcDir, PKGDATA_FILE_SEP_STRING, buffer, + installDir, PKGDATA_FILE_SEP_STRING, buffer); + +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + fprintf(stderr, "Failed to install data file with command: %s\n", cmd); + break; +@@ -815,7 +827,7 @@ + } + #else + sprintf(cmd, "%s %s %s %s", WIN_INSTALL_CMD, srcDir, installDir, WIN_INSTALL_CMD_FLAGS); +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + fprintf(stderr, "Failed to install data file with command: %s\n", cmd); + } +@@ -849,7 +861,17 @@ + targetDir, + libFileNames[LIB_FILE_VERSION_TMP]); + +- result = system(cmd); ++ result = runCommand(cmd); ++ if (result != 0) { ++ return result; ++ } ++ ++ sprintf(cmd, "%s %s%s", ++ pkgDataFlags[RANLIB], ++ targetDir, ++ libFileNames[LIB_FILE_VERSION]); ++ ++ result = runCommand(cmd); + if (result != 0) { + return result; + } +@@ -860,7 +882,7 @@ + targetDir, + libFileNames[LIB_FILE_VERSION_TMP]); + +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + return result; + } +@@ -908,7 +930,21 @@ + pkgDataFlags[A_EXT], + objectFile); + +- result = system(cmd); ++ result = runCommand(cmd); ++ if (result == 0) ++ { ++#ifdef OS400 ++ sprintf(cmd, "QSH CMD('%s %s%s.%s')", ++#else ++ sprintf(cmd, "%s %s%s.%s", ++#endif ++ pkgDataFlags[RANLIB], ++ targetDir, ++ libFileNames[LIB_FILE], ++ pkgDataFlags[A_EXT]); ++ ++ result = runCommand(cmd); ++ } + } else /* if (mode == MODE_DLL) */ { + #ifdef U_CYGWIN + sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s", +@@ -935,7 +971,7 @@ + pkgDataFlags[BIR_FLAGS]); + + /* Generate the library file. */ +- result = system(cmd); ++ result = runCommand(cmd); + } + + if (freeCmd) { +@@ -961,7 +997,7 @@ + tempObjectFile, + gencFilePath); + +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + return result; + } +@@ -1043,7 +1079,7 @@ + tempObjectFile, + gencmnFile); + +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + break; + } +@@ -1094,7 +1130,7 @@ + sprintf(cmd, "cat %s >> %s", gencmnFile, icudtAll); + #endif + +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + break; + } +@@ -1110,7 +1146,7 @@ + pkgDataFlags[LIBFLAGS], + tempObjectFile, + gencmnFile); +- result = system(cmd); ++ result = runCommand(cmd); + if (result != 0) { + break; + } +@@ -1139,7 +1175,7 @@ + tempObjectFile, + icudtAll); + +- result = system(cmd); ++ result = runCommand(cmd); + if (result == 0) { + sprintf(buffer, "%s %s", + buffer, +@@ -1222,7 +1258,7 @@ + ); + } + +- return system(cmd); ++ return runCommand(cmd); + } + #endif + diff --git a/icu.7119.s390x.patch b/icu.7119.s390x.patch new file mode 100644 index 0000000..b94863c --- /dev/null +++ b/icu.7119.s390x.patch @@ -0,0 +1,12 @@ +diff -ru icu.orig/source/configure.in icu/source/configure.in +--- icu.orig/source/configure.in 2009-09-01 08:56:46.000000000 +0100 ++++ icu/source/configure.in 2009-09-01 10:38:25.000000000 +0100 +@@ -462,7 +462,7 @@ + # Check to see if genccode can generate simple assembly. + GENCCODE_ASSEMBLY= + case "${host}" in +-i*86-*-linux*|x86_64-*-linux*|powerpc*-*-linux*|i*86-*-*bsd*|i*86-pc-gnu) ++*-linux*|i*86-*-*bsd*|i*86-pc-gnu) + if test "$GCC" = yes; then + # We're using gcc, and the simple -a gcc command line works for genccode + GENCCODE_ASSEMBLY="-a gcc" diff --git a/icu.XXXX.install.patch b/icu.XXXX.install.patch new file mode 100644 index 0000000..b045510 --- /dev/null +++ b/icu.XXXX.install.patch @@ -0,0 +1,11 @@ +--- icu/source/Makefile.in.orig 2009-08-31 21:15:03.000000000 +0100 ++++ icu/source/Makefile.in 2009-08-31 21:19:23.000000000 +0100 +@@ -146,7 +146,7 @@ + install-doc: doc + $(RM) -r $(DESTDIR)$(docdir)/$(docsubdir) + $(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(docsubdir) +- $(INSTALL_DATA) doc/html/* $(DESTDIR)$(docdir)/$(docsubdir) ++ cp -r doc/html/* $(DESTDIR)$(docdir)/$(docsubdir) + endif + + $(DESTDIR)$(pkglibdir)/%: $(top_srcdir)/../data/% diff --git a/icu.spec b/icu.spec index 541ec6e..13e790c 100644 --- a/icu.spec +++ b/icu.spec @@ -1,6 +1,6 @@ Name: icu Version: 4.2.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: International Components for Unicode Group: Development/Tools License: MIT @@ -15,6 +15,9 @@ Patch1: icu-3.4-multiarchdevel.patch Patch2: icu.icu6284.strictalias.patch Patch3: icu.6995.kannada.patch Patch4: icu.icu7039.badextract.patch +Patch5: icu.6969.pkgdata.patch +Patch6: icu.XXXX.install.patch +Patch7: icu.7119.s390x.patch %description Tools and utilities for developing with icu. @@ -58,6 +61,9 @@ BuildArch: noarch %patch2 -p1 -b .icu6284.strictalias.patch %patch3 -p1 -b .icu6995.kannada.patch %patch4 -p1 -b .icu7039.badextract.patch +%patch5 -p0 -b .icu.6969.pkgdata.patch +%patch6 -p1 -b .icu.XXXX.install.patch +%patch7 -p1 -b .icu.7119.s390x.patch %build cd source @@ -136,6 +142,9 @@ rm -rf $RPM_BUILD_ROOT %doc source/__docs/%{name}/html/* %changelog +* Tue Sep 01 2009 Caolan McNamara - 4.2.1-6 +- Resolves: rhbz#520468 fix s390x and other secondary archs + * Tue Jul 28 2009 Caolan McNamara - 4.2.1-5 - icu#7039 fix broken use of extract to get tests working