From 7eaf937e26f224836869f17f21d4e8dcc07f2380 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 20 Mar 2013 10:47:46 +0100 Subject: icu: switch to 4.2.1 from RHEL-6 --- canonicalize.patch | 22 +++ icu-3.4-multiarchdevel.patch | 70 +++++++ icu-config | 424 +++++++++++++++++++++++++++++++++++++++++++ icu.6969.pkgdata.patch | 189 +++++++++++++++++++ icu.6995.kannada.patch | 11 ++ icu.7119.s390x.patch | 12 ++ icu.XXXX.install.patch | 11 ++ icu.icu7039.badextract.patch | 96 ++++++++++ icu.spec | 356 +++++++++++------------------------- 9 files changed, 944 insertions(+), 247 deletions(-) create mode 100644 canonicalize.patch create mode 100644 icu-3.4-multiarchdevel.patch create mode 100755 icu-config create mode 100644 icu.6969.pkgdata.patch create mode 100644 icu.6995.kannada.patch create mode 100644 icu.7119.s390x.patch create mode 100644 icu.XXXX.install.patch create mode 100644 icu.icu7039.badextract.patch diff --git a/canonicalize.patch b/canonicalize.patch new file mode 100644 index 0000000..87a75a0 --- /dev/null +++ b/canonicalize.patch @@ -0,0 +1,22 @@ +Index: source/common/uloc.c +=================================================================== +--- source/common/uloc.c (revision 113138) ++++ source/common/uloc.c (working copy) +@@ -1797,7 +1797,7 @@ + int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n); + len -= variantLen; + if (variantLen > 0) { +- if (name[len-1] == '_') { /* delete trailing '_' */ ++ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */ + --len; + } + addKeyword = VARIANT_MAP[j].keyword; +@@ -1805,7 +1805,7 @@ + break; + } + } +- if (name[len-1] == '_') { /* delete trailing '_' */ ++ if (len > 0 && len <= nameCapacity && name[len-1] == '_') { /* delete trailing '_' */ + --len; + } + } diff --git a/icu-3.4-multiarchdevel.patch b/icu-3.4-multiarchdevel.patch new file mode 100644 index 0000000..2b43a2b --- /dev/null +++ b/icu-3.4-multiarchdevel.patch @@ -0,0 +1,70 @@ +--- icu/source/configure.in.orig 2006-05-02 12:10:31.000000000 +0100 ++++ icu/source/configure.in 2006-05-02 15:06:07.000000000 +0100 +@@ -1117,6 +1117,7 @@ + Makefile \ + data/pkgdataMakefile \ + config/Makefile.inc \ ++ config/icu.pc \ + config/pkgdataMakefile \ + data/Makefile \ + stubdata/Makefile \ +--- /dev/null 2006-04-29 13:38:37.035974750 +0100 ++++ icu/source/config/icu.pc.in 2006-05-02 15:03:14.000000000 +0100 +@@ -0,0 +1,46 @@ ++prefix = @prefix@ ++bindir = @bindir@ ++exec_prefix = @exec_prefix@ ++libdir = @libdir@ ++includedir = @includedir@ ++datadir = @datadir@ ++sbindir = @sbindir@ ++mandir = @mandir@ ++sysconfdir = @sysconfdir@ ++CFLAGS = @CFLAGS@ ++CXXFLAGS = @CXXFLAGS@ ++DEFS = @DEFS@ ++UNICODE_VERSION=@UNICODE_VERSION@ ++ICUPREFIX=icu ++ICULIBSUFFIX=@ICULIBSUFFIX@ ++LIBICU=lib${ICUPREFIX} ++LIBCPPFLAGS=-D_REENTRANT ++CPPFLAGS=@CPPFLAGS@ ${LIBCPPFLAGS} -I${prefix}/include ++SHAREDLIBCPPFLAGS=-DPIC ++SHAREDLIBCXXFLAGS=-fPIC ++SHAREDLIBCFLAGS=-fPIC ++pkglibdir=${libdir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@ ++pkgdatadir=${datadir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@ ++ICUDATA_NAME = icudt@LIB_VERSION_MAJOR@@ICUDATA_CHAR@ ++ICUPKGDATA_DIR=@libdir@ ++ICUDATA_DIR=${pkgdatadir} ++SO=so ++ICULIBS_COMMON_LIB_NAME=${LIBICU}uc${ICULIBSUFFIX}.${SO} ++SHLIB_cc=cxx ${DEFS} ${CPPFLAGS} ${CXXFLAGS} @LDFLAGS@ -shared ++SHLIB_c=cc ${DEFS} ${CPPFLAGS} ${CFLAGS} @LDFLAGS@ -shared ++ICULIBS_LAYOUT = -l${ICUPREFIX}le${ICULIBSUFFIX} -l${ICUPREFIX}lx${ICULIBSUFFIX} ++ICULIBS_TOOLUTIL = -l${ICUPREFIX}tu${ICULIBSUFFIX} ++ICULIBS_OBSOLETE = -l${ICUPREFIX}obsolete${ICULIBSUFFIX} ++ICULIBS_ICUIO = -l${ICUPREFIX}io${ICULIBSUFFIX} ++ICULIBS_I18N = -l${ICUPREFIX}i18n${ICULIBSUFFIX} ++ICULIBS_COMMON = -l${ICUPREFIX}uc${ICULIBSUFFIX} ++ICULIBS_DATA = -l${ICUPREFIX}data${ICULIBSUFFIX} ++ICULIBS_LIBSONLY = ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ++ICULIBS_SYSTEMLIBS = @LIBS@ ++ICULIBS_BASE = @LIBS@ -L${libdir} ++ICULIBS = ${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ++ ++Name: @PACKAGE@ ++Description: International Components for Unicode ++Version: @VERSION@ ++Libs: @LDFLAGS@ ${ICULIBS} @LIBS@ +--- icu/source/Makefile.in.orig 2006-05-02 12:10:31.000000000 +0100 ++++ icu/source/Makefile.in 2006-05-02 15:18:15.000000000 +0100 +@@ -126,6 +126,8 @@ + $(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/config/@platform_make_fragment_name@ + $(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs + $(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh ++ @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig ++ $(INSTALL_DATA) $(top_srcdir)/config/icu.pc $(DESTDIR)$(libdir)/pkgconfig/icu.pc + $(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/license.html + $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config + $(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc diff --git a/icu-config b/icu-config new file mode 100755 index 0000000..024959c --- /dev/null +++ b/icu-config @@ -0,0 +1,424 @@ +#!/bin/sh +## -*-sh-*- +#set -x +# BEGIN of icu-config-top +#****************************************************************************** +# Copyright (C) 1999-2004, International Business Machines +# Corporation and others. All Rights Reserved. +#****************************************************************************** +# This script is designed to aid configuration of ICU. + +### END of icu-config-top + +exec_prefix=`pkg-config --variable=exec_prefix icu` +execprefix=$exec_prefix +prefix=`pkg-config --variable=prefix icu` + + +loaddefs() +{ + +libdir=`pkg-config --variable=libdir icu` +bindir=`pkg-config --variable=bindir icu` +datadir=`pkg-config --variable=datadir icu` +bindir=`pkg-config --variable=sbindir icu` + +# about the ICU version +VERSION=`pkg-config --modversion icu` +UNICODE_VERSION=`pkg-config --variable=UNICODE_VERSION icu` + +# for icu-config to test with +ICULIBS_COMMON_LIB_NAME=`pkg-config --variable=ICULIBS_COMMON_LIB_NAME icu` + +# Proper echo newline handling is needed in icu-config +ECHO_N="-n" +ECHO_C="" + +LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH" + +pkgdatadir=`pkg-config --variable=pkgdatadir icu` +pkglibdir=`pkg-config --variable=pkglibdir icu` + +CC="gcc" +CXX="g++" +# use a consistent INSTALL +INSTALL="${SHELL} ${pkgdatadir}/install-sh -c" +MKINSTALLDIRS="${SHELL} ${pkgdatadir}/mkinstalldirs" +PKGDATA_MODE="dll" + +## End Linux-specific setup + +## -*-sh-*- +## BEGIN of icu-config-bottom. +## Copyright (c) 2002-2008, International Business Machines Corporation and +## others. All Rights Reserved. + +ICUUC_FILE=${libdir}/${ICULIBS_COMMON_LIB_NAME} + +} + +## The actual code of icu-config goes here. + +ME=`basename "$0"` + +allflags() +{ + echo " --bindir Print binary directory path (bin)" + echo " --cc Print C compiler used [CC]" + echo " --cflags Print C compiler flags [CFLAGS]" + echo " --cflags-dynamic Print additional C flags for" + echo " building shared libraries." + echo " --cppflags Print C Preprocessor flags [CPPFLAGS]" + echo " --cppflags-dynamic Print additional C Preprocessor flags for" + echo " building shared libraries." + echo " --cppflags-searchpath Print only -I include directives (-Iinclude)" + echo " --cxx Print C++ compiler used [CXX]" + echo " --cxxflags Print C++ compiler flags [CXXFLAGS]" + echo " --cxxflags-dynamic Print additional C++ flags for" + echo " building shared libraries." + echo " --detect-prefix Attempt to detect prefix based on PATH" + echo " --exec-prefix Print prefix for executables (/bin)" + echo " --exists Return with 0 status if ICU exists else fail" + echo " --help, -?, --usage Print this message" + echo " --icudata Print shortname of ICU data file (icudt21l)" + echo " --icudata-install-dir Print path to install data to - use as --install option to pkgdata(1)" + echo " --icudata-mode Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)." + echo " --icudatadir Print path to packaged archive data. Can set as [ICU_DATA]" + echo " --invoke Print commands to invoke an ICU program" + echo " --invoke= Print commands to invoke an ICU program named (ex: genrb)" + echo " --ldflags Print -L search path and -l libraries to link with ICU [LDFLAGS]. This is for the data, uc (common), and i18n libraries only. " + echo " --ldflags-layout Print ICU layout engine link directive. Use in addition to --ldflags" + echo " --ldflags-libsonly Same as --ldflags, but only the -l directives" + echo " --ldflags-searchpath Print only -L (search path) directive" + echo " --ldflags-system Print only system libs ICU links with (-lpthread, -lm)" + echo " --ldflags-icuio Print ICU icuio link directive. Use in addition to --ldflags " + echo " --ldflags-obsolete Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) " + echo " --mandir Print manpage (man) path" + echo " --prefix Print PREFIX to icu install (/usr/local)" + echo " --prefix=XXX Set prefix to XXX for remainder of command" + echo " --sbindir Print system binary path (sbin) " + echo " --shared-datadir Print shared data (share) path. This is NOT the ICU data dir." + echo " --shlib-c Print the command to compile and build C shared libraries with ICU" + echo " --shlib-cc Print the command to compile and build C++ shared libraries with ICU" + echo " --sysconfdir Print system config (etc) path" + echo " --unicode-version Print version of Unicode data used in ICU ($UNICODE_VERSION)" + echo " --version Print ICU version ($VERSION)" + echo " --incfile Print path to Makefile.inc" + echo " --incpkgdatafile Print path to pkgdata.inc (for -O option of pkgdata)" + echo " --install Print path to install-sh" + echo " --mkinstalldirs Print path to mkinstalldirs" +} + +## Print the normal usage message +shortusage() +{ + echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'` +} + + +usage() +{ + echo "${ME}: icu-config: ICU configuration helper script" + echo + echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags." + echo 'Example (in make): CPFLAGS=$(shell icu-config --cppflags)' + echo ' LDFLAGS=$(shell icu-config --ldflags)' + echo " (etc).." + echo + echo "Usage:" + allflags + + echo + echo " [Brackets] show MAKE variable equivalents, (parenthesis) show example output" + echo + echo "Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved." +} + +## Check the sanity of current variables +sanity() +{ + if [ ! -f ${ICUUC_FILE} ] && [ ${IGNORE_ICUUC_FILE_CHECK} = "no" ]; + then + echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong." 1>&2 + echo "### Try the --prefix= option " 1>&2 + echo "### or --detect-prefix" + echo "### $ME: Exitting." 1>&2 + exit 2 + fi +} + +## Main starts here. + +if [ $# -lt 1 ]; then + shortusage + exit 1 +fi + +# For certain options (e.g. --detect-prefix) don't check for icuuc library file. +IGNORE_ICUUC_FILE_CHECK="no"; +case "$1" in +*prefix*) + IGNORE_ICUUC_FILE_CHECK="yes" + ;; +esac + +# Load our variables from autoconf +# ALWAYS load twice because of dependencies +loaddefs +loaddefs + +if [ $1 = "--selfcheck" ]; +then + echo "passed" + exit + # EXIT for self check +fi + +sanity + +while [ $# -gt 0 ]; +do + arg="$1" + var=`echo $arg | sed -e 's/^[^=]*=//'` +# echo "### processing $arg" 1>&2 + case "$arg" in + + # undocumented. + --debug) + set -x + ;; + + --so) + pkg-config --variable=SO icu + ;; + + --bindir) + echo $bindir + ;; + + --libdir) + echo $libdir + ;; + + --exists) + sanity + ;; + + --sbindir) + echo $sbindir + ;; + + --mkinstalldirs) + echo ${MKINSTALLDIRS} + ;; + + --install) + echo ${INSTALL} + ;; + + --invoke=*) + QUOT="\"" + CMD="${var}" + + # If it's not a locally executable command (1st choice) then + # search for it in the ICU directories. + if [ ! -x ${CMD} ]; then + if [ -x ${bindir}/${var} ]; then + CMD="${bindir}/${var}" + fi + if [ -x ${sbindir}/${var} ]; then + CMD="${sbindir}/${var}" + fi + fi + + echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD} + ;; + + --invoke) + QUOT="\"" + echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} + ;; + + --cflags) + pkg-config --variable=CFLAGS icu + ;; + + --cc) + echo $ECHO_N "${CC}${ECHO_C} " + ;; + + --cxx) + echo $ECHO_N "${CXX}${ECHO_C} " + ;; + + --cxxflags) + pkg-config --variable=CXXFLAGS icu + ;; + + --cppflags) + # Don't echo the -I. - it's unneeded. + CPPFLAGS=`pkg-config --variable=CPPFLAGS icu` + echo $ECHO_N "${CPPFLAGS}${ECHO_C} " | sed -e 's/-I. //' + ;; + + --cppflags-searchpath) + echo $ECHO_N "-I${prefix}/include${ECHO_C} " + ;; + + --cppflags-dynamic) + pkg-config --variable=SHAREDLIBCPPFLAGS icu + ;; + + --cxxflags-dynamic) + pkg-config --variable=SHAREDLIBCXXFLAGS icu + ;; + + --cflags-dynamic) + pkg-config --variable=SHAREDLIBCFLAGS icu + ;; + + --ldflags-system) + pkg-config --variable=ICULIBS_SYSTEMLIBS icu + ;; + + --ldflags) + pkg-config --libs icu + ;; + + --ldflags-libsonly) + pkg-config --variable=ICULIBS_LIBSONLY icu + ;; + + --ldflags-icuio) + pkg-config --variable=ICULIBS_ICUIO icu + ;; + + --ldflags-obsolete) + pkg-config --variable=ICULIBS_OBSOLETE icu + ;; + + --ldflags-toolutil) + pkg-config --variable=ICULIBS_TOOLUTIL icu + ;; + + --ldflags-layout) + pkg-config --variable=ICULIBS_LAYOUT icu + ;; + + --ldflags-searchpath) + echo $ECHO_N "-L${libdir}${ECHO_C} " + ;; + + --detect-prefix) + HERE=`echo $0 | sed -e "s/$ME//g"` + if [ -f $HERE/../lib/${ICULIBS_COMMON_LIB_NAME} ]; then + prefix=$HERE/.. + echo "## Using --prefix=${prefix}" 1>&2 + fi + loaddefs + loaddefs + ;; + + --exec-prefix) + echo $exec_prefix + ;; + + --prefix) + echo $prefix + ;; + + --prefix=*) + prefix=$var + loaddefs + loaddefs + ;; + + --sysconfdir) + pkg-config --variable=sysconfdir icu + ;; + + --mandir) + pkg-config --variable=mandir icu + ;; + + --shared-datadir) + echo $ECHO_N "${datadir}${ECHO_C} " + ;; + + --incfile) + echo $ECHO_N "${pkglibdir}/Makefile.inc${ECHO_C} " + ;; + + --incpkgdatafile) + echo $ECHO_N "${pkglibdir}/pkgdata.inc${ECHO_C} " + ;; + + --icudata) + pkg-config --variable=ICUDATA_NAME icu + ;; + + --icudata-mode) + echo $ECHO_N "${PKGDATA_MODE}${ECHO_C} " + ;; + + --icudata-install-dir) + pkg-config --variable=ICUPKGDATA_DIR icu + ;; + + --icudatadir) + pkg-config --variable=ICUDATA_DIR icu + ;; + + --shlib-c) + pkg-config --variable=SHLIB_c icu + ;; + + --shlib-cc) + pkg-config --variable=SHLIB_cc icu + ;; + + --version) + echo $ECHO_N $VERSION + ;; + + --unicode-version) + echo $ECHO_N $UNICODE_VERSION + ;; + + --help) + usage + exit 0 + ;; + + --usage) + usage + exit 0 + ;; + + -?) + usage + exit 0 + ;; + + *) + echo ${ME}: ERROR Unknown Option $arg 1>&2 + echo 1>&2 + shortusage 1>&2 + echo "### $ME: Exitting." 1>&2 + exit 1; + ;; + esac + shift + + # Reset the ignore icuuc file check flag + if [ $IGNORE_ICUUC_FILE_CHECK = "yes" ]; then + IGNORE_ICUUC_FILE_CHECK="no" + sanity + fi +done +echo +# Check once before we quit (will check last used prefix) +sanity +## END of icu-config-bottom + +exit 0 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.6995.kannada.patch b/icu.6995.kannada.patch new file mode 100644 index 0000000..a9d1fa4 --- /dev/null +++ b/icu.6995.kannada.patch @@ -0,0 +1,11 @@ +--- icu.orig/source/layout/IndicClassTables.cpp 2009-06-11 11:10:08.000000000 +0100 ++++ icu/source/layout/IndicClassTables.cpp 2009-06-11 11:11:30.000000000 +0100 +@@ -179,7 +179,7 @@ + // http://brahmi.sourceforge.net/docs/KannadaComputing.html + static const IndicClassTable::CharClass kndaCharClasses[] = + { +- _xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, // 0C80 - 0C8F ++ _xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, _iv, // 0C80 - 0C8F + _iv, _xx, _iv, _iv, _iv, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, // 0C90 - 0C9F + _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _xx, _bb, _bb, _bb, _bb, _bb, _bb, // 0CA0 - 0CAF + _rb, _ct, _bb, _bb, _xx, _bb, _bb, _bb, _bb, _bb, _xx, _xx, _xx, _xx, _dr, _da, // 0CB0 - 0CBF 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.icu7039.badextract.patch b/icu.icu7039.badextract.patch new file mode 100644 index 0000000..3b27762 --- /dev/null +++ b/icu.icu7039.badextract.patch @@ -0,0 +1,96 @@ +diff -ru icu.orig/source/common/unicode/unistr.h icu/source/common/unicode/unistr.h +--- icu.orig/source/common/unicode/unistr.h 2009-07-28 16:02:03.000000000 +0100 ++++ icu/source/common/unicode/unistr.h 2009-07-28 16:36:48.000000000 +0100 +@@ -4048,7 +4048,7 @@ + + { + // This dstSize value will be checked explicitly +- return extract(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage); ++ return extract(start, _length, dst, dst!=0 ? (((size_t)dst >= ((size_t)-1) - UINT32_MAX) ? (((char*)UINT32_MAX) - dst) : UINT32_MAX) : 0, codepage); + } + + #endif +diff -ru icu.orig/source/test/intltest/dadrcal.cpp icu/source/test/intltest/dadrcal.cpp +--- icu.orig/source/test/intltest/dadrcal.cpp 2009-07-28 16:01:10.000000000 +0100 ++++ icu/source/test/intltest/dadrcal.cpp 2009-07-28 16:52:15.000000000 +0100 +@@ -114,7 +114,7 @@ + + UnicodeString(" - ")); + continue; + } +- testSetting.extract(0, testSetting.length(), toCalLoc, (const char*)0); ++ testSetting.extract(0, testSetting.length(), toCalLoc, sizeof(toCalLoc)-1, (const char*)0); + fromCalendar = Calendar::createInstance(toCalLoc, status); + if (U_FAILURE(status)) { + errln(caseString+": Unable to instantiate calendar for " +@@ -371,7 +371,7 @@ + // build to calendar + UnicodeString testSetting = settings->getString("ToCalendar", status); + if (U_SUCCESS(status)) { +- testSetting.extract(0, testSetting.length(), toCalLoc, (const char*)0); ++ testSetting.extract(0, testSetting.length(), toCalLoc, sizeof(toCalLoc)-1, (const char*)0); + toCalendar = Calendar::createInstance(toCalLoc, status); + if (U_FAILURE(status)) { + errln("Unable to instantiate ToCalendar for "+testSetting); +@@ -394,7 +394,7 @@ + Calendar *fromCalendar= NULL; + UnicodeString locale = currentCase->getString("locale", status); + if (U_SUCCESS(status)) { +- locale.extract(0, locale.length(), fromCalLoc, (const char*)0); // default codepage. Invariant codepage doesn't have '@'! ++ locale.extract(0, locale.length(), fromCalLoc, sizeof(fromCalLoc)-1, (const char*)0); // default codepage. Invariant codepage doesn't have '@'! + fromCalendar = Calendar::createInstance(fromCalLoc, status); + if (U_FAILURE(status)) { + errln("Unable to instantiate fromCalendar for "+locale); +@@ -464,7 +464,7 @@ + logln("---"); + } + logln(testSetting + "---"); +- testSetting.extract(0, testSetting.length(), testType, ""); ++ testSetting.extract(0, testSetting.length(), testType, sizeof(testType)-1, ""); + } else { + errln("Unable to extract 'Type'. Skipping.."); + continue; +diff -ru icu.orig/source/test/intltest/dadrcoll.cpp icu/source/test/intltest/dadrcoll.cpp +--- icu.orig/source/test/intltest/dadrcoll.cpp 2009-07-28 16:01:10.000000000 +0100 ++++ icu/source/test/intltest/dadrcoll.cpp 2009-07-28 16:49:56.000000000 +0100 +@@ -179,7 +179,7 @@ + testSetting = settings->getString("TestLocale", intStatus); + if(U_SUCCESS(intStatus)) { + char localeName[256]; +- testSetting.extract(0, testSetting.length(), localeName, ""); ++ testSetting.extract(0, testSetting.length(), localeName, sizeof(localeName)-1, ""); + col = Collator::createInstance(localeName, status); + if(U_SUCCESS(status)) { + logln("Testing collator for locale "+testSetting); +diff -ru icu.orig/source/test/intltest/dadrfmt.cpp icu/source/test/intltest/dadrfmt.cpp +--- icu.orig/source/test/intltest/dadrfmt.cpp 2009-07-28 16:01:10.000000000 +0100 ++++ icu/source/test/intltest/dadrfmt.cpp 2009-07-28 16:50:36.000000000 +0100 +@@ -149,7 +149,7 @@ + DateFormat *format = NULL; + + // Process: 'locale' +- locale.extract(0, locale.length(), calLoc, (const char*)0); // default codepage. Invariant codepage doesn't have '@'! ++ locale.extract(0, locale.length(), calLoc, sizeof(calLoc)-1, (const char*)0); // default codepage. Invariant codepage doesn't have '@'! + Locale loc(calLoc); + if(spec.startsWith(kPATTERN)) { + pattern = UnicodeString(spec,kPATTERN.length()); +@@ -323,7 +323,7 @@ + logln("---"); + } + logln(testSetting + "---"); +- testSetting.extract(0, testSetting.length(), testType, ""); ++ testSetting.extract(0, testSetting.length(), testType, sizeof(testType)-1, ""); + } else { + errln("Unable to extract 'Type'. Skipping.."); + continue; +diff -ru icu.orig/source/test/intltest/loctest.cpp icu/source/test/intltest/loctest.cpp +--- icu.orig/source/test/intltest/loctest.cpp 2009-07-28 16:01:10.000000000 +0100 ++++ icu/source/test/intltest/loctest.cpp 2009-07-28 16:51:30.000000000 +0100 +@@ -616,7 +616,7 @@ + { + char *ch; + ch = new char[l.length() + 1]; +- ch[l.extract(0, 0x7fffffff, ch, "")] = 0; ++ ch[l.extract(0, 0x7fffffff, ch, l.length(), "")] = 0; + setFromPOSIXID(ch); + delete [] ch; + } diff --git a/icu.spec b/icu.spec index f76002d..a293e27 100644 --- a/icu.spec +++ b/icu.spec @@ -1,27 +1,23 @@ Name: icu -Version: 49.1.1 -Release: 8%{?dist} +Version: 4.2.1 +Release: 9.1%{?dist} Summary: International Components for Unicode Group: Development/Tools License: MIT and UCD and Public Domain URL: http://www.icu-project.org/ -Source0: http://download.icu-project.org/files/icu4c/49.1.1/icu4c-49_1_1-src.tgz -Source1: icu-config.sh - -BuildRoot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: doxygen, autoconf, python - +Source0: http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz +Source1: icu-config +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: doxygen, autoconf Requires: lib%{name} = %{version}-%{release} -Patch1: icu.8198.revert.icu5431.patch -Patch2: icu.8800.freeserif.crash.patch -Patch3: icu.7601.Indic-ccmp.patch -Patch4: icu.9283.regexcmp.crash.patch -Patch5: gennorm2-man.patch -Patch6: gencfu-man.patch -Patch7: icuinfo-man.patch -Patch8: icu.9737.CVE-2013-0900_changesets_32865_32908.patch -Patch9: CVE-2013-0900_umutex.patch +Patch1: icu-3.4-multiarchdevel.patch +Patch2: icu.6995.kannada.patch +Patch3: icu.icu7039.badextract.patch +Patch4: icu.6969.pkgdata.patch +Patch5: icu.XXXX.install.patch +Patch6: icu.7119.s390x.patch +Patch7: canonicalize.patch %description Tools and utilities for developing with icu. @@ -59,65 +55,42 @@ BuildArch: noarch %description -n lib%{name}-doc %{summary}. -%{!?endian: %global endian %(%{__python} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} -# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal - %prep %setup -q -n %{name} -%patch1 -p2 -R -b .icu8198.revert.icu5431.patch -%patch2 -p1 -b .icu8800.freeserif.crash.patch -%patch3 -p1 -b .icu7601.Indic-ccmp.patch -%patch4 -p1 -b .icu9283.regexcmp.crash.patch -%patch5 -p1 -b .gennorm2-man.patch -%patch6 -p1 -b .gencfu-man.patch -%patch7 -p1 -b .icuinfo-man.patch -%patch8 -p1 -b .icu9737.CVE-2013-0900_changesets_32865_32908.patch -%patch9 -p1 -b .CVE-2013-0900_umutex.patch +%patch1 -p1 -b .multiarchdevel +%patch2 -p1 -b .icu6995.kannada.patch +%patch3 -p1 -b .icu7039.badextract.patch +%patch4 -p0 -b .icu.6969.pkgdata.patch +%patch5 -p1 -b .icu.XXXX.install.patch +%patch6 -p1 -b .icu.7119.s390x.patch +%patch7 -p0 -b .canonicalize.patch %build cd source autoconf CFLAGS='%optflags -fno-strict-aliasing' CXXFLAGS='%optflags -fno-strict-aliasing' -# Endian: BE=0 LE=1 -%if ! 0%{?endian} -CPPFLAGS='-DU_IS_BIG_ENDIAN=1' -%endif %configure --with-data-packaging=library --disable-samples #rhbz#225896 -sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux -#rhbz#681941 -sed -i 's|^LIBS =.*|LIBS = -L../lib -licuuc -lpthread -lm|' i18n/Makefile -sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../lib -licuuc -licui18n -lc -lgcc|' io/Makefile -sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../lib -licuuc -lc|' layout/Makefile -sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../lib -licuuc -licule -lc|' layoutex/Makefile -sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../../lib -licutu -licuuc -lc|' tools/ctestfw/Makefile -sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../../lib -licui18n -licuuc -lpthread -lc|' tools/toolutil/Makefile -#rhbz#813484 -sed -i 's| \$(docfilesdir)/installdox||' Makefile -# There is no source/doc/html/search/ directory -sed -i '/^\s\+\$(INSTALL_DATA) \$(docsrchfiles) \$(DESTDIR)\$(docdir)\/\$(docsubsrchdir)\s*$/d' Makefile - -make %{?_smp_mflags} -make %{?_smp_mflags} doc +sed -i -- "s/-nodefaultlibs -nostdlib//" config/mh-linux +make # %{?_smp_mflags} # -j(X>1) may "break" man pages as of 3.2, b.f.u #2357 +make doc %install rm -rf $RPM_BUILD_ROOT source/__docs -make %{?_smp_mflags} -C source install DESTDIR=$RPM_BUILD_ROOT -make %{?_smp_mflags} -C source install-doc docdir=__docs +make -C source install DESTDIR=$RPM_BUILD_ROOT +make -C source install-doc docdir=__docs chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.* -( - cd $RPM_BUILD_ROOT%{_bindir} - mv icu-config icu-config-%{__isa_bits} -) -install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/icu-config +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-config +chmod 0755 $RPM_BUILD_ROOT%{_bindir}/%{name}-config +sed -i s/\\\$\(THREADSCXXFLAGS\)// $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/icu.pc +sed -i s/\\\$\(THREADSCPPFLAGS\)/-D_REENTRANT/ $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/icu.pc %check -# test to ensure that -j(X>1) didn't "break" man pages. b.f.u #2357 -if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then - exit 1 -fi -make %{?_smp_mflags} -C source check +make -C source check + +%clean +rm -rf $RPM_BUILD_ROOT %post -n lib%{name} -p /sbin/ldconfig @@ -125,6 +98,7 @@ make %{?_smp_mflags} -C source check %files %defattr(-,root,root,-) +%doc license.html readme.html %{_bindir}/derb %{_bindir}/genbrk %{_bindir}/gencfu @@ -136,7 +110,6 @@ make %{?_smp_mflags} -C source check %{_bindir}/uconv %{_sbindir}/* %{_mandir}/man1/derb.1* -%{_mandir}/man1/gencfu.1* %{_mandir}/man1/gencnval.1* %{_mandir}/man1/genrb.1* %{_mandir}/man1/genbrk.1* @@ -148,19 +121,16 @@ make %{?_smp_mflags} -C source check %files -n lib%{name} %defattr(-,root,root,-) -%doc license.html readme.html %{_libdir}/*.so.* %files -n lib%{name}-devel %defattr(-,root,root,-) -%{_bindir}/%{name}-config* -%{_bindir}/icuinfo +%{_bindir}/%{name}-config %{_mandir}/man1/%{name}-config.1* -%{_mandir}/man1/icuinfo.1* %{_includedir}/layout %{_includedir}/unicode %{_libdir}/*.so -%{_libdir}/pkgconfig/*.pc +%{_libdir}/pkgconfig/icu.pc %{_libdir}/%{name} %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/%{version} @@ -171,162 +141,54 @@ make %{?_smp_mflags} -C source check %files -n lib%{name}-doc %defattr(-,root,root,-) -%doc license.html readme.html %doc source/__docs/%{name}/html/* %changelog -* Wed Mar 20 2013 Remi Collet - 49.1.1-8 -- backport for remi repo for EL-5 - -* Wed Mar 06 2013 Eike Rathke - 49.1.1-8 -- Resolves: rhbz#918168 CVE-2013-0900 race condition allows DoS - -* Sat Feb 23 2013 Eike Rathke - 49.1.1-7 -- added manpages for gennorm2, gencfu and icuinfo, rhbz#884035 - -* Fri Jan 25 2013 Eike Rathke - 49.1.1-6 -- Resolves: rhbz#889781 big endian build breakage - -* Fri Aug 31 2012 Tom Callaway - 49.1.1-5 -- apply upstream fix (bug 9283) for regexcmp crash causing Chromium segfaults - -* Thu Jul 19 2012 Fedora Release Engineering - 49.1.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Fri Jun 15 2012 Caolán McNamara - 49.1.1-3 -- probably parallel-build safe by now. Add a check for original breakage - -* Fri Jun 15 2012 Caolán McNamara - 49.1.1-2 -- Resolves: rhbz#804313 multi-lib pain - -* Thu Apr 19 2012 Eike Rathke - 49.1.1-1 -- Update to 49.1.1 - -* Thu Apr 19 2012 Eike Rathke - 4.8.1.1-3 -- Resolves: rhbz#813484 doxygen 1.8.0 does not provide installdox, omit from install - -* Mon Jan 30 2012 Jon Masters - 4.8.1.1-2 -- Correct reference to BZ681941, add temporary fix for ARM FTBFS side effect - -* Fri Jan 20 2012 Peter Robinson -4.8.1.1-1 -- Update to 4.8.1.1 - -* Fri Jan 13 2012 Fedora Release Engineering - 4.8.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Dec 13 2011 Eike Rathke - 4.8.1-3 -- Resolves: rhbz#766542 CVE-2011-4599 Stack-based buffer overflow -- add icu.8984.CVE-2011-4599.patch - -* Mon Oct 24 2011 Caolán McNamara - 4.8.1-2 -- Resolves: rhbz#747193 try and enable ccmp for Indic fonts +* Mon Dec 12 2011 Caolan McNamara - 4.2.1-9.1 +- Resolves: rhbz#766539 CVE-2011-4599 localeID overflow -* Wed Sep 07 2011 Caolán McNamara - 4.8.1-1 -- Resolves: rhbz#681941 don't link unneccessary -lm, etc. -- add icu.8800.freeserif.crash.patch - -* Tue Mar 08 2011 Caolán McNamara - 4.6-2 -- Resolves: rhbz#681941 don't link unneccessary -lm, etc. - -* Mon Mar 07 2011 Caolán McNamara - 4.6-1 -- latest version -- upgrade includes a .pc now of its own, drop ours -- drop integrated icu.6995.kannada.patch -- drop integrated icu.7971.buildfix.patch -- drop integrated icu.7972.buildfix.patch -- drop integrated icu.7932.doublecompare.patch -- drop integrated icu.8011.buildfix.patch - -* Fri Feb 11 2011 Caolán McNamara - 4.4.2-8 -- Resolves: rhbz#674328 yet more ways that freeserif crashes libicu - -* Wed Feb 09 2011 Fedora Release Engineering - 4.4.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Thu Feb 03 2011 Caolán McNamara - 4.4.2-6 -- Resolves: rhbz#674328 more ways that freeserif crashes libicu - -* Wed Feb 02 2011 Caolán McNamara - 4.4.2-5 -- Resolves: rhbz#674328 freeserif crashes libicu - -* Thu Jan 13 2011 Caolán McNamara - 4.4.2-4 -- Resolves: rhbz#669237 strip libicudata - -* Mon Nov 29 2010 Caolán McNamara - 4.4.2-3 -- Resolves: rhbz#657964 icu-config bindir returns sbindir - -* Thu Nov 25 2010 Caolán McNamara - 4.4.2-2 -- Resolves: rhbz#654200 revert icu#5431 - -* Mon Oct 04 2010 Caolán McNamara - 4.4.2-1 -- latest version - -* Wed Sep 29 2010 jkeating - 4.4.1-6 -- Rebuilt for gcc bug 634757 - -* Wed Sep 22 2010 Caolán McNamara - 4.4.1-5 -- upstream patches - -* Thu Sep 09 2010 Caolán McNamara - 4.4.1-4 -- Resolves: rhbz#631403 doxygen no longer generates gifs - -* Thu Jul 08 2010 Caolán McNamara - 4.4.1-3 -- move licences into libicu, and add them into the -doc subpackage - as well - -* Wed May 26 2010 Caolán McNamara - 4.4.1-2 +* Thu May 27 2010 Caolan McNamara - 4.2.1-9 - Resolves: rhbz#596171 drop icu.icu6284.strictalias.patch and use -fno-strict-aliasig as upstream has added a pile more and doesn't look interested in proposed patchs -* Thu Apr 29 2010 Caolán McNamara - 4.4.1-1 -- latest version -- drop integrated icu.icu7567.libctest.patch +* Thu Apr 01 2010 Caolan McNamara - 4.2.1-8 +- Resolves: rhbz#578749 clarify license -* Fri Apr 02 2010 Caolán McNamara - 4.4-1 -- latest version -- drop integrated icu.6969.pkgdata.patch -- drop integrated icu.icu7039.badextract.patch -- drop integrated icu.XXXX.buildfix.patch - -* Wed Dec 02 2009 Caolán McNamara - 4.2.1-8 +* Wed Dec 02 2009 Caolan McNamara - 4.2.1-7 - Resolves: rhbz#543386 update icu-config -* Thu Nov 19 2009 Caolán McNamara - 4.2.1-7 -- Fix FTBFS with yet another autoconf version that changes - behaviour - -* Mon Aug 31 2009 Caolán McNamara - 4.2.1-6 +* Tue Sep 01 2009 Caolan McNamara - 4.2.1-6 - Resolves: rhbz#520468 fix s390x and other secondary archs -* Tue Jul 28 2009 Caolán McNamara - 4.2.1-5 +* Tue Jul 28 2009 Caolan McNamara - 4.2.1-5 - icu#7039 fix broken use of extract to get tests working * Fri Jul 24 2009 Fedora Release Engineering - 4.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild -* Wed Jul 22 2009 Caolán McNamara - 4.2.1-3 +* Wed Jul 22 2009 Caolan McNamara - 4.2.1-3 - make documentation noarch -* Tue Jul 14 2009 Caolán McNamara - 4.2.1-2 +* Tue Jul 14 2009 Caolan McNamara - 4.2.1-2 - rpmlint warnings -* Fri Jul 03 2009 Caolán McNamara - 4.2.1-1 +* Fri Jul 03 2009 Caolan McNamara - 4.2.1-1 - 4.2.1 release -* Fri Jun 26 2009 Caolán McNamara - 4.2.0.1-3 +* Fri Jun 26 2009 Caolan McNamara - 4.2.0.1-3 - Resolves: rhbz#508288 multilib conflict -* Thu Jun 11 2009 Caolán McNamara - 4.2.0.1-2 +* Thu Jun 11 2009 Caolan McNamara - 4.2.0.1-2 - Resolves: rhbz#505252 add icu.6995.kannada.patch -* Mon Jun 08 2009 Caolán McNamara - 4.2.0.1-1 +* Mon Jun 08 2009 Caolan McNamara - 4.2.0.1-1 - 4.2.0.1 release -* Sat May 09 2009 Caolán McNamara - 4.2-1 +* Sat May 09 2009 Caolan McNamara - 4.2-1 - 4.2 release -* Sun May 03 2009 Caolán McNamara - 4.2-0.1.d03 +* Sun May 03 2009 Caolan McNamara - 4.2-0.1.d03 - 4.2 release candidate - drop resolved icu.icu6008.arm.padding.patch - drop resolved icu.icu6439.bare.elif.patch @@ -334,100 +196,100 @@ make %{?_smp_mflags} -C source check * Tue Feb 24 2009 Fedora Release Engineering - 4.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild -* Tue Feb 03 2009 Caolán McNamara - 4.0.1-2 +* Tue Feb 03 2009 Caolan McNamara - 4.0.1-2 - fix bare elif for gcc-4.4 -* Fri Jan 16 2009 Caolán McNamara - 4.0.1-1 +* Fri Jan 16 2009 Caolan McNamara - 4.0.1-1 - 4.0.1 release -* Mon Dec 29 2008 Caolán McNamara - 4.0-6 +* Mon Dec 29 2008 Caolan McNamara - 4.0-6 - Resolves rhbz#225896 clean up low hanging rpmlint warnings -* Tue Dec 16 2008 Caolán McNamara - 4.0-5 +* Tue Dec 16 2008 Caolan McNamara - 4.0-5 - drop integrated icu.icu5557.safety.patch -* Thu Nov 20 2008 Caolán McNamara - 4.0-4 +* Thu Nov 20 2008 Caolan McNamara - 4.0-4 - annoyingly upstream tarball was repacked apparently to remove some unused/cached dirs -* Sat Sep 06 2008 Caolán McNamara - 4.0-3 +* Sat Sep 06 2008 Caolan McNamara - 4.0-3 - Resolves: rhbz#461348 wrong icu-config -* Tue Aug 26 2008 Caolán McNamara - 4.0-2 +* Tue Aug 26 2008 Caolan McNamara - 4.0-2 - Resolves: rhbz#459698 drop Malayalam patches. Note test with Rachana/Meera instead of Lohit Malayalam before filing bugs against icu wrt. Malayalam rendering -* Sat Jul 05 2008 Caolán McNamara - 4.0-1 +* Sat Jul 05 2008 Caolan McNamara - 4.0-1 - final release -* Mon Jun 30 2008 Caolán McNamara - 4.0-0.3.d03 +* Mon Jun 30 2008 Caolan McNamara - 4.0-0.3.d03 - 4.0 release candidate -* Wed Jun 04 2008 Caolán McNamara - 4.0-0.2.d02 +* Wed Jun 04 2008 Caolan McNamara - 4.0-0.2.d02 - drop icu.icu5498.openoffice.org.patch -* Sun May 31 2008 Caolán McNamara - 4.0-0.1.d02 +* Sun May 31 2008 Caolan McNamara - 4.0-0.1.d02 - 4.0 release candidate - drop integrated icu.regexp.patch -* Mon May 19 2008 Caolán McNamara - 3.8.1-8 +* Mon May 19 2008 Caolan McNamara - 3.8.1-8 - add icu.icu6284.strictalias.patch and build with strict-aliasing -* Tue Mar 18 2008 Caolán McNamara - 3.8.1-7 +* Tue Mar 18 2008 Caolan McNamara - 3.8.1-7 - Resolves: rhbz#437761 modify to icu.icu6213.worstcase.patch for other worst case expansions -* Mon Mar 17 2008 Caolán McNamara - 3.8.1-6 +* Mon Mar 17 2008 Caolan McNamara - 3.8.1-6 - Resolves: rhbz#437761 add icu.icu6213.bengali.worstcase.patch -* Mon Feb 04 2008 Caolán McNamara - 3.8.1-5 +* Mon Feb 04 2008 Caolan McNamara - 3.8.1-5 - Resolves: rhbz#431401 split syllables on 1st 0d4d of a 0d4d + (>= 0d15 && <= 0d39) + 0d4d + 0d30 sequence -* Thu Jan 31 2008 Caolán McNamara - 3.8.1-4 +* Thu Jan 31 2008 Caolan McNamara - 3.8.1-4 - Resolves: rhbz#431029, rhbz#424661 Remove workaround for 0D31 characters -* Fri Jan 25 2008 Caolán McNamara - 3.8.1-3 +* Fri Jan 25 2008 Caolan McNamara - 3.8.1-3 - CVE-2007-4770 CVE-2007-4771 add icu.regexp.patch - Resolves: rhbz#423211 fix malalayam stuff in light of syllable changes -* Fri Jan 11 2008 Caolán McNamara - 3.8.1-2 +* Fri Jan 11 2008 Caolan McNamara - 3.8.1-2 - remove icu.icu5365.dependantvowels.patch and cleanup icu.icu5506.multiplevowels.patch as they patch and unpatch eachother (thanks George Rhoten for pointing out that madness) -* Fri Jan 11 2008 Caolán McNamara - 3.8.1-1 +* Fri Jan 11 2008 Caolan McNamara - 3.8.1-1 - latest version - drop fixed icu.icu6084.zwnj.notdef.patch -* Thu Dec 13 2007 Caolán McNamara - 3.8-6 +* Thu Dec 13 2007 Caolan McNamara - 3.8-6 - Resolves: rhbz#423211 experimental hack for 0d15+0d4d+0d30 -* Tue Dec 11 2007 Caolán McNamara - 3.8-5 +* Tue Dec 11 2007 Caolan McNamara - 3.8-5 - Resolves: rhbz#415541 icu.icu6084.zwnj.notdef.patch -* Wed Nov 28 2007 Caolán McNamara - 3.8-4 +* Wed Nov 28 2007 Caolan McNamara - 3.8-4 - Resolves: ooo#83991 Malayalam "Kartika" font fix -* Tue Nov 13 2007 Caolán McNamara - 3.8-3 +* Tue Nov 13 2007 Caolan McNamara - 3.8-3 - add icu.openoffice.org.patch -* Sat Oct 27 2007 Caolán McNamara - 3.8-2 +* Sat Oct 27 2007 Caolan McNamara - 3.8-2 - add icu.icu6008.arm.padding.patch to fix an arm problem -* Tue Oct 02 2007 Caolán McNamara - 3.8-1 +* Tue Oct 02 2007 Caolan McNamara - 3.8-1 - latest version -* Mon Sep 03 2007 Caolán McNamara - 3.8-0.2.d02 +* Mon Sep 03 2007 Caolan McNamara - 3.8-0.2.d02 - next release candidate -* Wed Aug 29 2007 Caolán McNamara - 3.8-0.2.d01 +* Wed Aug 29 2007 Caolan McNamara - 3.8-0.2.d01 - rebuild -* Tue Aug 07 2007 Caolán McNamara - 3.8-0.1.d01 +* Tue Aug 07 2007 Caolan McNamara - 3.8-0.1.d01 - 3.8 release candidate - drop integrated icu.icu5433.oriya.patch - drop integrated icu.icu5488.assamese.patch @@ -436,53 +298,53 @@ make %{?_smp_mflags} -C source check - drop integrated icu.icu5594.gujarati.patch - drop integrated icu.icu5465.telegu.patch -* Wed Jun 13 2007 Caolán McNamara - 3.6-20 +* Wed Jun 13 2007 Caolan McNamara - 3.6-20 - Resolves: rhbz#243984 change the icu group as it is libicu which is "System Environment/Libraries" not icu -* Mon Apr 30 2007 Caolán McNamara - 3.6-19 +* Mon Apr 30 2007 Caolan McNamara - 3.6-19 - Resolves: rhbz#220867 Malayalam rendering -* Tue Feb 13 2007 Caolán McNamara - 3.6-18 +* Tue Feb 13 2007 Caolan McNamara - 3.6-18 - Resolves: rhbz#228457 icu.icu5594.gujarati.patch -* Mon Feb 09 2007 Caolán McNamara - 3.6-17 +* Mon Feb 09 2007 Caolan McNamara - 3.6-17 - spec cleanups -* Mon Feb 05 2007 Caolán McNamara - 3.6-16 +* Mon Feb 05 2007 Caolan McNamara - 3.6-16 - Resolves: rhbz#226949 layout telegu like pango -* Fri Jan 19 2007 Caolán McNamara - 3.6-15 +* Fri Jan 19 2007 Caolan McNamara - 3.6-15 - Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch -* Thu Jan 09 2007 Caolán McNamara - 3.6-14 +* Thu Jan 09 2007 Caolan McNamara - 3.6-14 - Related: rhbz#216089 add icu.icu5557.safety.patch -* Thu Dec 21 2006 Caolán McNamara - 3.6-13 +* Thu Dec 21 2006 Caolan McNamara - 3.6-13 - Resolves: rhbz#220433 modify icu.icu5431.malayam.patch -* Fri Nov 10 2006 Caolán McNamara - 3.6-12 +* Fri Nov 10 2006 Caolan McNamara - 3.6-12 - Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch -* Wed Nov 08 2006 Caolán McNamara - 3.6-11 +* Wed Nov 08 2006 Caolan McNamara - 3.6-11 - Resolves: rhbz#214555 icu.icu5501.sinhala.biggerexpand.patch -* Wed Nov 08 2006 Caolán McNamara - 3.6-10 +* Wed Nov 08 2006 Caolan McNamara - 3.6-10 - Resolves: rhbz#214555 icu.icu5500.devicetablecrash.patch -* Thu Oct 18 2006 Caolán McNamara - 3.6-9 +* Thu Oct 18 2006 Caolan McNamara - 3.6-9 - Resolves: rhbz#213648 extend prev/next to handle ZWJ -* Tue Oct 18 2006 Caolán McNamara - 3.6-8 +* Tue Oct 18 2006 Caolan McNamara - 3.6-8 - Resolves: rhbz213375 (icu.icu5488.assamese.patch) -* Tue Oct 18 2006 Caolán McNamara - 3.6-7 +* Tue Oct 18 2006 Caolan McNamara - 3.6-7 - Resolves: rhbz#211258 (icu.icu5465.telegu.patch) -* Thu Oct 05 2006 Caolán McNamara - 3.6-6 +* Thu Oct 05 2006 Caolan McNamara - 3.6-6 - rh#209391# add icu.icuXXXX.virama.prevnext.patch -* Mon Oct 02 2006 Caolán McNamara - 3.6-5 +* Mon Oct 02 2006 Caolan McNamara - 3.6-5 - rh#208705# add pkg-config Require for -devel package - add icu.icu5431.malayam.patch for rh#208551#/rh#209084# - add icu.icu5433.oriya.patch for rh#208559#/rh#209083# @@ -490,23 +352,23 @@ make %{?_smp_mflags} -C source check * Sun Oct 01 2006 Jesse Keating - 3.6-4 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 -* Mon Sep 25 2006 Caolán McNamara - 3.6-3 +* Mon Sep 25 2006 Caolan McNamara - 3.6-3 - rh#206615# render malayam like pango -* Wed Sep 06 2006 Caolán McNamara - 3.6-2 +* Wed Sep 06 2006 Caolan McNamara - 3.6-2 - fix rh#205252#/icu#5365 (gnome#121882#/#icu#4026#) to make icu like pango for multiple dependant vowels -* Mon Sep 03 2006 Caolán McNamara - 3.6-1 +* Mon Sep 03 2006 Caolan McNamara - 3.6-1 - final release -* Mon Aug 14 2006 Caolán McNamara - 3.6-0.1.d02 +* Mon Aug 14 2006 Caolan McNamara - 3.6-0.1.d02 - bump -* Tue Aug 08 2006 Caolán McNamara - 3.6-0.2.d01 +* Tue Aug 08 2006 Caolan McNamara - 3.6-0.2.d01 - c++ code not alias correct -* Mon Jul 31 2006 Caolán McNamara - 3.6-0.1.d01 +* Mon Jul 31 2006 Caolan McNamara - 3.6-0.1.d01 - rh#200728# update to prelease 3.6d01 to pick up on sinhala fixes - drop integrated rh190879.patch - drop integrated icu-3.4-sinhala1.patch @@ -517,16 +379,16 @@ make %{?_smp_mflags} -C source check * Wed Jul 12 2006 Jesse Keating - 3.4-10.1 - rebuild -* Sat Jun 10 2006 Caolán McNamara - 3.4-10 +* Sat Jun 10 2006 Caolan McNamara - 3.4-10 - rh#194686# BuildRequires -* Tue May 09 2006 Caolán McNamara - 3.4-9 +* Tue May 09 2006 Caolan McNamara - 3.4-9 - rh#190879# backport fix -* Wed May 03 2006 Caolán McNamara - 3.4-8 +* Wed May 03 2006 Caolan McNamara - 3.4-8 - add Harshula's icu-3.4-sinhala1.patch for some Sinhala support -* Tue May 02 2006 Caolán McNamara - 3.4-7 +* Tue May 02 2006 Caolan McNamara - 3.4-7 - add a pkgconfig.pc, make icu-config use it * Fri Feb 10 2006 Jesse Keating - 3.4-6.2 @@ -535,13 +397,13 @@ make %{?_smp_mflags} -C source check * Tue Feb 07 2006 Jesse Keating - 3.4-6.1 - rebuilt for new gcc4.1 snapshot and glibc changes -* Tue Jan 03 2006 Caolán McNamara - 3.4-6 +* Tue Jan 03 2006 Caolan McNamara - 3.4-6 - add icu-gcc41.patch -* Tue Oct 11 2005 Caolán McNamara - 3.4-5 +* Tue Oct 11 2005 Caolan McNamara - 3.4-5 - clear execstack requirement for libicudata -* Mon Sep 12 2005 Caolán McNamara - 3.4-4 +* Mon Sep 12 2005 Caolan McNamara - 3.4-4 - import extra icu.spec into fedora core for openoffice.org - build with gcc 4 -- cgit