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)

Loading…
Cancel
Save