Compare commits

...

No commits in common. 'c10-beta' and 'c9' have entirely different histories.
c10-beta ... c9

2
.gitignore vendored

@ -1 +1 @@
SOURCES/icu4c-74_2-src-FIXED.tgz SOURCES/icu4c-67_1-src.tgz

@ -1 +1 @@
43a8d688a3a6bc8f0f8c5e699d0ef7a905d24314 SOURCES/icu4c-74_2-src-FIXED.tgz 6822a4a94324d1ba591b3e8ef084e4491af253c1 SOURCES/icu4c-67_1-src.tgz

@ -0,0 +1,453 @@
diff -ru icu.orig/source/common/serv.cpp icu/source/common/serv.cpp
--- icu.orig/source/common/serv.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/serv.cpp 2021-08-18 13:04:50.838841089 +0200
@@ -532,12 +532,14 @@
}
UnicodeString* idToCache = new UnicodeString(currentDescriptor);
if (idToCache == NULL || idToCache->isBogus()) {
+ delete idToCache;
status = U_MEMORY_ALLOCATION_ERROR;
return NULL;
}
cacheDescriptorList._obj->addElement(idToCache, status);
if (U_FAILURE(status)) {
+ // delete idToCache;
return NULL;
}
} while (key.fallback());
diff -ru icu.orig/source/common/uloc_keytype.cpp icu/source/common/uloc_keytype.cpp
--- icu.orig/source/common/uloc_keytype.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/uloc_keytype.cpp 2021-08-18 14:03:41.707324553 +0200
@@ -331,6 +331,10 @@
LocExtKeyData* keyData = gLocExtKeyDataEntries->create();
if (keyData == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
+ if (typeDataMap != NULL) {
+ uhash_close(typeDataMap);
+ typeDataMap = NULL;
+ }
break;
}
keyData->bcpId = bcpKeyId;
diff -ru icu.orig/source/common/umutablecptrie.cpp icu/source/common/umutablecptrie.cpp
--- icu.orig/source/common/umutablecptrie.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/umutablecptrie.cpp 2021-08-18 13:59:02.507170287 +0200
@@ -1543,7 +1543,7 @@
MixedBlocks mixedBlocks;
int32_t newDataLength = compactData(fastILimit, newData, newDataCapacity,
dataNullIndex, mixedBlocks, errorCode);
- if (U_FAILURE(errorCode)) { return 0; }
+ if (U_FAILURE(errorCode)) { uprv_free(newData); return 0; }
U_ASSERT(newDataLength <= newDataCapacity);
uprv_free(data);
data = newData;
diff -ru icu.orig/source/i18n/rbt_pars.cpp icu/source/i18n/rbt_pars.cpp
--- icu.orig/source/i18n/rbt_pars.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/i18n/rbt_pars.cpp 2021-08-18 16:03:45.537119292 +0200
@@ -557,6 +557,7 @@
// The next character MUST be a segment open
if (single == NULL ||
!ICU_Utility::parseChar(rule, iref, SEGMENT_OPEN)) {
+ delete single;
return syntaxError(U_INVALID_FUNCTION, rule, start, status);
}
diff -ru icu.orig/source/i18n/tridpars.cpp icu/source/i18n/tridpars.cpp
--- icu.orig/source/i18n/tridpars.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/i18n/tridpars.cpp 2021-08-18 16:08:57.727071891 +0200
@@ -136,6 +136,9 @@
specsB = parseFilterID(id, pos, TRUE);
// Must close with a ')'
if (specsB == NULL || !ICU_Utility::parseChar(id, pos, CLOSE_REV)) {
+ if (specsB != NULL) {
+ delete specsB;
+ }
delete specsA;
pos = start;
return NULL;
diff -ru icu.orig/source/i18n/usearch.cpp icu/source/i18n/usearch.cpp
--- icu.orig/source/i18n/usearch.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/i18n/usearch.cpp 2021-08-18 16:19:31.533900708 +0200
@@ -222,6 +222,9 @@
int32_t *temp = (int32_t *)allocateMemory(
sizeof(int32_t) * newlength, status);
if (U_FAILURE(*status)) {
+ if (temp != NULL) {
+ uprv_free(temp);
+ }
return NULL;
}
uprv_memcpy(temp, destination, sizeof(int32_t) * (size_t)offset);
diff -ru icu.orig/source/i18n/usearch.cpp icu/source/i18n/usearch.cpp
--- icu.orig/source/i18n/usearch.cpp 2021-08-18 16:23:27.961337248 +0200
+++ icu/source/i18n/usearch.cpp 2021-08-18 16:27:47.140623351 +0200
@@ -266,6 +266,9 @@
sizeof(int64_t) * newlength, status);
if (U_FAILURE(*status)) {
+ if (temp != NULL) {
+ uprv_free(temp);
+ }
return NULL;
}
diff -ru icu.orig/source/i18n/uspoof_impl.cpp icu/source/i18n/uspoof_impl.cpp
--- icu.orig/source/i18n/uspoof_impl.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/i18n/uspoof_impl.cpp 2021-08-18 16:30:43.061460025 +0200
@@ -196,6 +196,9 @@
tmpSet = allowedChars.clone();
const char *tmpLocalesList = uprv_strdup(localesList);
if (tmpSet == NULL || tmpLocalesList == NULL) {
+ if (tmpLocalesList != NULL) {
+ uprv_free((void *)tmpLocalesList);
+ }
status = U_MEMORY_ALLOCATION_ERROR;
return;
}
diff -ru icu.orig/source/common/loclikely.cpp icu/source/common/loclikely.cpp
--- icu.orig/source/common/loclikely.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/loclikely.cpp 2021-08-18 16:59:05.786257032 +0200
@@ -1351,7 +1351,9 @@
}
}
- rgBuf[rgLen] = 0;
+ if (rgLen >= 0) {
+ rgBuf[rgLen] = 0;
+ }
uprv_strncpy(region, rgBuf, regionCapacity);
return u_terminateChars(region, regionCapacity, rgLen, status);
}
diff -ru icu.orig/source/common/lsr.cpp icu/source/common/lsr.cpp
--- icu.orig/source/common/lsr.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/lsr.cpp 2021-08-18 17:39:36.706794880 +0200
@@ -89,13 +89,15 @@
int32_t b = region[1] - '0';
if (b < 0 || 9 < b) { return 0; }
c = region[2] - '0';
- if (c < 0 || 9 < c || region[3] != 0) { return 0; }
+ if (uprv_strlen(region) > 3) { return 0; }
+ if (c < 0 || 9 < c) { return 0; }
return (10 * a + b) * 10 + c + 1;
} else { // letters: "DE"
a = uprv_upperOrdinal(c);
if (a < 0 || 25 < a) { return 0; }
int32_t b = uprv_upperOrdinal(region[1]);
- if (b < 0 || 25 < b || region[2] != 0) { return 0; }
+ if (uprv_strlen(region) > 2) { return 0; }
+ if (b < 0 || 25 < b) { return 0; }
return 26 * a + b + 1001;
}
return 0;
diff -ru icu.orig/source/tools/toolutil/filetools.cpp icu/source/tools/toolutil/filetools.cpp
--- icu.orig/source/tools/toolutil/filetools.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/tools/toolutil/filetools.cpp 2021-08-19 09:56:56.393333089 +0200
@@ -64,6 +64,7 @@
newpath.append(dirEntry->d_name, -1, status);
if (U_FAILURE(status)) {
fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, u_errorName(status));
+ closedir(pDir);
return FALSE;
}
diff -ru icu.orig/source/tools/pkgdata/pkgtypes.c icu/source/tools/pkgdata/pkgtypes.c
--- icu.orig/source/tools/pkgdata/pkgtypes.c 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/tools/pkgdata/pkgtypes.c 2021-08-19 10:37:07.400622046 +0200
@@ -30,6 +30,7 @@
{
int32_t ln = 0;
char buffer[1024];
+ char *bufferp = buffer;
while(l != NULL)
{
if(l->str)
@@ -42,7 +43,7 @@
buffer[uprv_strlen(buffer)-1] = '\0';
}
if(buffer[0] == '"') {
- uprv_strcpy(buffer, buffer+1);
+ bufferp = buffer+1;
}
} else if(quote > 0) { /* add quotes */
if(l->str[0] != '"') {
@@ -53,7 +54,7 @@
uprv_strcat(buffer, "\"");
}
}
- T_FileStream_write(s, buffer, (int32_t)uprv_strlen(buffer));
+ T_FileStream_write(s, bufferp, (int32_t)uprv_strlen(bufferp));
ln += (int32_t)uprv_strlen(l->str);
}
@@ -74,7 +75,8 @@
const char *pkg_writeCharList(FileStream *s, CharList *l, const char *delim, int32_t quote)
{
- char buffer[1024];
+ char buffer[1026]; /* 1026 instead of 1024 because quotes may be added */
+ char *bufferp = buffer;
while(l != NULL)
{
if(l->str)
@@ -92,7 +94,7 @@
buffer[uprv_strlen(buffer)-1] = '\0';
}
if(buffer[0] == '"') {
- uprv_strcpy(buffer, buffer+1);
+ bufferp = buffer+1;
}
} else if(quote > 0) { /* add quotes */
if(l->str[0] != '"') {
@@ -103,7 +105,7 @@
uprv_strcat(buffer, "\"");
}
}
- T_FileStream_write(s, buffer, (int32_t)uprv_strlen(buffer));
+ T_FileStream_write(s, bufferp, (int32_t)uprv_strlen(bufferp));
}
if(l->next && delim)
diff -ru icu.orig/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp
--- icu.orig/source/tools/pkgdata/pkgdata.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/tools/pkgdata/pkgdata.cpp 2021-08-19 11:11:35.563339463 +0200
@@ -980,12 +980,12 @@
version_major);
#else
if (noVersion && !reverseExt) {
- sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s%s%s",
+ snprintf(libFileNames[LIB_FILE_VERSION_TMP], sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s",
libFileNames[LIB_FILE],
FILE_SUFFIX,
pkgDataFlags[SOBJ_EXT]);
} else {
- sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s%s%s%s%s",
+ snprintf(libFileNames[LIB_FILE_VERSION_TMP], sizeof(libFileNames[LIB_FILE_VERSION_TMP]), "%s%s%s%s%s",
libFileNames[LIB_FILE],
FILE_SUFFIX,
reverseExt ? version : pkgDataFlags[SOBJ_EXT],
@@ -994,24 +994,24 @@
}
#endif
if (noVersion && !reverseExt) {
- sprintf(libFileNames[LIB_FILE_VERSION_MAJOR], "%s%s%s",
+ snprintf(libFileNames[LIB_FILE_VERSION_MAJOR], sizeof(libFileNames[LIB_FILE_VERSION_MAJOR]), "%s%s%s",
libFileNames[LIB_FILE],
FILE_SUFFIX,
pkgDataFlags[SO_EXT]);
- sprintf(libFileNames[LIB_FILE_VERSION], "%s%s%s",
+ snprintf(libFileNames[LIB_FILE_VERSION], sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s",
libFileNames[LIB_FILE],
FILE_SUFFIX,
pkgDataFlags[SO_EXT]);
} else {
- sprintf(libFileNames[LIB_FILE_VERSION_MAJOR], "%s%s%s%s%s",
+ snprintf(libFileNames[LIB_FILE_VERSION_MAJOR], sizeof(libFileNames[LIB_FILE_VERSION_MAJOR]), "%s%s%s%s%s",
libFileNames[LIB_FILE],
FILE_SUFFIX,
reverseExt ? version_major : pkgDataFlags[SO_EXT],
FILE_EXTENSION_SEP,
reverseExt ? pkgDataFlags[SO_EXT] : version_major);
- sprintf(libFileNames[LIB_FILE_VERSION], "%s%s%s%s%s",
+ snprintf(libFileNames[LIB_FILE_VERSION], sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s%s%s",
libFileNames[LIB_FILE],
FILE_SUFFIX,
reverseExt ? version : pkgDataFlags[SO_EXT],
@@ -1029,7 +1029,7 @@
#endif
if(IN_STATIC_MODE(mode)) {
- sprintf(libFileNames[LIB_FILE_VERSION], "%s.%s", libFileNames[LIB_FILE], pkgDataFlags[A_EXT]);
+ snprintf(libFileNames[LIB_FILE_VERSION], sizeof(libFileNames[LIB_FILE_VERSION]), "%s.%s", libFileNames[LIB_FILE], pkgDataFlags[A_EXT]);
libFileNames[LIB_FILE_VERSION_MAJOR][0]=0;
if(o->verbose) {
fprintf(stdout, "# libFileName[LIB_FILE_VERSION] = %s (static)\n", libFileNames[LIB_FILE_VERSION]);
@@ -1308,7 +1308,7 @@
* archive file suffix is the same, then the final library needs to be archived.
*/
if (uprv_strcmp(pkgDataFlags[SOBJ_EXT], pkgDataFlags[SO_EXT]) != 0 && uprv_strcmp(pkgDataFlags[A_EXT], pkgDataFlags[SO_EXT]) == 0) {
- sprintf(libFileNames[LIB_FILE_VERSION], "%s%s%s.%s",
+ snprintf(libFileNames[LIB_FILE_VERSION], sizeof(libFileNames[LIB_FILE_VERSION]), "%s%s%s.%s",
libFileNames[LIB_FILE],
pkgDataFlags[LIB_EXT_ORDER][0] == '.' ? "." : "",
reverseExt ? version : pkgDataFlags[SO_EXT],
diff -ru icu.orig/source/tools/ctestfw/ctest.c icu/source/tools/ctestfw/ctest.c
--- icu.orig/source/tools/ctestfw/ctest.c 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/tools/ctestfw/ctest.c 2021-08-19 13:19:21.016799737 +0200
@@ -686,7 +686,6 @@
}
vfprintf(stdout, pattern, ap);
fflush(stdout);
- va_end(ap);
if((*pattern==0) || (pattern[strlen(pattern)-1]!='\n')) {
HANGING_OUTPUT=1;
} else {
@@ -728,7 +727,6 @@
}
vfprintf(stdout, pattern, ap);
fflush(stdout);
- va_end(ap);
if((*pattern==0) || (pattern[strlen(pattern)-1]!='\n')) {
HANGING_OUTPUT=1;
} else {
@@ -777,7 +775,6 @@
}
vfprintf(stdout, pattern, ap);
fflush(stdout);
- va_end(ap);
GLOBAL_PRINT_COUNT++;
if((*pattern==0) || (pattern[strlen(pattern)-1]!='\n')) {
HANGING_OUTPUT=1;
@@ -803,6 +800,7 @@
}
va_start(ap, pattern);
vlog_err(NULL, pattern, ap);
+ va_end(ap);
}
UBool T_CTEST_EXPORT2
@@ -806,8 +806,11 @@
UBool T_CTEST_EXPORT2
log_knownIssue(const char *ticket, const char *pattern, ...) {
va_list ap;
+ UBool result;
va_start(ap, pattern);
- return vlog_knownIssue(ticket, pattern, ap);
+ result = vlog_knownIssue(ticket, pattern, ap);
+ va_end(ap);
+ return result;
}
void T_CTEST_EXPORT2
@@ -843,6 +842,7 @@
}
vlog_err(NULL, pattern, ap); /* no need for prefix in default case */
}
+ va_end(ap);
}
void T_CTEST_EXPORT2
@@ -852,6 +852,7 @@
va_start(ap, pattern);
vlog_info(NULL, pattern, ap);
+ va_end(ap);
}
void T_CTEST_EXPORT2
@@ -861,6 +862,7 @@
va_start(ap, pattern);
vlog_verbose(NULL, pattern, ap);
+ va_end(ap);
}
@@ -882,6 +884,7 @@
} else {
vlog_info("[DATA] ", pattern, ap);
}
+ va_end(ap);
}
diff -ru icu/source/tools/gensprep/store.c icu.new/source/tools/gensprep/store.c
--- icu/source/tools/gensprep/store.c 2020-04-22 22:04:20.000000000 +0200
+++ icu.new/source/tools/gensprep/store.c 2021-08-19 16:16:17.213687755 +0200
@@ -636,7 +636,6 @@
cleanUpData(void) {
uprv_free(mappingData);
utrie_close(sprepTrie);
- uprv_free(sprepTrie);
}
#endif /* #if !UCONFIG_NO_IDNA */
diff -ru icu.orig/source/common/uloc_tag.cpp icu/source/common/uloc_tag.cpp
--- icu.orig/source/common/uloc_tag.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/uloc_tag.cpp 2021-08-19 16:32:26.948185554 +0200
@@ -2254,6 +2254,7 @@
var = (VariantListEntry*)uprv_malloc(sizeof(VariantListEntry));
if (var == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
+ uprv_free(pExtension);
return NULL;
}
*pSep = 0;
diff -ru icu.orig/source/common/uloc_keytype.cpp icu/source/common/uloc_keytype.cpp
--- icu.orig/source/common/uloc_keytype.cpp 2021-08-19 16:34:07.037514442 +0200
+++ icu/source/common/uloc_keytype.cpp 2021-08-19 16:37:38.276098078 +0200
@@ -325,6 +325,10 @@
}
}
if (U_FAILURE(sts)) {
+ if (typeDataMap != NULL) {
+ uhash_close(typeDataMap);
+ typeDataMap = NULL;
+ }
break;
}
diff -ru icu.orig/source/common/serv.cpp icu/source/common/serv.cpp
--- icu.orig/source/common/serv.cpp 2021-08-19 20:45:49.923742619 +0200
+++ icu/source/common/serv.cpp 2021-08-20 13:16:04.401298668 +0200
@@ -793,6 +793,7 @@
*/
int32_t pos = UHASH_FIRST;
const UHashElement *entry = NULL;
+ /* coverity[deref_after_free] */
while ((entry = dnCache->cache.nextElement(pos)) != NULL) {
const UnicodeString* id = (const UnicodeString*)entry->value.pointer;
if (matchKey != NULL && !matchKey->isFallbackOf(*id)) {
diff -ru icu.orig/source/i18n/decNumber.h icu/source/i18n/decNumber.h
--- icu.orig/source/i18n/decNumber.h 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/i18n/decNumber.h 2021-08-20 13:17:27.208783404 +0200
@@ -86,7 +86,7 @@
/* range: -1999999997 through 999999999 */
uint8_t bits; /* Indicator bits (see above) */
/* Coefficient, from least significant unit */
- decNumberUnit lsu[DECNUMUNITS];
+ decNumberUnit lsu[DECNUMUNITS+2];
} decNumber;
/* Notes: */
diff -ru icu.orig/source/tools/makeconv/genmbcs.cpp icu/source/tools/makeconv/genmbcs.cpp
--- icu.orig/source/tools/makeconv/genmbcs.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/tools/makeconv/genmbcs.cpp 2021-08-23 08:07:02.972087418 +0200
@@ -172,7 +172,7 @@
}
MBCSInit(mbcsData, ucm);
- return &mbcsData->newConverter;
+ return (NewConverter *)mbcsData;
}
static void
diff -ru icu.orig/source/common/brkiter.cpp icu/source/common/brkiter.cpp
--- icu.orig/source/common/brkiter.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/brkiter.cpp 2021-08-23 13:56:11.644603960 +0200
@@ -105,7 +105,9 @@
}
}
+ /* coverity[incorrect_free] */
ures_close(brkRules);
+ /* coverity[incorrect_free] */
ures_close(brkName);
UDataMemory* file = udata_open(U_ICUDATA_BRKITR, ext, fnbuff, &status);
diff -ru icu.orig/source/common/uresbund.cpp icu/source/common/uresbund.cpp
--- icu.orig/source/common/uresbund.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/uresbund.cpp 2021-08-23 13:56:53.329339657 +0200
@@ -2493,7 +2493,9 @@
static void U_CALLCONV
ures_loc_closeLocales(UEnumeration *enumerator) {
ULocalesContext *ctx = (ULocalesContext *)enumerator->context;
+ /* coverity[address_free] */
ures_close(&ctx->curr);
+ /* coverity[address_free] */
ures_close(&ctx->installed);
uprv_free(ctx);
uprv_free(enumerator);

@ -1,28 +1,14 @@
#%%global debugtrace 1 #%%global debugtrace 1
# Set to 0 when upgrading to a new ICU release that contains up-to-date timezone data.
# (or update the timezone data update..).
%global use_tzdata_update 0
%define version_dash %{gsub %{version} %. -}
%define version_underscore %{gsub %{version} %. _}
Name: icu Name: icu
Version: 74.2 Version: 67.1
Release: 2%{?dist} Release: 9%{?dist}
Summary: International Components for Unicode Summary: International Components for Unicode
License: Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain License: MIT and UCD and Public Domain
URL: http://site.icu-project.org/ URL: http://site.icu-project.org/
Source0: https://github.com/unicode-org/icu/releases/download/release-%{version_dash}/icu4c-%{version_underscore}-src-FIXED.tgz Source0: https://github.com/unicode-org/icu/releases/download/release-67-1/icu4c-67_1-src.tgz
%if 0%{?use_tzdata_update} Source1: icu-config.sh
Source1: https://github.com/unicode-org/icu/releases/download/release-%{version_dash}/icu4c-%{version_underscore}-data.zip
Source2: https://raw.githubusercontent.com/unicode-org/icu-data/main/tzdata/icunew/2022b/44/metaZones.txt
Source3: https://raw.githubusercontent.com/unicode-org/icu-data/main/tzdata/icunew/2022b/44/timezoneTypes.txt
Source4: https://raw.githubusercontent.com/unicode-org/icu-data/main/tzdata/icunew/2022b/44/windowsZones.txt
Source5: https://raw.githubusercontent.com/unicode-org/icu-data/main/tzdata/icunew/2022b/44/zoneinfo64.txt
%endif
Source10: icu-config.sh
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@ -32,6 +18,7 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release}
Patch4: gennorm2-man.patch Patch4: gennorm2-man.patch
Patch5: icuinfo-man.patch Patch5: icuinfo-man.patch
Patch6: coverity.patch
%description %description
Tools and utilities for developing with icu. Tools and utilities for developing with icu.
@ -72,13 +59,7 @@ BuildArch: noarch
%prep %prep
%autosetup -p1 -n %{name} %autosetup -p1 -n %{name}
%if 0%{?use_tzdata_update}
pushd source
unzip -o %{SOURCE1}
rm -f data/in/icudt*l.dat
cp -v -f %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} data/misc
popd
%endif
%build %build
pushd source pushd source
@ -124,7 +105,7 @@ chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.*
cd $RPM_BUILD_ROOT%{_bindir} cd $RPM_BUILD_ROOT%{_bindir}
mv icu-config icu-config-%{__isa_bits} mv icu-config icu-config-%{__isa_bits}
) )
install -p -m755 -D %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/icu-config install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/icu-config
%check %check
@ -132,13 +113,21 @@ install -p -m755 -D %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/icu-config
if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then
exit 1 exit 1
fi fi
%ifarch i686
# F26 since the mass rebuild in 2017-Feb fails a check, ignore error. TODO: find cause / disable only one.
%make_build -C source check ||:
%else
%make_build -C source check %make_build -C source check
%endif
# log available codes # log available codes
pushd source pushd source
LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
%ldconfig_scriptlets -n lib%{name}
%files %files
%license license.html %license license.html
%exclude %{_datadir}/%{name}/*/LICENSE %exclude %{_datadir}/%{name}/*/LICENSE
@ -148,18 +137,16 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
%{_bindir}/gencnval %{_bindir}/gencnval
%{_bindir}/gendict %{_bindir}/gendict
%{_bindir}/genrb %{_bindir}/genrb
%{_bindir}/icuexportdata
%{_bindir}/makeconv %{_bindir}/makeconv
%{_bindir}/pkgdata %{_bindir}/pkgdata
%{_bindir}/uconv %{_bindir}/uconv
%{_sbindir}/* %{_sbindir}/*
%{_mandir}/man1/derb.1* %{_mandir}/man1/derb.1*
%{_mandir}/man1/genbrk.1*
%{_mandir}/man1/gencfu.1* %{_mandir}/man1/gencfu.1*
%{_mandir}/man1/gencnval.1* %{_mandir}/man1/gencnval.1*
%{_mandir}/man1/gendict.1* %{_mandir}/man1/gendict.1*
%{_mandir}/man1/genrb.1* %{_mandir}/man1/genrb.1*
%{_mandir}/man1/icuexportdata.1* %{_mandir}/man1/genbrk.1*
%{_mandir}/man1/makeconv.1* %{_mandir}/man1/makeconv.1*
%{_mandir}/man1/pkgdata.1* %{_mandir}/man1/pkgdata.1*
%{_mandir}/man1/uconv.1* %{_mandir}/man1/uconv.1*
@ -194,65 +181,15 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
%changelog %changelog
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 74.2-2 * Wed Aug 18 2021 Mike FABIAN <mfabian@redhat.com> - 67.1-9
- Bump release for June 2024 mass rebuild - Resolves: rhbz#1938741 Fix coverity scan problems
* Wed Jan 31 2024 Pete Walter <pwalter@fedoraproject.org> - 74.2-1
- Update to 74.2
* Mon Jan 29 2024 Pete Walter <pwalter@fedoraproject.org> - 74.1-1
- Update to 74.1
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 73.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 73.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Dec 13 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 73.2-3
- Fix broken TestHebrewCalendarInTemporalLeapYear
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 73.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 06 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 73.2-1
- Update to 73.2
* Fri Jan 20 2023 Eike Rathke <erack@redhat.com> - 72.1-3
- migrated to SPDX license IDs
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 72.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Dec 28 2022 Pete Walter <pwalter@fedoraproject.org> - 72.1-1
- Update to 72.1
* Fri Sep 23 2022 Mike FABIAN <mfabian@redhat.com> - 71.1-2
- Update timezone data to 2022b
* Wed Jul 27 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 71.1-1
- Update to 71.1
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 69.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu May 05 2022 Mike FABIAN <mfabian@redhat.com> - 69.1-6
- Update timezone data to 2022a
* Wed Feb 02 2022 Eike Rathke <erack@redhat.com> - 69.1-5
- Introduce use_tzdata_update flag
* Tue Feb 01 2022 Mike FABIAN <mfabian@redhat.com> - 69.1-4
- Update timezone data to 2021a4
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 69.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 69.1-2 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 67.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 69.1-1 * Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 67.1-7
- Update to 69.1 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 67.1-6 * Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 67.1-6
- Rebuilt for removed libstdc++ symbol (#1937698) - Rebuilt for removed libstdc++ symbol (#1937698)
@ -619,7 +556,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
- drop integrated icu.icu5557.safety.patch - drop integrated icu.icu5557.safety.patch
* Thu Nov 20 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-4 * Thu Nov 20 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-4
- annoyingly upstream tarball was repacked apparently to remove - annoyingly upstream tarball was repacked apparently to remove
some unused/cached dirs some unused/cached dirs
* Sat Sep 06 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-3 * Sat Sep 06 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-3
@ -644,7 +581,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
- drop integrated icu.regexp.patch - drop integrated icu.regexp.patch
* Mon May 19 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-8 * Mon May 19 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-8
- add icu.icu6284.strictalias.patch and build with - add icu.icu6284.strictalias.patch and build with
strict-aliasing strict-aliasing
* Tue Mar 18 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-7 * Tue Mar 18 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-7
@ -655,7 +592,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
- Resolves: rhbz#437761 add icu.icu6213.bengali.worstcase.patch - Resolves: rhbz#437761 add icu.icu6213.bengali.worstcase.patch
* Mon Feb 04 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-5 * Mon Feb 04 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-5
- Resolves: rhbz#431401 split syllables on 1st 0d4d of a 0d4d + - Resolves: rhbz#431401 split syllables on 1st 0d4d of a 0d4d +
(>= 0d15 && <= 0d39) + 0d4d + 0d30 sequence (>= 0d15 && <= 0d39) + 0d4d + 0d30 sequence
* Thu Jan 31 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-4 * Thu Jan 31 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-4
@ -668,7 +605,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
* Fri Jan 11 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-2 * Fri Jan 11 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-2
- remove icu.icu5365.dependantvowels.patch and cleanup - remove icu.icu5365.dependantvowels.patch and cleanup
icu.icu5506.multiplevowels.patch as they patch and unpatch icu.icu5506.multiplevowels.patch as they patch and unpatch
eachother (thanks George Rhoten for pointing out that madness) eachother (thanks George Rhoten for pointing out that madness)
* Fri Jan 11 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-1 * Fri Jan 11 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-1
@ -709,7 +646,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
- drop integrated icu.icu5465.telegu.patch - drop integrated icu.icu5465.telegu.patch
* Wed Jun 13 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-20 * Wed Jun 13 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-20
- Resolves: rhbz#243984 change the icu group as it is libicu - Resolves: rhbz#243984 change the icu group as it is libicu
which is "System Environment/Libraries" not icu which is "System Environment/Libraries" not icu
* Mon Apr 30 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-19 * Mon Apr 30 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-19
@ -766,7 +703,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
- rh#206615# render malayam like pango - rh#206615# render malayam like pango
* Wed Sep 06 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-2 * Wed Sep 06 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-2
- fix rh#205252#/icu#5365 (gnome#121882#/#icu#4026#) to make icu - fix rh#205252#/icu#5365 (gnome#121882#/#icu#4026#) to make icu
like pango for multiple dependant vowels like pango for multiple dependant vowels
* Sun Sep 03 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-1 * Sun Sep 03 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-1
@ -819,7 +756,7 @@ LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
* Wed Aug 31 2005 Thorsten Leemhuis <fedora at leemhuis.info> - 3.4-3 * Wed Aug 31 2005 Thorsten Leemhuis <fedora at leemhuis.info> - 3.4-3
- Use dist - Use dist
- gcc32 does not understand -fstack-protector and - gcc32 does not understand -fstack-protector and
--param=ssp-buffer-size=4 --param=ssp-buffer-size=4
* Tue Aug 2 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.4-2 * Tue Aug 2 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.4-2

Loading…
Cancel
Save