next version

This commit is contained in:
Caolan McNamara 2010-03-19 10:15:16 +00:00
parent 52b847293c
commit f6efa53a5a
6 changed files with 14 additions and 307 deletions

View File

@ -1,2 +1,2 @@
icu-config
icu4c-4_2_1-src.tgz
icu4c-4_4-src.tgz

View File

@ -1,189 +0,0 @@
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

View File

@ -1,14 +1,3 @@
--- icu/source/Makefile.in 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/%
--- icu/source/configure.in 2009-07-01 19:51:26.000000000 +0100
+++ icu/source/configure.in 2009-11-19 09:12:23.000000000 +0000
@@ -57,6 +57,11 @@

View File

@ -1,96 +0,0 @@
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;
}

View File

@ -1,11 +1,11 @@
Name: icu
Version: 4.2.1
Release: 8%{?dist}
Version: 4.4
Release: 1%{?dist}
Summary: International Components for Unicode
Group: Development/Tools
License: MIT
URL: http://www.icu-project.org/
Source0: http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz
Source0: http://download.icu-project.org/files/icu4c/4.4/icu4c-4_4-src.tgz
Source1: icu-config
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: doxygen, autoconf
@ -14,9 +14,7 @@ Requires: lib%{name} = %{version}-%{release}
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.buildfix.patch
Patch4: icu.XXXX.buildfix.patch
%description
Tools and utilities for developing with icu.
@ -59,9 +57,7 @@ BuildArch: noarch
%patch1 -p1 -b .multiarchdevel
%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.buildfix.patch
%patch4 -p1 -b .icuXXXX.buildfix.patch
%build
cd source
@ -122,6 +118,7 @@ rm -rf $RPM_BUILD_ROOT
%files -n lib%{name}-devel
%defattr(-,root,root,-)
%{_bindir}/%{name}-config
%{_bindir}/icuinfo
%{_mandir}/man1/%{name}-config.1*
%{_includedir}/layout
%{_includedir}/unicode
@ -140,6 +137,12 @@ rm -rf $RPM_BUILD_ROOT
%doc source/__docs/%{name}/html/*
%changelog
* Fri Mar 19 2010 Caolan McNamara <caolanm@redhat.com> - 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 Caolan McNamara <caolanm@redhat.com> - 4.2.1-8
- Resolves: rhbz#543386 update icu-config

View File

@ -1,2 +1,2 @@
e3738abd0d3ce1870dc1fd1f22bba5b1 icu4c-4_2_1-src.tgz
325a88422c900e69a7efce1b86a49ac4 icu-config
36b77e68e73f0ee9f7bb862629e33342 icu4c-4_4-src.tgz