commit
ad8df3bc01
@ -0,0 +1 @@
|
|||||||
|
SOURCES/icu4c-74_2-src-FIXED.tgz
|
@ -0,0 +1 @@
|
|||||||
|
43a8d688a3a6bc8f0f8c5e699d0ef7a905d24314 SOURCES/icu4c-74_2-src-FIXED.tgz
|
@ -0,0 +1,390 @@
|
|||||||
|
From af6fbac0bdba3080a8bcb5d12764d1fece2e9c1d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike FABIAN <mfabian@redhat.com>
|
||||||
|
Date: Mon, 23 Aug 2021 18:03:31 +0200
|
||||||
|
Subject: [PATCH 1/2] ICU-21667 Fix coverity warnings
|
||||||
|
|
||||||
|
See: https://unicode-org.atlassian.net/browse/ICU-21667
|
||||||
|
(Issues found by coverity in icu-69.1)
|
||||||
|
---
|
||||||
|
source/common/brkiter.cpp | 2 +
|
||||||
|
source/common/serv.cpp | 76 +++++++++++++----------
|
||||||
|
source/common/serv.h | 5 ++
|
||||||
|
source/common/uloc_keytype.cpp | 8 +++
|
||||||
|
source/common/umutablecptrie.cpp | 2 +-
|
||||||
|
source/common/uresbund.cpp | 3 +-
|
||||||
|
source/i18n/decNumber.h | 2 +-
|
||||||
|
source/i18n/rbt_pars.cpp | 7 +--
|
||||||
|
source/i18n/tridpars.cpp | 1 +
|
||||||
|
source/i18n/usearch.cpp | 2 +
|
||||||
|
source/i18n/uspoof_impl.cpp | 6 +-
|
||||||
|
source/tools/gensprep/store.c | 1 -
|
||||||
|
source/tools/makeconv/genmbcs.cpp | 4 ++
|
||||||
|
source/tools/pkgdata/pkgtypes.c | 12 ++--
|
||||||
|
source/tools/toolutil/filetools.cpp | 1 +
|
||||||
|
15 files changed, 84 insertions(+), 48 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/source/common/brkiter.cpp b/source/common/brkiter.cpp
|
||||||
|
index b452cf2c050..e2edbe8eaf6 100644
|
||||||
|
--- a/source/common/brkiter.cpp
|
||||||
|
+++ b/source/common/brkiter.cpp
|
||||||
|
@@ -107,7 +107,9 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* coverity[incorrect_free] */
|
||||||
|
ures_close(brkRules);
|
||||||
|
+ /* coverity[incorrect_free] */
|
||||||
|
ures_close(brkName);
|
||||||
|
|
||||||
|
UDataMemory* file = udata_open(U_ICUDATA_BRKITR, ext, fnbuff, &status);
|
||||||
|
diff --git a/source/common/serv.cpp b/source/common/serv.cpp
|
||||||
|
index 5248f7c192b..ddf17e45069 100644
|
||||||
|
--- a/source/common/serv.cpp
|
||||||
|
+++ b/source/common/serv.cpp
|
||||||
|
@@ -722,49 +722,57 @@ UVector&
|
||||||
|
ICUService::getDisplayNames(UVector& result,
|
||||||
|
const Locale& locale,
|
||||||
|
const UnicodeString* matchID,
|
||||||
|
- UErrorCode& status) const
|
||||||
|
+ UErrorCode& status) const
|
||||||
|
{
|
||||||
|
+ // cast away semantic const
|
||||||
|
+ return const_cast<ICUService *>(this)->getDisplayNamesImpl(result, locale, matchID, status);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+UVector&
|
||||||
|
+ICUService::getDisplayNamesImpl(UVector& result,
|
||||||
|
+ const Locale& locale,
|
||||||
|
+ const UnicodeString* matchID,
|
||||||
|
+ UErrorCode& status)
|
||||||
|
+{
|
||||||
|
+ if (U_FAILURE(status)) { return result; }
|
||||||
|
result.removeAllElements();
|
||||||
|
result.setDeleter(userv_deleteStringPair);
|
||||||
|
- if (U_SUCCESS(status)) {
|
||||||
|
- ICUService* ncthis = (ICUService*)this; // cast away semantic const
|
||||||
|
- Mutex mutex(&lock);
|
||||||
|
+ Mutex mutex(&lock);
|
||||||
|
|
||||||
|
- if (dnCache != nullptr && dnCache->locale != locale) {
|
||||||
|
- delete dnCache;
|
||||||
|
- ncthis->dnCache = nullptr;
|
||||||
|
- }
|
||||||
|
+ if (dnCache != nullptr && dnCache->locale != locale) {
|
||||||
|
+ delete dnCache;
|
||||||
|
+ dnCache = nullptr;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
+ if (dnCache == nullptr) {
|
||||||
|
+ const Hashtable* m = getVisibleIDMap(status);
|
||||||
|
+ if (U_FAILURE(status)) {
|
||||||
|
+ return result;
|
||||||
|
+ }
|
||||||
|
+ dnCache = new DNCache(locale);
|
||||||
|
if (dnCache == nullptr) {
|
||||||
|
- const Hashtable* m = getVisibleIDMap(status);
|
||||||
|
- if (U_FAILURE(status)) {
|
||||||
|
- return result;
|
||||||
|
- }
|
||||||
|
- ncthis->dnCache = new DNCache(locale);
|
||||||
|
- if (dnCache == nullptr) {
|
||||||
|
- status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
- return result;
|
||||||
|
- }
|
||||||
|
+ status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
+ return result;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- int32_t pos = UHASH_FIRST;
|
||||||
|
- const UHashElement* entry = nullptr;
|
||||||
|
- while ((entry = m->nextElement(pos)) != nullptr) {
|
||||||
|
- const UnicodeString* id = (const UnicodeString*)entry->key.pointer;
|
||||||
|
- ICUServiceFactory* f = (ICUServiceFactory*)entry->value.pointer;
|
||||||
|
- UnicodeString dname;
|
||||||
|
- f->getDisplayName(*id, locale, dname);
|
||||||
|
- if (dname.isBogus()) {
|
||||||
|
- status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
- } else {
|
||||||
|
- dnCache->cache.put(dname, (void*)id, status); // share pointer with visibleIDMap
|
||||||
|
- if (U_SUCCESS(status)) {
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
+ int32_t pos = UHASH_FIRST;
|
||||||
|
+ const UHashElement* entry = nullptr;
|
||||||
|
+ while ((entry = m->nextElement(pos)) != nullptr) {
|
||||||
|
+ const UnicodeString* id = static_cast<const UnicodeString*>(entry->key.pointer);
|
||||||
|
+ ICUServiceFactory* f = static_cast<ICUServiceFactory*>(entry->value.pointer);
|
||||||
|
+ UnicodeString dname;
|
||||||
|
+ f->getDisplayName(*id, locale, dname);
|
||||||
|
+ if (dname.isBogus()) {
|
||||||
|
+ status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
+ } else {
|
||||||
|
+ dnCache->cache.put(dname, (void*)id, status); // share pointer with visibleIDMap
|
||||||
|
+ if (U_SUCCESS(status)) {
|
||||||
|
+ continue;
|
||||||
|
}
|
||||||
|
- delete dnCache;
|
||||||
|
- ncthis->dnCache = nullptr;
|
||||||
|
- return result;
|
||||||
|
}
|
||||||
|
+ delete dnCache;
|
||||||
|
+ dnCache = nullptr;
|
||||||
|
+ return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/source/common/serv.h b/source/common/serv.h
|
||||||
|
index 9aea548fc3a..3c53f228738 100644
|
||||||
|
--- a/source/common/serv.h
|
||||||
|
+++ b/source/common/serv.h
|
||||||
|
@@ -759,6 +759,11 @@ class U_COMMON_API ICUService : public ICUNotifier {
|
||||||
|
const UnicodeString* matchID,
|
||||||
|
UErrorCode& status) const;
|
||||||
|
|
||||||
|
+ UVector& getDisplayNamesImpl(UVector& result,
|
||||||
|
+ const Locale& locale,
|
||||||
|
+ const UnicodeString* matchID,
|
||||||
|
+ UErrorCode& status);
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* <p>A convenience override of registerInstance(UObject*, const UnicodeString&, UBool)
|
||||||
|
* that defaults visible to true.</p>
|
||||||
|
diff --git a/source/common/uloc_keytype.cpp b/source/common/uloc_keytype.cpp
|
||||||
|
index a84b8609079..a837e0f14a7 100644
|
||||||
|
--- a/source/common/uloc_keytype.cpp
|
||||||
|
+++ b/source/common/uloc_keytype.cpp
|
||||||
|
@@ -327,12 +327,20 @@ initFromResourceBundle(UErrorCode& sts) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (U_FAILURE(sts)) {
|
||||||
|
+ if (typeDataMap != NULL) {
|
||||||
|
+ uhash_close(typeDataMap);
|
||||||
|
+ typeDataMap = NULL;
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
LocExtKeyData* keyData = gLocExtKeyDataEntries->create();
|
||||||
|
if (keyData == nullptr) {
|
||||||
|
sts = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
+ if (typeDataMap != NULL) {
|
||||||
|
+ uhash_close(typeDataMap);
|
||||||
|
+ typeDataMap = NULL;
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
keyData->bcpId = bcpKeyId;
|
||||||
|
diff --git a/source/common/umutablecptrie.cpp b/source/common/umutablecptrie.cpp
|
||||||
|
index cdbe27080b4..e58ab6f4897 100644
|
||||||
|
--- a/source/common/umutablecptrie.cpp
|
||||||
|
+++ b/source/common/umutablecptrie.cpp
|
||||||
|
@@ -1543,7 +1543,7 @@ int32_t MutableCodePointTrie::compactTrie(int32_t fastILimit, UErrorCode &errorC
|
||||||
|
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 --git a/source/common/uresbund.cpp b/source/common/uresbund.cpp
|
||||||
|
index 5aa1c5fa2f1..7d16cd048ef 100644
|
||||||
|
--- a/source/common/uresbund.cpp
|
||||||
|
+++ b/source/common/uresbund.cpp
|
||||||
|
@@ -2927,7 +2927,8 @@ typedef struct ULocalesContext {
|
||||||
|
|
||||||
|
static void U_CALLCONV
|
||||||
|
ures_loc_closeLocales(UEnumeration *enumerator) {
|
||||||
|
- ULocalesContext *ctx = (ULocalesContext *)enumerator->context;
|
||||||
|
+ if (enumerator == nullptr) { return; }
|
||||||
|
+ ULocalesContext* ctx = (ULocalesContext *)(enumerator->context);
|
||||||
|
ures_close(&ctx->curr);
|
||||||
|
ures_close(&ctx->installed);
|
||||||
|
uprv_free(ctx);
|
||||||
|
diff --git a/source/i18n/decNumber.h b/source/i18n/decNumber.h
|
||||||
|
index 4a1eb364e19..6ad94386c1f 100644
|
||||||
|
--- a/source/i18n/decNumber.h
|
||||||
|
+++ b/source/i18n/decNumber.h
|
||||||
|
@@ -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 --git a/source/i18n/rbt_pars.cpp b/source/i18n/rbt_pars.cpp
|
||||||
|
index 10482d5edb1..c59a22faab2 100644
|
||||||
|
--- a/source/i18n/rbt_pars.cpp
|
||||||
|
+++ b/source/i18n/rbt_pars.cpp
|
||||||
|
@@ -552,16 +552,15 @@ int32_t RuleHalf::parseSection(const UnicodeString& rule, int32_t pos, int32_t l
|
||||||
|
case ALT_FUNCTION:
|
||||||
|
{
|
||||||
|
int32_t iref = pos;
|
||||||
|
- TransliteratorIDParser::SingleID* single =
|
||||||
|
- TransliteratorIDParser::parseFilterID(rule, iref);
|
||||||
|
+ LocalPointer<TransliteratorIDParser::SingleID> single(
|
||||||
|
+ TransliteratorIDParser::parseFilterID(rule, iref));
|
||||||
|
// The next character MUST be a segment open
|
||||||
|
- if (single == nullptr ||
|
||||||
|
+ if (single.isNull() ||
|
||||||
|
!ICU_Utility::parseChar(rule, iref, SEGMENT_OPEN)) {
|
||||||
|
return syntaxError(U_INVALID_FUNCTION, rule, start, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
Transliterator *t = single->createInstance();
|
||||||
|
- delete single;
|
||||||
|
if (t == nullptr) {
|
||||||
|
return syntaxError(U_INVALID_FUNCTION, rule, start, status);
|
||||||
|
}
|
||||||
|
diff --git a/source/i18n/tridpars.cpp b/source/i18n/tridpars.cpp
|
||||||
|
index 6c23a0dc902..f9c3c207025 100644
|
||||||
|
--- a/source/i18n/tridpars.cpp
|
||||||
|
+++ b/source/i18n/tridpars.cpp
|
||||||
|
@@ -136,6 +136,7 @@ TransliteratorIDParser::parseSingleID(const UnicodeString& id, int32_t& pos,
|
||||||
|
specsB = parseFilterID(id, pos, true);
|
||||||
|
// Must close with a ')'
|
||||||
|
if (specsB == nullptr || !ICU_Utility::parseChar(id, pos, CLOSE_REV)) {
|
||||||
|
+ delete specsB;
|
||||||
|
delete specsA;
|
||||||
|
pos = start;
|
||||||
|
return nullptr;
|
||||||
|
diff --git a/source/i18n/usearch.cpp b/source/i18n/usearch.cpp
|
||||||
|
index 6d9b60cef72..1fb82fe26a4 100644
|
||||||
|
--- a/source/i18n/usearch.cpp
|
||||||
|
+++ b/source/i18n/usearch.cpp
|
||||||
|
@@ -199,6 +199,7 @@ inline int32_t * addTouint32_tArray(int32_t *destination,
|
||||||
|
int32_t *temp = (int32_t *)allocateMemory(
|
||||||
|
sizeof(int32_t) * newlength, status);
|
||||||
|
if (U_FAILURE(*status)) {
|
||||||
|
+ uprv_free(temp);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
uprv_memcpy(temp, destination, sizeof(int32_t) * (size_t)offset);
|
||||||
|
@@ -240,6 +241,7 @@ inline int64_t * addTouint64_tArray(int64_t *destination,
|
||||||
|
sizeof(int64_t) * newlength, status);
|
||||||
|
|
||||||
|
if (U_FAILURE(*status)) {
|
||||||
|
+ uprv_free(temp);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/source/i18n/uspoof_impl.cpp b/source/i18n/uspoof_impl.cpp
|
||||||
|
index 7a6084a1096..a1bd7d66a92 100644
|
||||||
|
--- a/source/i18n/uspoof_impl.cpp
|
||||||
|
+++ b/source/i18n/uspoof_impl.cpp
|
||||||
|
@@ -194,8 +194,12 @@ void SpoofImpl::setAllowedLocales(const char *localesList, UErrorCode &status) {
|
||||||
|
|
||||||
|
// Store the updated spoof checker state.
|
||||||
|
tmpSet = allowedChars.clone();
|
||||||
|
+ if (tmpSet == nullptr) {
|
||||||
|
+ status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
const char *tmpLocalesList = uprv_strdup(localesList);
|
||||||
|
- if (tmpSet == nullptr || tmpLocalesList == nullptr) {
|
||||||
|
+ if (tmpLocalesList == nullptr) {
|
||||||
|
status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
diff --git a/source/tools/gensprep/store.c b/source/tools/gensprep/store.c
|
||||||
|
index c3712febb4c..377877c94be 100644
|
||||||
|
--- a/source/tools/gensprep/store.c
|
||||||
|
+++ b/source/tools/gensprep/store.c
|
||||||
|
@@ -638,7 +638,6 @@ extern void
|
||||||
|
cleanUpData(void) {
|
||||||
|
uprv_free(mappingData);
|
||||||
|
utrie_close(sprepTrie);
|
||||||
|
- uprv_free(sprepTrie);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #if !UCONFIG_NO_IDNA */
|
||||||
|
diff --git a/source/tools/makeconv/genmbcs.cpp b/source/tools/makeconv/genmbcs.cpp
|
||||||
|
index 43b96d814fb..0f610afeee4 100644
|
||||||
|
--- a/source/tools/makeconv/genmbcs.cpp
|
||||||
|
+++ b/source/tools/makeconv/genmbcs.cpp
|
||||||
|
@@ -173,6 +173,10 @@ MBCSOpen(UCMFile *ucm) {
|
||||||
|
}
|
||||||
|
|
||||||
|
MBCSInit(mbcsData, ucm);
|
||||||
|
+ /* The memory in the MBSData structure following
|
||||||
|
+ * newConverter will be properly freed in MBCSClose.
|
||||||
|
+ */
|
||||||
|
+ /* coverity[leaked_storage] */
|
||||||
|
return &mbcsData->newConverter;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/source/tools/pkgdata/pkgtypes.c b/source/tools/pkgdata/pkgtypes.c
|
||||||
|
index 26bd945df73..ba516861a01 100644
|
||||||
|
--- a/source/tools/pkgdata/pkgtypes.c
|
||||||
|
+++ b/source/tools/pkgdata/pkgtypes.c
|
||||||
|
@@ -31,6 +31,7 @@ const char *pkg_writeCharListWrap(FileStream *s, CharList *l, const char *delim,
|
||||||
|
{
|
||||||
|
int32_t ln = 0;
|
||||||
|
char buffer[1024];
|
||||||
|
+ char *bufferp = buffer;
|
||||||
|
while(l != NULL)
|
||||||
|
{
|
||||||
|
if(l->str)
|
||||||
|
@@ -43,7 +44,7 @@ const char *pkg_writeCharListWrap(FileStream *s, CharList *l, const char *delim,
|
||||||
|
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] != '"') {
|
||||||
|
@@ -54,7 +55,7 @@ const char *pkg_writeCharListWrap(FileStream *s, CharList *l, const char *delim,
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
@@ -75,7 +76,8 @@ const char *pkg_writeCharListWrap(FileStream *s, CharList *l, const char *delim,
|
||||||
|
|
||||||
|
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)
|
||||||
|
@@ -93,7 +95,7 @@ const char *pkg_writeCharList(FileStream *s, CharList *l, const char *delim, int
|
||||||
|
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] != '"') {
|
||||||
|
@@ -104,7 +106,7 @@ const char *pkg_writeCharList(FileStream *s, CharList *l, const char *delim, int
|
||||||
|
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 --git a/source/tools/toolutil/filetools.cpp b/source/tools/toolutil/filetools.cpp
|
||||||
|
index 994d8e31f00..8dcbb6a480a 100644
|
||||||
|
--- a/source/tools/toolutil/filetools.cpp
|
||||||
|
+++ b/source/tools/toolutil/filetools.cpp
|
||||||
|
@@ -64,6 +64,7 @@ isFileModTimeLater(const char *filePath, const char *checkAgainst, UBool isDir)
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.46.1
|
||||||
|
|
@ -0,0 +1,487 @@
|
|||||||
|
From ac0192d1de167e11f2d8a28e2781941be4f60877 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mike FABIAN <mfabian@redhat.com>
|
||||||
|
Date: Mon, 19 Aug 2024 16:15:01 +0200
|
||||||
|
Subject: [PATCH 2/2] Fix coverity warnings icu-74.2
|
||||||
|
|
||||||
|
---
|
||||||
|
source/common/loclikelysubtags.cpp | 1 +
|
||||||
|
source/common/ubidi.cpp | 1 +
|
||||||
|
source/common/ubiditransform.cpp | 2 +-
|
||||||
|
source/common/ucnv.cpp | 3 ++-
|
||||||
|
source/common/ucnv2022.cpp | 2 ++
|
||||||
|
source/common/ucnv_u16.cpp | 2 ++
|
||||||
|
source/common/ucnv_u7.cpp | 1 +
|
||||||
|
source/common/ucnvmbcs.cpp | 1 +
|
||||||
|
source/common/ucnvscsu.cpp | 2 ++
|
||||||
|
source/common/umutablecptrie.cpp | 1 +
|
||||||
|
source/common/unames.cpp | 1 +
|
||||||
|
source/i18n/collationrootelements.cpp | 2 ++
|
||||||
|
source/i18n/dayperiodrules.cpp | 1 +
|
||||||
|
source/i18n/double-conversion-bignum.cpp | 3 +++
|
||||||
|
source/i18n/measfmt.cpp | 1 +
|
||||||
|
source/i18n/measunit.cpp | 3 +++
|
||||||
|
source/i18n/number_fluent.cpp | 1 +
|
||||||
|
source/i18n/number_padding.cpp | 1 +
|
||||||
|
source/i18n/number_rounding.cpp | 2 ++
|
||||||
|
source/i18n/number_skeletons.cpp | 1 +
|
||||||
|
source/i18n/numrange_fluent.cpp | 1 +
|
||||||
|
source/i18n/plurrule.cpp | 1 +
|
||||||
|
source/i18n/rbt_pars.cpp | 1 +
|
||||||
|
source/i18n/tzgnames.cpp | 1 +
|
||||||
|
source/i18n/vtzone.cpp | 2 +-
|
||||||
|
source/tools/gencnval/gencnval.c | 5 +++++
|
||||||
|
source/tools/genrb/wrtxml.cpp | 2 +-
|
||||||
|
source/tools/makeconv/makeconv.cpp | 4 ++++
|
||||||
|
source/tools/toolutil/package.cpp | 1 +
|
||||||
|
source/tools/toolutil/ucbuf.cpp | 2 +-
|
||||||
|
30 files changed, 47 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/source/common/loclikelysubtags.cpp b/source/common/loclikelysubtags.cpp
|
||||||
|
index c2a7011b509..7943b6d2489 100644
|
||||||
|
--- a/source/common/loclikelysubtags.cpp
|
||||||
|
+++ b/source/common/loclikelysubtags.cpp
|
||||||
|
@@ -736,6 +736,7 @@ int32_t XLikelySubtags::getLikelyIndex(const char *language, const char *script)
|
||||||
|
int32_t value;
|
||||||
|
// Small optimization: Array lookup for first language letter.
|
||||||
|
int32_t c0;
|
||||||
|
+ /* coverity[overrun-local] */
|
||||||
|
if (0 <= (c0 = uprv_lowerOrdinal(language[0])) && c0 <= 25 &&
|
||||||
|
language[1] != 0 && // language.length() >= 2
|
||||||
|
(state = trieFirstLetterStates[c0]) != 0) {
|
||||||
|
diff --git a/source/common/ubidi.cpp b/source/common/ubidi.cpp
|
||||||
|
index fcf82fa97a8..18a179a15f7 100644
|
||||||
|
--- a/source/common/ubidi.cpp
|
||||||
|
+++ b/source/common/ubidi.cpp
|
||||||
|
@@ -1276,6 +1276,7 @@ resolveExplicitLevels(UBiDi *pBiDi, UErrorCode *pErrorCode) {
|
||||||
|
} else
|
||||||
|
/* make it WS so that it is handled by adjustWSLevels() */
|
||||||
|
dirProps[i]=WS;
|
||||||
|
+ /* coverity[overrun-local] */
|
||||||
|
embeddingLevel=(UBiDiLevel)stack[stackLast]&~ISOLATE;
|
||||||
|
flags|=(DIRPROP_FLAG(ON)|DIRPROP_FLAG_LR(embeddingLevel));
|
||||||
|
previousLevel=embeddingLevel;
|
||||||
|
diff --git a/source/common/ubiditransform.cpp b/source/common/ubiditransform.cpp
|
||||||
|
index 01f5901a2c2..23634742b88 100644
|
||||||
|
--- a/source/common/ubiditransform.cpp
|
||||||
|
+++ b/source/common/ubiditransform.cpp
|
||||||
|
@@ -499,7 +499,7 @@ ubiditransform_transform(UBiDiTransform *pBiDiTransform,
|
||||||
|
/* Checking for U_SUCCESS() within the loop to bail out on first failure. */
|
||||||
|
for (action = pBiDiTransform->pActiveScheme->actions; *action && U_SUCCESS(*pErrorCode); action++) {
|
||||||
|
if ((*action)(pBiDiTransform, pErrorCode)) {
|
||||||
|
- if (action + 1) {
|
||||||
|
+ if (action[1] != nullptr) {
|
||||||
|
updateSrc(pBiDiTransform, pBiDiTransform->dest, *pBiDiTransform->pDestLength,
|
||||||
|
*pBiDiTransform->pDestLength, pErrorCode);
|
||||||
|
}
|
||||||
|
diff --git a/source/common/ucnv.cpp b/source/common/ucnv.cpp
|
||||||
|
index a7a07d65d61..87b4cd8ace5 100644
|
||||||
|
--- a/source/common/ucnv.cpp
|
||||||
|
+++ b/source/common/ucnv.cpp
|
||||||
|
@@ -105,7 +105,7 @@ ucnv_openU (const char16_t * name,
|
||||||
|
*err = U_ILLEGAL_ARGUMENT_ERROR;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
- return ucnv_open(u_austrcpy(asciiName, name), err);
|
||||||
|
+ return ucnv_open(u_austrncpy(asciiName, name, UCNV_MAX_CONVERTER_NAME_LENGTH), err);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Copy the string that is represented by the UConverterPlatform enum
|
||||||
|
@@ -2240,6 +2240,7 @@ ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The pivot buffer is empty; reset it so we start at pivotStart. */
|
||||||
|
+ /* coverity[escape_local_addr_alias] */
|
||||||
|
*pivotSource=*pivotTarget=pivotStart;
|
||||||
|
|
||||||
|
/*
|
||||||
|
diff --git a/source/common/ucnv2022.cpp b/source/common/ucnv2022.cpp
|
||||||
|
index 5989c1b405a..7d5b450d78a 100644
|
||||||
|
--- a/source/common/ucnv2022.cpp
|
||||||
|
+++ b/source/common/ucnv2022.cpp
|
||||||
|
@@ -3108,6 +3108,7 @@ UConverter_fromUnicode_ISO_2022_CN_OFFSETS_LOGIC(UConverterFromUnicodeArgs* args
|
||||||
|
} else {
|
||||||
|
/* GB2312_1 or ISO-IR-165 */
|
||||||
|
U_ASSERT(cs0<UCNV_2022_MAX_CONVERTERS);
|
||||||
|
+ /* coverity[overrun-local] */
|
||||||
|
len2 = MBCS_FROM_UCHAR32_ISO2022(
|
||||||
|
converterData->myConverterArray[cs0],
|
||||||
|
sourceChar,
|
||||||
|
@@ -3392,6 +3393,7 @@ UConverter_toUnicode_ISO_2022_CN_OFFSETS_LOGIC(UConverterToUnicodeArgs *args,
|
||||||
|
|
||||||
|
}else{
|
||||||
|
U_ASSERT(tempState<UCNV_2022_MAX_CONVERTERS);
|
||||||
|
+ /* coverity[overrun-local] */
|
||||||
|
cnv = myData->myConverterArray[tempState];
|
||||||
|
tempBuf[0] = (char) (mySourceChar);
|
||||||
|
tempBuf[1] = (char) trailByte;
|
||||||
|
diff --git a/source/common/ucnv_u16.cpp b/source/common/ucnv_u16.cpp
|
||||||
|
index c3bcfef50cb..70dfbe89884 100644
|
||||||
|
--- a/source/common/ucnv_u16.cpp
|
||||||
|
+++ b/source/common/ucnv_u16.cpp
|
||||||
|
@@ -234,6 +234,7 @@ _UTF16BEFromUnicodeWithOffsets(UConverterFromUnicodeArgs *pArgs,
|
||||||
|
|
||||||
|
if(length>0) {
|
||||||
|
/* output length bytes with overflow (length>targetCapacity>0) */
|
||||||
|
+ /* coverity[uninit_use_in_call] */
|
||||||
|
ucnv_fromUWriteBytes(cnv,
|
||||||
|
overflow, length,
|
||||||
|
(char **)&target, pArgs->targetLimit,
|
||||||
|
@@ -835,6 +836,7 @@ _UTF16LEFromUnicodeWithOffsets(UConverterFromUnicodeArgs *pArgs,
|
||||||
|
|
||||||
|
if(length>0) {
|
||||||
|
/* output length bytes with overflow (length>targetCapacity>0) */
|
||||||
|
+ /* coverity[uninit_use_in_call] */
|
||||||
|
ucnv_fromUWriteBytes(cnv,
|
||||||
|
overflow, length,
|
||||||
|
&target, pArgs->targetLimit,
|
||||||
|
diff --git a/source/common/ucnv_u7.cpp b/source/common/ucnv_u7.cpp
|
||||||
|
index 398b528e832..6df77253b12 100644
|
||||||
|
--- a/source/common/ucnv_u7.cpp
|
||||||
|
+++ b/source/common/ucnv_u7.cpp
|
||||||
|
@@ -617,6 +617,7 @@ _UTF7FromUnicodeWithOffsets(UConverterFromUnicodeArgs *pArgs,
|
||||||
|
base64Counter=1;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
+ /* coverity[deref_overflow] */
|
||||||
|
*target++=toBase64[bits|(c>>14)];
|
||||||
|
if(target<targetLimit) {
|
||||||
|
*target++=toBase64[(c>>8)&0x3f];
|
||||||
|
diff --git a/source/common/ucnvmbcs.cpp b/source/common/ucnvmbcs.cpp
|
||||||
|
index d7606039800..9277ad25837 100644
|
||||||
|
--- a/source/common/ucnvmbcs.cpp
|
||||||
|
+++ b/source/common/ucnvmbcs.cpp
|
||||||
|
@@ -2839,6 +2839,7 @@ ucnv_MBCSToUnicodeWithOffsets(UConverterToUnicodeArgs *pArgs,
|
||||||
|
/* Back out bytes from the previous buffer: Need to replay them. */
|
||||||
|
cnv->preToULength=(int8_t)(bytesFromThisBuffer-backOutDistance);
|
||||||
|
/* preToULength is negative! */
|
||||||
|
+ /* coverity[overflow_sink] */
|
||||||
|
uprv_memcpy(cnv->preToU, bytes+i, -cnv->preToULength);
|
||||||
|
source=(const uint8_t *)pArgs->source;
|
||||||
|
}
|
||||||
|
diff --git a/source/common/ucnvscsu.cpp b/source/common/ucnvscsu.cpp
|
||||||
|
index 2138e289cad..30a1b69824b 100644
|
||||||
|
--- a/source/common/ucnvscsu.cpp
|
||||||
|
+++ b/source/common/ucnvscsu.cpp
|
||||||
|
@@ -402,6 +402,7 @@ _SCSUToUnicodeWithOffsets(UConverterToUnicodeArgs *pArgs,
|
||||||
|
case quoteOne:
|
||||||
|
if(b<0x80) {
|
||||||
|
/* all static offsets are in the BMP */
|
||||||
|
+ /* coverity[deref_overflow] */
|
||||||
|
*target++=(char16_t)(staticOffsets[quoteWindow]+b);
|
||||||
|
if(offsets!=nullptr) {
|
||||||
|
*offsets++=sourceIndex;
|
||||||
|
@@ -642,6 +643,7 @@ _SCSUToUnicode(UConverterToUnicodeArgs *pArgs,
|
||||||
|
*target++=(char16_t)b;
|
||||||
|
} else {
|
||||||
|
/* write from dynamic window */
|
||||||
|
+ /* coverity[deref_overflow] */
|
||||||
|
uint32_t c=scsu->toUDynamicOffsets[dynamicWindow]+(b&0x7f);
|
||||||
|
if(c<=0xffff) {
|
||||||
|
*target++=(char16_t)c;
|
||||||
|
diff --git a/source/common/umutablecptrie.cpp b/source/common/umutablecptrie.cpp
|
||||||
|
index e58ab6f4897..502dfad5a50 100644
|
||||||
|
--- a/source/common/umutablecptrie.cpp
|
||||||
|
+++ b/source/common/umutablecptrie.cpp
|
||||||
|
@@ -534,6 +534,7 @@ void MutableCodePointTrie::setRange(UChar32 start, UChar32 end, uint32_t value,
|
||||||
|
// Iterate over all-value blocks.
|
||||||
|
while (start < limit) {
|
||||||
|
int32_t i = start >> UCPTRIE_SHIFT_3;
|
||||||
|
+ /* coverity[overrun-local] */
|
||||||
|
if (flags[i] == ALL_SAME) {
|
||||||
|
index[i] = value;
|
||||||
|
} else /* MIXED */ {
|
||||||
|
diff --git a/source/common/unames.cpp b/source/common/unames.cpp
|
||||||
|
index 1b3192bf25e..c01c9d2db04 100644
|
||||||
|
--- a/source/common/unames.cpp
|
||||||
|
+++ b/source/common/unames.cpp
|
||||||
|
@@ -1561,6 +1561,7 @@ u_charFromName(UCharNameChoice nameChoice,
|
||||||
|
|
||||||
|
/* try extended names first */
|
||||||
|
if (lower[0] == '<') {
|
||||||
|
+ /* coverity[deref_overflow] */
|
||||||
|
if (nameChoice == U_EXTENDED_CHAR_NAME && lower[--i] == '>') {
|
||||||
|
// Parse a string like "<category-HHHH>" where HHHH is a hex code point.
|
||||||
|
uint32_t limit = i;
|
||||||
|
diff --git a/source/i18n/collationrootelements.cpp b/source/i18n/collationrootelements.cpp
|
||||||
|
index 9b46d14144b..54fa479617a 100644
|
||||||
|
--- a/source/i18n/collationrootelements.cpp
|
||||||
|
+++ b/source/i18n/collationrootelements.cpp
|
||||||
|
@@ -127,6 +127,7 @@ CollationRootElements::getSecondaryBefore(uint32_t p, uint32_t s) const {
|
||||||
|
} else {
|
||||||
|
index = findPrimary(p) + 1;
|
||||||
|
previousSec = Collation::BEFORE_WEIGHT16;
|
||||||
|
+ /* coverity[overflow_sink] */
|
||||||
|
sec = getFirstSecTerForPrimary(index) >> 16;
|
||||||
|
}
|
||||||
|
U_ASSERT(s >= sec);
|
||||||
|
@@ -157,6 +158,7 @@ CollationRootElements::getTertiaryBefore(uint32_t p, uint32_t s, uint32_t t) con
|
||||||
|
} else {
|
||||||
|
index = findPrimary(p) + 1;
|
||||||
|
previousTer = Collation::BEFORE_WEIGHT16;
|
||||||
|
+ /* coverity[overflow_sink] */
|
||||||
|
secTer = getFirstSecTerForPrimary(index);
|
||||||
|
}
|
||||||
|
uint32_t st = (s << 16) | t;
|
||||||
|
diff --git a/source/i18n/dayperiodrules.cpp b/source/i18n/dayperiodrules.cpp
|
||||||
|
index 294390cce2b..95befe8301c 100644
|
||||||
|
--- a/source/i18n/dayperiodrules.cpp
|
||||||
|
+++ b/source/i18n/dayperiodrules.cpp
|
||||||
|
@@ -218,6 +218,7 @@ struct DayPeriodRulesDataSink : public ResourceSink {
|
||||||
|
}
|
||||||
|
if (hour == 25) { hour = 0; }
|
||||||
|
if (cutoffs[hour] & (1 << CUTOFF_TYPE_BEFORE)) {
|
||||||
|
+ /* coverity[overrun-call] */
|
||||||
|
rule.add(startHour, hour, period);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
diff --git a/source/i18n/double-conversion-bignum.cpp b/source/i18n/double-conversion-bignum.cpp
|
||||||
|
index d2b701a21d8..77bab875aab 100644
|
||||||
|
--- a/source/i18n/double-conversion-bignum.cpp
|
||||||
|
+++ b/source/i18n/double-conversion-bignum.cpp
|
||||||
|
@@ -390,6 +390,7 @@ void Bignum::Square() {
|
||||||
|
// First shift the digits so we don't overwrite them.
|
||||||
|
const int copy_offset = used_bigits_;
|
||||||
|
for (int i = 0; i < used_bigits_; ++i) {
|
||||||
|
+ /* coverity[overrun-call] */
|
||||||
|
RawBigit(copy_offset + i) = RawBigit(i);
|
||||||
|
}
|
||||||
|
// We have two loops to avoid some 'if's in the loop.
|
||||||
|
@@ -415,7 +416,9 @@ void Bignum::Square() {
|
||||||
|
// Invariant: sum of both indices is again equal to i.
|
||||||
|
// Inner loop runs 0 times on last iteration, emptying accumulator.
|
||||||
|
while (bigit_index2 < used_bigits_) {
|
||||||
|
+ /* coverity[overrun-call] */
|
||||||
|
const Chunk chunk1 = RawBigit(copy_offset + bigit_index1);
|
||||||
|
+ /* coverity[overrun-call] */
|
||||||
|
const Chunk chunk2 = RawBigit(copy_offset + bigit_index2);
|
||||||
|
accumulator += static_cast<DoubleChunk>(chunk1) * chunk2;
|
||||||
|
bigit_index1--;
|
||||||
|
diff --git a/source/i18n/measfmt.cpp b/source/i18n/measfmt.cpp
|
||||||
|
index da4e69b49b7..09be56fcf33 100644
|
||||||
|
--- a/source/i18n/measfmt.cpp
|
||||||
|
+++ b/source/i18n/measfmt.cpp
|
||||||
|
@@ -516,6 +516,7 @@ UnicodeString &MeasureFormat::formatMeasurePerUnit(
|
||||||
|
.formatImpl(&result, status);
|
||||||
|
}
|
||||||
|
DecimalFormat::fieldPositionHelper(result, pos, appendTo.length(), status);
|
||||||
|
+ /* coverity[uninit_use_in_call] */
|
||||||
|
appendTo.append(result.toTempString(status));
|
||||||
|
return appendTo;
|
||||||
|
}
|
||||||
|
diff --git a/source/i18n/measunit.cpp b/source/i18n/measunit.cpp
|
||||||
|
index abb21997705..bff3e6273af 100644
|
||||||
|
--- a/source/i18n/measunit.cpp
|
||||||
|
+++ b/source/i18n/measunit.cpp
|
||||||
|
@@ -2230,6 +2230,7 @@ const char *MeasureUnit::getSubtype() const {
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *MeasureUnit::getIdentifier() const {
|
||||||
|
+ /* coverity[negative_returns] */
|
||||||
|
return fImpl ? fImpl->identifier.data() : gSubTypes[getOffset()];
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2340,6 +2341,7 @@ void MeasureUnit::initTime(const char *timeId) {
|
||||||
|
int32_t result = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), "duration");
|
||||||
|
U_ASSERT(result != -1);
|
||||||
|
fTypeId = result;
|
||||||
|
+ /* coverity[negative_returns] */
|
||||||
|
result = binarySearch(gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], timeId);
|
||||||
|
U_ASSERT(result != -1);
|
||||||
|
fSubTypeId = result - gOffsets[fTypeId];
|
||||||
|
@@ -2349,6 +2351,7 @@ void MeasureUnit::initCurrency(StringPiece isoCurrency) {
|
||||||
|
int32_t result = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), "currency");
|
||||||
|
U_ASSERT(result != -1);
|
||||||
|
fTypeId = result;
|
||||||
|
+ /* coverity[negative_returns] */
|
||||||
|
result = binarySearch(
|
||||||
|
gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], isoCurrency);
|
||||||
|
if (result == -1) {
|
||||||
|
diff --git a/source/i18n/number_fluent.cpp b/source/i18n/number_fluent.cpp
|
||||||
|
index 45d6b06c6df..e6fe49f0dca 100644
|
||||||
|
--- a/source/i18n/number_fluent.cpp
|
||||||
|
+++ b/source/i18n/number_fluent.cpp
|
||||||
|
@@ -466,6 +466,7 @@ LocalizedNumberFormatter::LocalizedNumberFormatter(LocalizedNumberFormatter&& sr
|
||||||
|
|
||||||
|
LocalizedNumberFormatter::LocalizedNumberFormatter(NFS<LNF>&& src) noexcept
|
||||||
|
: NFS<LNF>(std::move(src)) {
|
||||||
|
+ // coverity[use_after_move]
|
||||||
|
lnfMoveHelper(std::move(static_cast<LNF&&>(src)));
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/source/i18n/number_padding.cpp b/source/i18n/number_padding.cpp
|
||||||
|
index c320c3ffb6f..3aa996f932f 100644
|
||||||
|
--- a/source/i18n/number_padding.cpp
|
||||||
|
+++ b/source/i18n/number_padding.cpp
|
||||||
|
@@ -29,6 +29,7 @@ addPaddingHelper(UChar32 paddingCp, int32_t requiredPadding, FormattedStringBuil
|
||||||
|
}
|
||||||
|
|
||||||
|
Padder::Padder(UChar32 cp, int32_t width, UNumberFormatPadPosition position) : fWidth(width) {
|
||||||
|
+ fUnion.errorCode = U_ZERO_ERROR; /* avoid coverity warning: "fUnion uninitialized" */
|
||||||
|
// TODO(13034): Consider making this a string instead of code point.
|
||||||
|
fUnion.padding.fCp = cp;
|
||||||
|
fUnion.padding.fPosition = position;
|
||||||
|
diff --git a/source/i18n/number_rounding.cpp b/source/i18n/number_rounding.cpp
|
||||||
|
index e6bb509ffd7..d9fe7d74275 100644
|
||||||
|
--- a/source/i18n/number_rounding.cpp
|
||||||
|
+++ b/source/i18n/number_rounding.cpp
|
||||||
|
@@ -284,6 +284,7 @@ FractionPrecision Precision::constructFraction(int32_t minFrac, int32_t maxFrac)
|
||||||
|
settings.fMinSig = -1;
|
||||||
|
settings.fMaxSig = -1;
|
||||||
|
PrecisionUnion union_;
|
||||||
|
+ /* coverity[uninit_use] */
|
||||||
|
union_.fracSig = settings;
|
||||||
|
return {RND_FRACTION, union_};
|
||||||
|
}
|
||||||
|
@@ -295,6 +296,7 @@ Precision Precision::constructSignificant(int32_t minSig, int32_t maxSig) {
|
||||||
|
settings.fMinSig = static_cast<digits_t>(minSig);
|
||||||
|
settings.fMaxSig = static_cast<digits_t>(maxSig);
|
||||||
|
PrecisionUnion union_;
|
||||||
|
+ /* coverity[uninit_use] */
|
||||||
|
union_.fracSig = settings;
|
||||||
|
return {RND_SIGNIFICANT, union_};
|
||||||
|
}
|
||||||
|
diff --git a/source/i18n/number_skeletons.cpp b/source/i18n/number_skeletons.cpp
|
||||||
|
index ef3befbffad..d790db5b92d 100644
|
||||||
|
--- a/source/i18n/number_skeletons.cpp
|
||||||
|
+++ b/source/i18n/number_skeletons.cpp
|
||||||
|
@@ -545,6 +545,7 @@ MacroProps skeleton::parseSkeleton(
|
||||||
|
segment.resetLength();
|
||||||
|
if (U_FAILURE(status)) {
|
||||||
|
errOffset = segment.getOffset();
|
||||||
|
+ /* coverity[uninit_use_in_call] */
|
||||||
|
return macros;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/source/i18n/numrange_fluent.cpp b/source/i18n/numrange_fluent.cpp
|
||||||
|
index 0944f3024ff..bdf179170a3 100644
|
||||||
|
--- a/source/i18n/numrange_fluent.cpp
|
||||||
|
+++ b/source/i18n/numrange_fluent.cpp
|
||||||
|
@@ -239,6 +239,7 @@ LocalizedNumberRangeFormatter::LocalizedNumberRangeFormatter(LocalizedNumberRang
|
||||||
|
LocalizedNumberRangeFormatter::LocalizedNumberRangeFormatter(NFS<LNF>&& src) noexcept
|
||||||
|
: NFS<LNF>(std::move(src)) {
|
||||||
|
// Steal the compiled formatter
|
||||||
|
+ // coverity[use_after_move]
|
||||||
|
LNF&& _src = static_cast<LNF&&>(src);
|
||||||
|
auto* stolen = _src.fAtomicFormatter.exchange(nullptr);
|
||||||
|
delete fAtomicFormatter.exchange(stolen);
|
||||||
|
diff --git a/source/i18n/plurrule.cpp b/source/i18n/plurrule.cpp
|
||||||
|
index 839d14147cc..cc842347875 100644
|
||||||
|
--- a/source/i18n/plurrule.cpp
|
||||||
|
+++ b/source/i18n/plurrule.cpp
|
||||||
|
@@ -343,6 +343,7 @@ PluralRules::select(const number::impl::UFormattedNumberRangeData* impl, UErrorC
|
||||||
|
return ICU_Utility::makeBogusString();
|
||||||
|
}
|
||||||
|
auto result = mStandardPluralRanges->resolve(form1, form2);
|
||||||
|
+ /* coverity[overrun-call] */
|
||||||
|
return UnicodeString(StandardPlural::getKeyword(result), -1, US_INV);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/source/i18n/rbt_pars.cpp b/source/i18n/rbt_pars.cpp
|
||||||
|
index c59a22faab2..1a49eaf12fb 100644
|
||||||
|
--- a/source/i18n/rbt_pars.cpp
|
||||||
|
+++ b/source/i18n/rbt_pars.cpp
|
||||||
|
@@ -1059,6 +1059,7 @@ void TransliteratorParser::parseRules(const UnicodeString& rule,
|
||||||
|
setVariableRange(0xF000, 0xF8FF, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* coverity[overflow_sink] */
|
||||||
|
if (resemblesPragma(rule, pos, limit)) {
|
||||||
|
int32_t ppp = parsePragma(rule, pos, limit, status);
|
||||||
|
if (ppp < 0) {
|
||||||
|
diff --git a/source/i18n/tzgnames.cpp b/source/i18n/tzgnames.cpp
|
||||||
|
index d55b0fd2ae0..1e14003b22b 100644
|
||||||
|
--- a/source/i18n/tzgnames.cpp
|
||||||
|
+++ b/source/i18n/tzgnames.cpp
|
||||||
|
@@ -517,6 +517,7 @@ TZGNCore::getGenericLocationName(const UnicodeString& tzCanonicalID) {
|
||||||
|
char16_t tzIDKey[ZID_KEY_MAX + 1];
|
||||||
|
int32_t tzIDKeyLen = tzCanonicalID.extract(tzIDKey, ZID_KEY_MAX + 1, status);
|
||||||
|
U_ASSERT(status == U_ZERO_ERROR); // already checked length above
|
||||||
|
+ /* coverity[negative_returns] */
|
||||||
|
tzIDKey[tzIDKeyLen] = 0;
|
||||||
|
|
||||||
|
const char16_t *locname = (const char16_t *)uhash_get(fLocationNamesMap, tzIDKey);
|
||||||
|
diff --git a/source/i18n/vtzone.cpp b/source/i18n/vtzone.cpp
|
||||||
|
index 25af556aa22..7b557f1dab8 100644
|
||||||
|
--- a/source/i18n/vtzone.cpp
|
||||||
|
+++ b/source/i18n/vtzone.cpp
|
||||||
|
@@ -119,7 +119,7 @@ static UnicodeString& appendAsciiDigits(int32_t number, uint8_t length, UnicodeS
|
||||||
|
number *= -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- length = length > 10 ? 10 : length;
|
||||||
|
+ length = (uint8_t)((length > 10) ? 10 : length);
|
||||||
|
if (length == 0) {
|
||||||
|
// variable length
|
||||||
|
i = 0;
|
||||||
|
diff --git a/source/tools/gencnval/gencnval.c b/source/tools/gencnval/gencnval.c
|
||||||
|
index 54b41fb57da..129cf1fc451 100644
|
||||||
|
--- a/source/tools/gencnval/gencnval.c
|
||||||
|
+++ b/source/tools/gencnval/gencnval.c
|
||||||
|
@@ -273,6 +273,11 @@ main(int argc, char* argv[]) {
|
||||||
|
|
||||||
|
const char* sourcedir = options[SOURCEDIR].value;
|
||||||
|
if (sourcedir != NULL && *sourcedir != 0) {
|
||||||
|
+ if (strlen(sourcedir) + strlen(path) + 1 >= 512) {
|
||||||
|
+ fprintf(stderr,
|
||||||
|
+ "Length of sourcedir + path is too long, must be <= 510.\n");
|
||||||
|
+ exit(U_ILLEGAL_ARGUMENT_ERROR);
|
||||||
|
+ }
|
||||||
|
char *end;
|
||||||
|
uprv_strcpy(pathBuf, sourcedir);
|
||||||
|
end = uprv_strchr(pathBuf, 0);
|
||||||
|
diff --git a/source/tools/genrb/wrtxml.cpp b/source/tools/genrb/wrtxml.cpp
|
||||||
|
index 16f67fabcaf..cd0bb19bff7 100644
|
||||||
|
--- a/source/tools/genrb/wrtxml.cpp
|
||||||
|
+++ b/source/tools/genrb/wrtxml.cpp
|
||||||
|
@@ -187,7 +187,7 @@ static void strnrepchr(char* src, int32_t srcLen, char s, char r){
|
||||||
|
*/
|
||||||
|
static char* parseFilename(const char* id, char* /*lang*/) {
|
||||||
|
int idLen = (int) uprv_strlen(id);
|
||||||
|
- char* localeID = (char*) uprv_malloc(idLen);
|
||||||
|
+ char* localeID = (char*) uprv_malloc(idLen+1);
|
||||||
|
int pos = 0;
|
||||||
|
int canonCapacity = 0;
|
||||||
|
char* canon = nullptr;
|
||||||
|
diff --git a/source/tools/makeconv/makeconv.cpp b/source/tools/makeconv/makeconv.cpp
|
||||||
|
index b14b4316f3b..e47033f7c59 100644
|
||||||
|
--- a/source/tools/makeconv/makeconv.cpp
|
||||||
|
+++ b/source/tools/makeconv/makeconv.cpp
|
||||||
|
@@ -377,6 +377,10 @@ int main(int argc, char* argv[])
|
||||||
|
data.staticData.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (strlen(cnvName) + 1 > UPRV_LENGTHOF(data.staticData.name)) {
|
||||||
|
+ fprintf(stderr, "converter name %s too long\n", cnvName);
|
||||||
|
+ return U_BUFFER_OVERFLOW_ERROR;
|
||||||
|
+ }
|
||||||
|
uprv_strcpy((char*)data.staticData.name, cnvName);
|
||||||
|
|
||||||
|
if(!uprv_isInvariantString((char*)data.staticData.name, -1)) {
|
||||||
|
diff --git a/source/tools/toolutil/package.cpp b/source/tools/toolutil/package.cpp
|
||||||
|
index 3098f5d57d4..3bd28e48ac1 100644
|
||||||
|
--- a/source/tools/toolutil/package.cpp
|
||||||
|
+++ b/source/tools/toolutil/package.cpp
|
||||||
|
@@ -865,6 +865,7 @@ Package::writePackage(const char *filename, char outType, const char *comment) {
|
||||||
|
// write the items
|
||||||
|
for(pItem=items, i=0; i<itemCount; ++pItem, ++i) {
|
||||||
|
int32_t type=makeTypeEnum(pItem->type);
|
||||||
|
+ /* coverity[negative_returns] */
|
||||||
|
if(ds[type]!=nullptr) {
|
||||||
|
// swap each item from its platform properties to the desired ones
|
||||||
|
udata_swap(
|
||||||
|
diff --git a/source/tools/toolutil/ucbuf.cpp b/source/tools/toolutil/ucbuf.cpp
|
||||||
|
index 1eb54e260e6..1999433b003 100644
|
||||||
|
--- a/source/tools/toolutil/ucbuf.cpp
|
||||||
|
+++ b/source/tools/toolutil/ucbuf.cpp
|
||||||
|
@@ -257,7 +257,7 @@ ucbuf_fillucbuf( UCHARBUF* buf,UErrorCode* error){
|
||||||
|
|
||||||
|
/* for post-context */
|
||||||
|
start = pos+len;
|
||||||
|
- stop = (int32_t)(((pos+CONTEXT_LEN)<= (sourceLimit-cbuf) )? (pos+(CONTEXT_LEN-1)) : (sourceLimit-cbuf));
|
||||||
|
+ stop = (int32_t)(((pos+CONTEXT_LEN)<= (int32_t)(sourceLimit-cbuf) )? (pos+(CONTEXT_LEN-1)) : (int32_t)(sourceLimit-cbuf));
|
||||||
|
|
||||||
|
memcpy(postContext,source,stop-start);
|
||||||
|
/* null terminate the buffer */
|
||||||
|
--
|
||||||
|
2.46.2
|
||||||
|
|
@ -0,0 +1,128 @@
|
|||||||
|
Description: supply manual page for program that doesn't have one
|
||||||
|
Author: Jay Berkenbilt <qjb@debian.org>
|
||||||
|
Bug: http://bugs.icu-project.org/trac/ticket/7554
|
||||||
|
|
||||||
|
diff -r -u -N icu.orig/source/tools/gennorm2/gennorm2.8.in icu/source/tools/gennorm2/gennorm2.8.in
|
||||||
|
--- icu.orig/source/tools/gennorm2/gennorm2.8.in 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ icu/source/tools/gennorm2/gennorm2.8.in 2013-02-25 16:43:28.297062638 +0100
|
||||||
|
@@ -0,0 +1,71 @@
|
||||||
|
+.\" Hey, Emacs! This is -*-nroff-*- you know...
|
||||||
|
+.\"
|
||||||
|
+.\" gennorm2.8: manual page for the gennorm2 utility
|
||||||
|
+.\"
|
||||||
|
+.\" Copyright (C) 2005-2006 International Business Machines Corporation and others
|
||||||
|
+.\"
|
||||||
|
+.TH GENNORM2 8 "15 March 2010" "ICU MANPAGE" "ICU @VERSION@ Manual"
|
||||||
|
+.SH NAME
|
||||||
|
+.B gennorm2
|
||||||
|
+\- Builds binary data file with Unicode normalization data.
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B gennorm2
|
||||||
|
+[
|
||||||
|
+.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BR "\-V\fP, \fB\-\-version"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BR "\-c\fP, \fB\-\-copyright"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BR "\-v\fP, \fB\-\-verbose"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-u\fP, \fB\-\-unicode" " unicode\-version\-number"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-s\fP, \fB\-\-sourcedir" " source\-directory"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-o\fP, \fB\-\-output" " output\-filename"
|
||||||
|
+]
|
||||||
|
+.BI "\fB\-\-fast"
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+.B gennorm2
|
||||||
|
+reads text files that define Unicode normalization,
|
||||||
|
+them, and builds a binary data file.
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
|
||||||
|
+Print help about usage and exit.
|
||||||
|
+.TP
|
||||||
|
+.BR "\-V\fP, \fB\-\-version"
|
||||||
|
+Print the version of
|
||||||
|
+.B gennorm2
|
||||||
|
+and exit.
|
||||||
|
+.TP
|
||||||
|
+.BR "\-c\fP, \fB\-\-copyright"
|
||||||
|
+Include a copyright notice.
|
||||||
|
+.TP
|
||||||
|
+.BR "\-v\fP, \fB\-\-verbose"
|
||||||
|
+Display extra informative messages during execution.
|
||||||
|
+.TP
|
||||||
|
+.BR "\-u\fP, \fB\-\-unicode"
|
||||||
|
+Specify Unicode version number, such as 5.2.0.
|
||||||
|
+.TP
|
||||||
|
+.BI "\-s\fP, \fB\-\-sourcedir" " source\-directory"
|
||||||
|
+Specify the input directory.
|
||||||
|
+.TP
|
||||||
|
+.BI "\-s\fP, \fB\-\-sourcedir" " source\-directory"
|
||||||
|
+Set the name of the output file.
|
||||||
|
+.TP
|
||||||
|
+.BI "\fB\-\-fast"
|
||||||
|
+optimize the .nrm file for fast normalization,
|
||||||
|
+which might increase its size (Writes fully decomposed
|
||||||
|
+regular mappings instead of delta mappings.
|
||||||
|
+You should measure the runtime speed to make sure that
|
||||||
|
+this is a good trade-off.)
|
||||||
|
+.SH COPYRIGHT
|
||||||
|
+Copyright (C) 2009-2010 International Business Machines Corporation and others
|
||||||
|
diff -r -u -N icu.orig/source/tools/gennorm2/Makefile.in icu/source/tools/gennorm2/Makefile.in
|
||||||
|
--- icu.orig/source/tools/gennorm2/Makefile.in 2013-01-11 01:23:32.000000000 +0100
|
||||||
|
+++ icu/source/tools/gennorm2/Makefile.in 2013-02-25 16:43:28.296062632 +0100
|
||||||
|
@@ -16,8 +16,13 @@
|
||||||
|
|
||||||
|
TARGET_STUB_NAME = gennorm2
|
||||||
|
|
||||||
|
+SECTION = 8
|
||||||
|
+
|
||||||
|
+MAN_FILES = $(TARGET_STUB_NAME).$(SECTION)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
## Extra files to remove for 'make clean'
|
||||||
|
-CLEANFILES = *~ $(DEPS)
|
||||||
|
+CLEANFILES = *~ $(DEPS) $(MAN_FILES)
|
||||||
|
|
||||||
|
## Target information
|
||||||
|
TARGET = $(BINDIR)/$(TARGET_STUB_NAME)$(EXEEXT)
|
||||||
|
@@ -44,12 +49,16 @@
|
||||||
|
dist: dist-local
|
||||||
|
check: all check-local
|
||||||
|
|
||||||
|
-all-local: $(TARGET)
|
||||||
|
+all-local: $(TARGET) $(MAN_FILES)
|
||||||
|
|
||||||
|
-install-local: all-local
|
||||||
|
+install-local: all-local install-man
|
||||||
|
$(MKINSTALLDIRS) $(DESTDIR)$(sbindir)
|
||||||
|
$(INSTALL) $(TARGET) $(DESTDIR)$(sbindir)
|
||||||
|
|
||||||
|
+install-man: $(MAN_FILES)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
|
||||||
|
+ $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
|
||||||
|
+
|
||||||
|
dist-local:
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
@@ -70,6 +79,11 @@
|
||||||
|
$(POST_BUILD_STEP)
|
||||||
|
|
||||||
|
|
||||||
|
+%.$(SECTION): $(srcdir)/%.$(SECTION).in
|
||||||
|
+ cd $(top_builddir) \
|
||||||
|
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
+
|
||||||
|
+
|
||||||
|
ifeq (,$(MAKECMDGOALS))
|
||||||
|
-include $(DEPS)
|
||||||
|
else
|
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
OOO_ARCH=$(uname -m)
|
||||||
|
case $OOO_ARCH in
|
||||||
|
x86_64 | s390x | ppc64 | sparc64 | aarch64 | ppc64le | mips64 | mips64el | riscv64)
|
||||||
|
bits=64
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
bits=32
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exec icu-config-$bits "$@"
|
@ -0,0 +1,145 @@
|
|||||||
|
Description: supply manual page for program that doesn't have one
|
||||||
|
Author: Jay Berkenbilt <qjb@debian.org>
|
||||||
|
Bug: http://bugs.icu-project.org/trac/ticket/7665
|
||||||
|
erAck: adapted to ICU 56.1 icu/source/tools/icuinfo/Makefile.in
|
||||||
|
|
||||||
|
diff -Nur orig.icu/source/tools/icuinfo/icuinfo.1.in icu/source/tools/icuinfo/icuinfo.1.in
|
||||||
|
--- orig.icu/source/tools/icuinfo/icuinfo.1.in 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ icu/source/tools/icuinfo/icuinfo.1.in 2015-10-27 19:19:35.184056800 +0100
|
||||||
|
@@ -0,0 +1,76 @@
|
||||||
|
+.\" Hey, Emacs! This is -*-nroff-*- you know...
|
||||||
|
+.\"
|
||||||
|
+.\" icuinfo.1: manual page for the icuinfo utility
|
||||||
|
+.\"
|
||||||
|
+.\" Copyright (C) 2005-2006 International Business Machines Corporation and others
|
||||||
|
+.\"
|
||||||
|
+.TH ICUINFO 1 "1 May 2010" "ICU MANPAGE" "ICU @VERSION@ Manual"
|
||||||
|
+.SH NAME
|
||||||
|
+.B icuinfo
|
||||||
|
+\- Shows some basic info about the current ICU
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B icuinfo
|
||||||
|
+[
|
||||||
|
+.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BR "\-V\fP, \fB\-\-version"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BR "\-c\fP, \fB\-\-copyright"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-i\fP, \fB\-\-icudatadir" " directory"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BR "\-v\fP, \fB\-\-verbose"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-L\fP, \fB\-\-list-plugins"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-m\fP, \fB\-\-milisecond-time"
|
||||||
|
+]
|
||||||
|
+[
|
||||||
|
+.BI "\-K\fP, \fB\-\-cleanup"
|
||||||
|
+]
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+.B icuinfo
|
||||||
|
+prints basic information about the current version of ICU.
|
||||||
|
+.SH OPTIONS
|
||||||
|
+.TP
|
||||||
|
+.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
|
||||||
|
+Print help about usage and exit.
|
||||||
|
+.TP
|
||||||
|
+.BR "\-V\fP, \fB\-\-version"
|
||||||
|
+Print the version of
|
||||||
|
+.B icuinfo
|
||||||
|
+and exit.
|
||||||
|
+.TP
|
||||||
|
+.BR "\-c\fP, \fB\-\-copyright"
|
||||||
|
+Embeds the standard ICU copyright into the
|
||||||
|
+.IR output-file .
|
||||||
|
+.TP
|
||||||
|
+.BR "\-v\fP, \fB\-\-verbose"
|
||||||
|
+Display extra informative messages during execution.
|
||||||
|
+.TP
|
||||||
|
+.BI "\-i\fP, \fB\-\-icudatadir" " directory"
|
||||||
|
+Look for any necessary ICU data files in
|
||||||
|
+.IR directory .
|
||||||
|
+For example, the file
|
||||||
|
+.B pnames.icu
|
||||||
|
+must be located when ICU's data is not built as a shared library.
|
||||||
|
+The default ICU data directory is specified by the environment variable
|
||||||
|
+.BR ICU_DATA .
|
||||||
|
+Most configurations of ICU do not require this argument.
|
||||||
|
+.TP
|
||||||
|
+.BI "\-L\fP, \fB\-\-list-plugins"
|
||||||
|
+If specified, list and diagnose issues with ICU plugins.
|
||||||
|
+.TP
|
||||||
|
+.BI "\-K\fP, \fB\-\-cleanup"
|
||||||
|
+Attempt to unload plugins before exiting.
|
||||||
|
+.TP
|
||||||
|
+.BI "\-m\fP, \fB\-\-milisecond-time"
|
||||||
|
+Print the current UTC time in milliseconds.
|
||||||
|
+.SH COPYRIGHT
|
||||||
|
+Copyright (C) 2010 International Business Machines Corporation and others
|
||||||
|
diff -Nur orig.icu/source/tools/icuinfo/Makefile.in icu/source/tools/icuinfo/Makefile.in
|
||||||
|
--- orig.icu/source/tools/icuinfo/Makefile.in 2015-10-08 05:53:56.000000000 +0200
|
||||||
|
+++ icu/source/tools/icuinfo/Makefile.in 2015-10-27 19:23:19.115509906 +0100
|
||||||
|
@@ -14,8 +14,15 @@
|
||||||
|
## Build directory information
|
||||||
|
subdir = tools/icuinfo
|
||||||
|
|
||||||
|
+TARGET_STUB_NAME = icuinfo
|
||||||
|
+
|
||||||
|
+SECTION = 1
|
||||||
|
+
|
||||||
|
+MAN_FILES = $(TARGET_STUB_NAME).$(SECTION)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
## Extra files to remove for 'make clean'
|
||||||
|
-CLEANFILES = *~ $(DEPS) $(PLUGIN_OBJECTS) $(PLUGINFILE) $(PLUGIN)
|
||||||
|
+CLEANFILES = *~ $(DEPS) $(PLUGIN_OBJECTS) $(PLUGINFILE) $(PLUGIN) $(MAN_FILES)
|
||||||
|
|
||||||
|
## Target information
|
||||||
|
TARGET = icuinfo$(EXEEXT)
|
||||||
|
@@ -35,7 +42,8 @@
|
||||||
|
|
||||||
|
## List of phony targets
|
||||||
|
.PHONY : all all-local install install-local clean clean-local \
|
||||||
|
-distclean distclean-local dist dist-local check check-local plugin-check
|
||||||
|
+distclean distclean-local dist dist-local check check-local plugin-check \
|
||||||
|
+install-man
|
||||||
|
|
||||||
|
## Clear suffix list
|
||||||
|
.SUFFIXES :
|
||||||
|
@@ -48,12 +56,16 @@
|
||||||
|
dist: dist-local
|
||||||
|
check: all check-local
|
||||||
|
|
||||||
|
-all-local: $(TARGET)
|
||||||
|
+all-local: $(TARGET) $(MAN_FILES)
|
||||||
|
|
||||||
|
-install-local: all-local
|
||||||
|
+install-local: all-local install-man
|
||||||
|
$(MKINSTALLDIRS) $(DESTDIR)$(bindir)
|
||||||
|
$(INSTALL) $(TARGET) $(DESTDIR)$(bindir)
|
||||||
|
|
||||||
|
+install-man: $(MAN_FILES)
|
||||||
|
+ $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
|
||||||
|
+ $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
|
||||||
|
+
|
||||||
|
dist-local:
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
@@ -103,6 +115,10 @@
|
||||||
|
@echo "Plugins are disabled (use --enable-plugins to enable)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
+%.$(SECTION): $(srcdir)/%.$(SECTION).in
|
||||||
|
+ cd $(top_builddir) \
|
||||||
|
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
+
|
||||||
|
ifeq (,$(MAKECMDGOALS))
|
||||||
|
-include $(DEPS)
|
||||||
|
else
|
@ -0,0 +1,871 @@
|
|||||||
|
#%%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
|
||||||
|
Version: 74.2
|
||||||
|
Release: 3%{?dist}
|
||||||
|
Summary: International Components for Unicode
|
||||||
|
|
||||||
|
License: Unicode-DFS-2016 AND BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain
|
||||||
|
URL: http://site.icu-project.org/
|
||||||
|
Source0: https://github.com/unicode-org/icu/releases/download/release-%{version_dash}/icu4c-%{version_underscore}-src-FIXED.tgz
|
||||||
|
%if 0%{?use_tzdata_update}
|
||||||
|
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-c++
|
||||||
|
BuildRequires: doxygen, autoconf, python3
|
||||||
|
BuildRequires: make
|
||||||
|
Requires: lib%{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
Patch4: gennorm2-man.patch
|
||||||
|
Patch5: icuinfo-man.patch
|
||||||
|
|
||||||
|
Patch10: 0001-ICU-21667-Fix-coverity-warnings.patch
|
||||||
|
Patch11: 0002-Fix-coverity-warnings-icu-74.2.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
Tools and utilities for developing with icu.
|
||||||
|
|
||||||
|
%package -n lib%{name}
|
||||||
|
Summary: International Components for Unicode - libraries
|
||||||
|
|
||||||
|
%description -n lib%{name}
|
||||||
|
The International Components for Unicode (ICU) libraries provide
|
||||||
|
robust and full-featured Unicode services on a wide variety of
|
||||||
|
platforms. ICU supports the most current version of the Unicode
|
||||||
|
standard, and they provide support for supplementary Unicode
|
||||||
|
characters (needed for GB 18030 repertoire support).
|
||||||
|
As computing environments become more heterogeneous, software
|
||||||
|
portability becomes more important. ICU lets you produce the same
|
||||||
|
results across all the various platforms you support, without
|
||||||
|
sacrificing performance. It offers great flexibility to extend and
|
||||||
|
customize the supplied services.
|
||||||
|
|
||||||
|
%package -n lib%{name}-devel
|
||||||
|
Summary: Development files for International Components for Unicode
|
||||||
|
Requires: lib%{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: pkgconfig
|
||||||
|
|
||||||
|
%description -n lib%{name}-devel
|
||||||
|
Includes and definitions for developing with icu.
|
||||||
|
|
||||||
|
%package -n lib%{name}-doc
|
||||||
|
Summary: Documentation for International Components for Unicode
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n lib%{name}-doc
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%{!?endian: %global endian %(%{__python3} -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
|
||||||
|
%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
|
||||||
|
pushd 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
|
||||||
|
|
||||||
|
#rhbz856594 do not use --disable-renaming or cope with the mess
|
||||||
|
OPTIONS='--with-data-packaging=library --disable-samples'
|
||||||
|
%if 0%{?debugtrace}
|
||||||
|
OPTIONS=$OPTIONS' --enable-debug --enable-tracing'
|
||||||
|
%endif
|
||||||
|
%configure $OPTIONS
|
||||||
|
|
||||||
|
#rhbz#225896
|
||||||
|
sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux
|
||||||
|
#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
|
||||||
|
# rhbz#856594 The configure --disable-renaming and possibly other options
|
||||||
|
# result in icu/source/uconfig.h.prepend being created, include that content in
|
||||||
|
# icu/source/common/unicode/uconfig.h to propagate to consumer packages.
|
||||||
|
test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h
|
||||||
|
|
||||||
|
# more verbosity for build.log
|
||||||
|
sed -i -r 's|(PKGDATA_OPTS = )|\1-v |' data/Makefile
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
%make_build doc
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT source/__docs
|
||||||
|
%make_install %{?_smp_mflags} -C source
|
||||||
|
make %{?_smp_mflags} -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 %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/icu-config
|
||||||
|
|
||||||
|
|
||||||
|
%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_build -C source check
|
||||||
|
|
||||||
|
# log available codes
|
||||||
|
pushd source
|
||||||
|
LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license license.html
|
||||||
|
%exclude %{_datadir}/%{name}/*/LICENSE
|
||||||
|
%{_bindir}/derb
|
||||||
|
%{_bindir}/genbrk
|
||||||
|
%{_bindir}/gencfu
|
||||||
|
%{_bindir}/gencnval
|
||||||
|
%{_bindir}/gendict
|
||||||
|
%{_bindir}/genrb
|
||||||
|
%{_bindir}/icuexportdata
|
||||||
|
%{_bindir}/makeconv
|
||||||
|
%{_bindir}/pkgdata
|
||||||
|
%{_bindir}/uconv
|
||||||
|
%{_sbindir}/*
|
||||||
|
%{_mandir}/man1/derb.1*
|
||||||
|
%{_mandir}/man1/genbrk.1*
|
||||||
|
%{_mandir}/man1/gencfu.1*
|
||||||
|
%{_mandir}/man1/gencnval.1*
|
||||||
|
%{_mandir}/man1/gendict.1*
|
||||||
|
%{_mandir}/man1/genrb.1*
|
||||||
|
%{_mandir}/man1/icuexportdata.1*
|
||||||
|
%{_mandir}/man1/makeconv.1*
|
||||||
|
%{_mandir}/man1/pkgdata.1*
|
||||||
|
%{_mandir}/man1/uconv.1*
|
||||||
|
%{_mandir}/man8/*.8*
|
||||||
|
|
||||||
|
%files -n lib%{name}
|
||||||
|
%license LICENSE
|
||||||
|
%doc readme.html
|
||||||
|
%{_libdir}/*.so.*
|
||||||
|
|
||||||
|
%files -n lib%{name}-devel
|
||||||
|
%license LICENSE
|
||||||
|
%doc source/samples/
|
||||||
|
%{_bindir}/%{name}-config*
|
||||||
|
%{_bindir}/icuinfo
|
||||||
|
%{_mandir}/man1/%{name}-config.1*
|
||||||
|
%{_mandir}/man1/icuinfo.1*
|
||||||
|
%{_includedir}/unicode
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_libdir}/%{name}
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%dir %{_datadir}/%{name}/%{version}
|
||||||
|
%{_datadir}/%{name}/%{version}/install-sh
|
||||||
|
%{_datadir}/%{name}/%{version}/mkinstalldirs
|
||||||
|
%{_datadir}/%{name}/%{version}/config
|
||||||
|
|
||||||
|
%files -n lib%{name}-doc
|
||||||
|
%license LICENSE
|
||||||
|
%doc readme.html
|
||||||
|
%doc source/__docs/%{name}/html/*
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Oct 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 74.2-3
|
||||||
|
- Rebuilt for MSVSphere 10
|
||||||
|
|
||||||
|
* Fri Sep 20 2024 Mike FABIAN <mfabian@redhat.com> - 74.2-3
|
||||||
|
- Resolves: RHEL-59365 Fix coverity warnings
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 74.2-2
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* 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
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 69.1-1
|
||||||
|
- Update to 69.1
|
||||||
|
|
||||||
|
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 67.1-6
|
||||||
|
- Rebuilt for removed libstdc++ symbol (#1937698)
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 67.1-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 67.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 21 2020 Eike Rathke <erack@redhat.com> - 67.1-3
|
||||||
|
- Replace unversioned %%{__python} macro with %%{__python3}
|
||||||
|
|
||||||
|
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 67.1-2
|
||||||
|
- Use make macros
|
||||||
|
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||||
|
|
||||||
|
* Fri May 15 2020 Pete Walter <pwalter@fedoraproject.org> - 67.1-1
|
||||||
|
- Update to 67.1
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 65.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 65.1-1
|
||||||
|
- Update to 65.1
|
||||||
|
- Add a patch from gentoo to fix the build on s390x
|
||||||
|
- Drop arm test disabling patches as they are no longer needed
|
||||||
|
|
||||||
|
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 63.2-4
|
||||||
|
- Build with Python 3
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 63.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 13 2019 Eike Rathke <erack@redhat.com> - 63.2-2
|
||||||
|
- Resolves: rhbz#1708935 temporarily roll back to 63.1
|
||||||
|
|
||||||
|
* Thu May 09 2019 Eike Rathke <erack@redhat.com> - 63.2-1
|
||||||
|
- Update to 63.2
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 63.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 23 2019 Pete Walter <pwalter@fedoraproject.org> - 63.1-1
|
||||||
|
- Update to 63.1
|
||||||
|
|
||||||
|
* Tue Nov 06 2018 Eike Rathke <erack@redhat.com> - 62.1-3
|
||||||
|
- Resolves: rhbz#1646703 CVE-2018-18928
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 62.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 62.1-1
|
||||||
|
- Update to 62.1
|
||||||
|
|
||||||
|
* Mon May 28 2018 Eike Rathke <erack@redhat.com> - 61.1-2
|
||||||
|
- Resolves: rhbz#1582611 Add riscv64 to icu-config.sh
|
||||||
|
|
||||||
|
* Tue Apr 24 2018 Eike Rathke <erack@redhat.com> - 61.1-1
|
||||||
|
- Update to 61.1
|
||||||
|
|
||||||
|
* Thu Mar 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 60.2-3
|
||||||
|
- Update Python 2 dependency declarations to new packaging standards
|
||||||
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 60.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 14 2017 Pete Walter <pwalter@fedoraproject.org> - 60.2-1
|
||||||
|
- Update to 60.2
|
||||||
|
|
||||||
|
* Thu Dec 14 2017 Eike Rathke <erack@redhat.com> - 60.1-2
|
||||||
|
- Resolves: rhbz#1524820 CVE-2017-17484
|
||||||
|
|
||||||
|
* Thu Nov 30 2017 Pete Walter <pwalter@fedoraproject.org> - 60.1-1
|
||||||
|
- Update to 60.1
|
||||||
|
|
||||||
|
* Wed Nov 08 2017 Eike Rathke <erack@redhat.com> - 57.1-9
|
||||||
|
- Resolves: rhbz#1510932 CVE-2017-14952
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 57.1-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 57.1-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Apr 20 2017 Eike Rathke <erack@redhat.com> - 57.1-6
|
||||||
|
- Resolves: rhbz#1444101 CVE-2017-7867 CVE-2017-7868
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 57.1-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Nov 18 2016 Eike Rathke <erack@redhat.com> - 57.1-4
|
||||||
|
- dist.rpmgrill: "Percent signs in specfile changelog should be escaped"
|
||||||
|
|
||||||
|
* Fri Nov 18 2016 Eike Rathke <erack@redhat.com> - 57.1-3
|
||||||
|
- Resolves: rhbz#1377362 CVE-2016-7415
|
||||||
|
|
||||||
|
* Tue Nov 01 2016 Eike Rathke <erack@redhat.com> - 57.1-2
|
||||||
|
- Resolves: rhbz#1360340 CVE-2016-6293
|
||||||
|
|
||||||
|
* Fri Apr 15 2016 Eike Rathke <erack@redhat.com> - 57.1-1
|
||||||
|
- upgrade to upstream ICU 57.1
|
||||||
|
|
||||||
|
* Tue Apr 05 2016 Eike Rathke <erack@redhat.com> - 56.1-7
|
||||||
|
- make check failure is fatal again
|
||||||
|
|
||||||
|
* Tue Apr 05 2016 Eike Rathke <erack@redhat.com> - 56.1-6
|
||||||
|
- remove icu-56.1-codes-cache-extend.patch
|
||||||
|
|
||||||
|
* Sun Feb 28 2016 Raphael Groner <projects.rg@smart.ms> - 56.1-5
|
||||||
|
- even more verbosity and debug output
|
||||||
|
- add path to extend ICU's internal cache of codes
|
||||||
|
- use license macro
|
||||||
|
- provide samples in devel subpackage
|
||||||
|
- modernize generally
|
||||||
|
|
||||||
|
* Sat Feb 27 2016 Rex Dieter <rdieter@fedoraproject.org> - 56.1-4
|
||||||
|
- %%build: make VERBOSE=1
|
||||||
|
- %%check: keep 'make check' non-fatal while investigating rhbz#1307633
|
||||||
|
|
||||||
|
* Sat Feb 06 2016 Caolán McNamara <caolanm@redhat.com> - 56.1-3
|
||||||
|
- Resolves: rhbz#1307633 FTBFS, disable check to get build through for now
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 56.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Oct 27 2015 Eike Rathke <erack@redhat.com> - 56.1-1
|
||||||
|
- Resolves: rhbz#1271353 upgrade to ICU 56.1
|
||||||
|
|
||||||
|
* Fri Sep 18 2015 Eike Rathke <erack@redhat.com> - 54.1-5
|
||||||
|
- Workaround rhbz#1239574 disabling offending tests on armv7hl
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 54.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Apr 10 2015 Eike Rathke <erack@redhat.com> - 54.1-3
|
||||||
|
- Resolves: rhbz#1190131 CVE-2014-7923 CVE-2014-7926 CVE-2014-9654
|
||||||
|
- Resolves: rhbz#1184811 CVE-2014-6585 CVE-2014-6591
|
||||||
|
|
||||||
|
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 54.1-2
|
||||||
|
- Rebuilt for Fedora 23 Change
|
||||||
|
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||||
|
|
||||||
|
* Mon Jan 26 2015 Eike Rathke <erack@redhat.com> - 54.1-1
|
||||||
|
- Resolves: rhbz#1185433 upgrade to upstream ICU 54.1
|
||||||
|
|
||||||
|
* Tue Aug 26 2014 Eike Rathke <erack@redhat.com> - 53.1-1
|
||||||
|
- Resolves: rhbz#1130771 upgrade to upstream ICU 53.1
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 52.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 13 2014 Eike Rathke <erack@redhat.com> - 52.1-3
|
||||||
|
- Resolves: rhbz#1106793 bad 2-digit year test case
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 52.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Feb 11 2014 Eike Rathke <erack@redhat.com> - 52.1-1
|
||||||
|
- upgrade to upstream ICU 52.1
|
||||||
|
- Resolves: rhbz#1049265 icu-52.1 is available
|
||||||
|
- Resolves: rhbz#1050063 Trivial change to icu-config to support ppc64le
|
||||||
|
- drop icu-51-layout-fix-10107.tgz source
|
||||||
|
- drop integrated icu.10318.CVE-2013-2924_changeset_34076.patch
|
||||||
|
- drop integrated icu.10143.memory.leak.crash.patch
|
||||||
|
|
||||||
|
* Wed Oct 09 2013 Eike Rathke <erack@redhat.com> - 50.1.2-10
|
||||||
|
- Resolves: rhbz#1015594 CVE-2013-2924 use-after-free
|
||||||
|
|
||||||
|
* Fri Oct 04 2013 Eike Rathke <erack@redhat.com> - 50.1.2-9
|
||||||
|
- added %%{?_isa} to Requires for multi-arch systems
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 50.1.2-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 22 2013 Eike Rathke <erack@redhat.com> - 50.1.2-7
|
||||||
|
- Resolves: rhbz#986814 install icu-config.sh from source2
|
||||||
|
|
||||||
|
* Wed Jul 17 2013 Eike Rathke <erack@redhat.com> - 50.1.2-6
|
||||||
|
- Resolves: rhbz#966141 various flaws in Layout Engine font processing
|
||||||
|
- Resolves: rhbz#966077 aarch64 support for icu-config.sh wrapper
|
||||||
|
|
||||||
|
* Mon Feb 25 2013 Eike Rathke <erack@redhat.com> - 50.1.2-5
|
||||||
|
- added manpages for gennorm2 and icuinfo, rhbz#884035 related
|
||||||
|
|
||||||
|
* Tue Feb 19 2013 Caolán McNamara <caolanm@redhat.com> - 50.1.2-4
|
||||||
|
- Resolves: fdo#52519 crash on typing some Malayalam
|
||||||
|
|
||||||
|
* Tue Jan 29 2013 Eike Rathke <erack@redhat.com> - 50.1.2-3
|
||||||
|
- Resolves: rhbz#856594 roll back and build without --disable-renaming again
|
||||||
|
|
||||||
|
* Mon Jan 28 2013 Eike Rathke <erack@redhat.com> - 50.1.2-2
|
||||||
|
- Resolves: rhbz#856594 include content of icu/source/uconfig.h.prepend
|
||||||
|
|
||||||
|
* Fri Jan 25 2013 Eike Rathke <erack@redhat.com> - 50.1.2-1
|
||||||
|
- Update to 50.1.2
|
||||||
|
- Resolves: rhbz#856594 to-do add --disable-renaming on next soname bump
|
||||||
|
- removed upstream applied icu.9283.regexcmp.crash.patch
|
||||||
|
|
||||||
|
* Wed Sep 12 2012 Caolán McNamara <caolanm@redhat.com> - 49.1.1-7
|
||||||
|
- Related: rhbz#856594 reenable icu symbol renaming
|
||||||
|
|
||||||
|
* Wed Sep 12 2012 Caolán McNamara <caolanm@redhat.com> - 49.1.1-6
|
||||||
|
- Resolves: rhbz#856594 disable icu symbol renaming
|
||||||
|
|
||||||
|
* Fri Aug 31 2012 Tom Callaway <spot@fedoraproject.org> - 49.1.1-5
|
||||||
|
- apply upstream fix (bug 9283) for regexcmp crash causing Chromium segfaults
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 49.1.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 15 2012 Caolán McNamara <caolanm@redhat.com> - 49.1.1-3
|
||||||
|
- probably parallel-build safe by now. Add a check for original breakage
|
||||||
|
|
||||||
|
* Fri Jun 15 2012 Caolán McNamara <caolanm@redhat.com> - 49.1.1-2
|
||||||
|
- Resolves: rhbz#804313 multi-lib pain
|
||||||
|
|
||||||
|
* Thu Apr 19 2012 Eike Rathke <erack@redhat.com> - 49.1.1-1
|
||||||
|
- Update to 49.1.1
|
||||||
|
|
||||||
|
* Thu Apr 19 2012 Eike Rathke <erack@redhat.com> - 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 <jcm@jonmasters.org> - 4.8.1.1-2
|
||||||
|
- Correct reference to BZ681941, add temporary fix for ARM FTBFS side effect
|
||||||
|
|
||||||
|
* Fri Jan 20 2012 Peter Robinson <pbrobinson@fedoraproject.org> -4.8.1.1-1
|
||||||
|
- Update to 4.8.1.1
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Dec 13 2011 Eike Rathke <erack@redhat.com> - 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 <caolanm@redhat.com> - 4.8.1-2
|
||||||
|
- Resolves: rhbz#747193 try and enable ccmp for Indic fonts
|
||||||
|
|
||||||
|
* Wed Sep 07 2011 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 4.6-2
|
||||||
|
- Resolves: rhbz#681941 don't link unneccessary -lm, etc.
|
||||||
|
|
||||||
|
* Mon Mar 07 2011 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 4.4.2-8
|
||||||
|
- Resolves: rhbz#674328 yet more ways that freeserif crashes libicu
|
||||||
|
|
||||||
|
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.2-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 03 2011 Caolán McNamara <caolanm@redhat.com> - 4.4.2-6
|
||||||
|
- Resolves: rhbz#674328 more ways that freeserif crashes libicu
|
||||||
|
|
||||||
|
* Wed Feb 02 2011 Caolán McNamara <caolanm@redhat.com> - 4.4.2-5
|
||||||
|
- Resolves: rhbz#674328 freeserif crashes libicu
|
||||||
|
|
||||||
|
* Thu Jan 13 2011 Caolán McNamara <caolanm@redhat.com> - 4.4.2-4
|
||||||
|
- Resolves: rhbz#669237 strip libicudata
|
||||||
|
|
||||||
|
* Mon Nov 29 2010 Caolán McNamara <caolanm@redhat.com> - 4.4.2-3
|
||||||
|
- Resolves: rhbz#657964 icu-config bindir returns sbindir
|
||||||
|
|
||||||
|
* Thu Nov 25 2010 Caolán McNamara <caolanm@redhat.com> - 4.4.2-2
|
||||||
|
- Resolves: rhbz#654200 revert icu#5431
|
||||||
|
|
||||||
|
* Mon Oct 04 2010 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 4.4.1-5
|
||||||
|
- upstream patches
|
||||||
|
|
||||||
|
* Thu Sep 09 2010 Caolán McNamara <caolanm@redhat.com> - 4.4.1-4
|
||||||
|
- Resolves: rhbz#631403 doxygen no longer generates gifs
|
||||||
|
|
||||||
|
* Thu Jul 08 2010 Caolán McNamara <caolanm@redhat.com> - 4.4.1-3
|
||||||
|
- move licences into libicu, and add them into the -doc subpackage
|
||||||
|
as well
|
||||||
|
|
||||||
|
* Wed May 26 2010 Caolán McNamara <caolanm@redhat.com> - 4.4.1-2
|
||||||
|
- 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 <caolanm@redhat.com> - 4.4.1-1
|
||||||
|
- latest version
|
||||||
|
- drop integrated icu.icu7567.libctest.patch
|
||||||
|
|
||||||
|
* Fri Apr 02 2010 Caolán 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 Caolán McNamara <caolanm@redhat.com> - 4.2.1-8
|
||||||
|
- Resolves: rhbz#543386 update icu-config
|
||||||
|
|
||||||
|
* Thu Nov 19 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.1-7
|
||||||
|
- Fix FTBFS with yet another autoconf version that changes
|
||||||
|
behaviour
|
||||||
|
|
||||||
|
* Mon Aug 31 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.1-6
|
||||||
|
- Resolves: rhbz#520468 fix s390x and other secondary archs
|
||||||
|
|
||||||
|
* Tue Jul 28 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.1-5
|
||||||
|
- icu#7039 fix broken use of extract to get tests working
|
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.2.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 22 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.1-3
|
||||||
|
- make documentation noarch
|
||||||
|
|
||||||
|
* Tue Jul 14 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.1-2
|
||||||
|
- rpmlint warnings
|
||||||
|
|
||||||
|
* Fri Jul 03 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.1-1
|
||||||
|
- 4.2.1 release
|
||||||
|
|
||||||
|
* Fri Jun 26 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.0.1-3
|
||||||
|
- Resolves: rhbz#508288 multilib conflict
|
||||||
|
|
||||||
|
* Thu Jun 11 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.0.1-2
|
||||||
|
- Resolves: rhbz#505252 add icu.6995.kannada.patch
|
||||||
|
|
||||||
|
* Mon Jun 08 2009 Caolán McNamara <caolanm@redhat.com> - 4.2.0.1-1
|
||||||
|
- 4.2.0.1 release
|
||||||
|
|
||||||
|
* Sat May 09 2009 Caolán McNamara <caolanm@redhat.com> - 4.2-1
|
||||||
|
- 4.2 release
|
||||||
|
|
||||||
|
* Sun May 03 2009 Caolán McNamara <caolanm@redhat.com> - 4.2-0.1.d03
|
||||||
|
- 4.2 release candidate
|
||||||
|
- drop resolved icu.icu6008.arm.padding.patch
|
||||||
|
- drop resolved icu.icu6439.bare.elif.patch
|
||||||
|
|
||||||
|
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Feb 03 2009 Caolán McNamara <caolanm@redhat.com> - 4.0.1-2
|
||||||
|
- fix bare elif for gcc-4.4
|
||||||
|
|
||||||
|
* Fri Jan 16 2009 Caolán McNamara <caolanm@redhat.com> - 4.0.1-1
|
||||||
|
- 4.0.1 release
|
||||||
|
|
||||||
|
* Mon Dec 29 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-6
|
||||||
|
- Resolves rhbz#225896 clean up low hanging rpmlint warnings
|
||||||
|
|
||||||
|
* Tue Dec 16 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-5
|
||||||
|
- drop integrated icu.icu5557.safety.patch
|
||||||
|
|
||||||
|
* Thu Nov 20 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-4
|
||||||
|
- annoyingly upstream tarball was repacked apparently to remove
|
||||||
|
some unused/cached dirs
|
||||||
|
|
||||||
|
* Sat Sep 06 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-3
|
||||||
|
- Resolves: rhbz#461348 wrong icu-config
|
||||||
|
|
||||||
|
* Tue Aug 26 2008 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 4.0-1
|
||||||
|
- final release
|
||||||
|
|
||||||
|
* Mon Jun 30 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-0.3.d03
|
||||||
|
- 4.0 release candidate
|
||||||
|
|
||||||
|
* Wed Jun 04 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-0.2.d02
|
||||||
|
- drop icu.icu5498.openoffice.org.patch
|
||||||
|
|
||||||
|
* Sat May 31 2008 Caolán McNamara <caolanm@redhat.com> - 4.0-0.1.d02
|
||||||
|
- 4.0 release candidate
|
||||||
|
- drop integrated icu.regexp.patch
|
||||||
|
|
||||||
|
* Mon May 19 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-8
|
||||||
|
- add icu.icu6284.strictalias.patch and build with
|
||||||
|
strict-aliasing
|
||||||
|
|
||||||
|
* Tue Mar 18 2008 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 3.8.1-6
|
||||||
|
- Resolves: rhbz#437761 add icu.icu6213.bengali.worstcase.patch
|
||||||
|
|
||||||
|
* 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 +
|
||||||
|
(>= 0d15 && <= 0d39) + 0d4d + 0d30 sequence
|
||||||
|
|
||||||
|
* Thu Jan 31 2008 Caolán McNamara <caolanm@redhat.com> - 3.8.1-4
|
||||||
|
- Resolves: rhbz#431029, rhbz#424661 Remove workaround for 0D31 characters
|
||||||
|
|
||||||
|
* Fri Jan 25 2008 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 3.8.1-1
|
||||||
|
- latest version
|
||||||
|
- drop fixed icu.icu6084.zwnj.notdef.patch
|
||||||
|
|
||||||
|
* Thu Dec 13 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-6
|
||||||
|
- Resolves: rhbz#423211 experimental hack for 0d15+0d4d+0d30
|
||||||
|
|
||||||
|
* Tue Dec 11 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-5
|
||||||
|
- Resolves: rhbz#415541 icu.icu6084.zwnj.notdef.patch
|
||||||
|
|
||||||
|
* Wed Nov 28 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-4
|
||||||
|
- Resolves: ooo#83991 Malayalam "Kartika" font fix
|
||||||
|
|
||||||
|
* Tue Nov 13 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-3
|
||||||
|
- add icu.openoffice.org.patch
|
||||||
|
|
||||||
|
* Sat Oct 27 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-2
|
||||||
|
- add icu.icu6008.arm.padding.patch to fix an arm problem
|
||||||
|
|
||||||
|
* Tue Oct 02 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-1
|
||||||
|
- latest version
|
||||||
|
|
||||||
|
* Mon Sep 03 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-0.2.d02
|
||||||
|
- next release candidate
|
||||||
|
|
||||||
|
* Wed Aug 29 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-0.2.d01
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Tue Aug 07 2007 Caolán McNamara <caolanm@redhat.com> - 3.8-0.1.d01
|
||||||
|
- 3.8 release candidate
|
||||||
|
- drop integrated icu.icu5433.oriya.patch
|
||||||
|
- drop integrated icu.icu5488.assamese.patch
|
||||||
|
- drop integrated icu.icu5500.devicetablecrash.patch
|
||||||
|
- drop integrated icu.icu5501.sinhala.biggerexpand.patch
|
||||||
|
- drop integrated icu.icu5594.gujarati.patch
|
||||||
|
- drop integrated icu.icu5465.telegu.patch
|
||||||
|
|
||||||
|
* Wed Jun 13 2007 Caolán McNamara <caolanm@redhat.com> - 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 <caolanm@redhat.com> - 3.6-19
|
||||||
|
- Resolves: rhbz#220867 Malayalam rendering
|
||||||
|
|
||||||
|
* Tue Feb 13 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-18
|
||||||
|
- Resolves: rhbz#228457 icu.icu5594.gujarati.patch
|
||||||
|
|
||||||
|
* Fri Feb 09 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-17
|
||||||
|
- spec cleanups
|
||||||
|
|
||||||
|
* Mon Feb 05 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-16
|
||||||
|
- Resolves: rhbz#226949 layout telegu like pango
|
||||||
|
|
||||||
|
* Fri Jan 19 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-15
|
||||||
|
- Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch
|
||||||
|
|
||||||
|
* Tue Jan 09 2007 Caolán McNamara <caolanm@redhat.com> - 3.6-14
|
||||||
|
- Related: rhbz#216089 add icu.icu5557.safety.patch
|
||||||
|
|
||||||
|
* Thu Dec 21 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-13
|
||||||
|
- Resolves: rhbz#220433 modify icu.icu5431.malayam.patch
|
||||||
|
|
||||||
|
* Fri Nov 10 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-12
|
||||||
|
- Resolves: rhbz#214948 icu.icu5506.multiplevowels.patch
|
||||||
|
|
||||||
|
* Wed Nov 08 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-11
|
||||||
|
- Resolves: rhbz#214555 icu.icu5501.sinhala.biggerexpand.patch
|
||||||
|
|
||||||
|
* Wed Nov 08 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-10
|
||||||
|
- Resolves: rhbz#214555 icu.icu5500.devicetablecrash.patch
|
||||||
|
|
||||||
|
* Wed Oct 18 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-9
|
||||||
|
- Resolves: rhbz#213648 extend prev/next to handle ZWJ
|
||||||
|
|
||||||
|
* Wed Oct 18 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-8
|
||||||
|
- Resolves: rhbz213375 (icu.icu5488.assamese.patch)
|
||||||
|
|
||||||
|
* Wed Oct 18 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-7
|
||||||
|
- Resolves: rhbz#211258 (icu.icu5465.telegu.patch)
|
||||||
|
|
||||||
|
* Thu Oct 05 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-6
|
||||||
|
- rh#209391# add icu.icuXXXX.virama.prevnext.patch
|
||||||
|
|
||||||
|
* Mon Oct 02 2006 Caolán McNamara <caolanm@redhat.com> - 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#
|
||||||
|
|
||||||
|
* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 3.6-4
|
||||||
|
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
|
||||||
|
|
||||||
|
* Mon Sep 25 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-3
|
||||||
|
- rh#206615# render malayam like pango
|
||||||
|
|
||||||
|
* 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
|
||||||
|
like pango for multiple dependant vowels
|
||||||
|
|
||||||
|
* Sun Sep 03 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-1
|
||||||
|
- final release
|
||||||
|
|
||||||
|
* Mon Aug 14 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-0.1.d02
|
||||||
|
- bump
|
||||||
|
|
||||||
|
* Tue Aug 08 2006 Caolán McNamara <caolanm@redhat.com> - 3.6-0.2.d01
|
||||||
|
- c++ code not alias correct
|
||||||
|
|
||||||
|
* Mon Jul 31 2006 Caolán McNamara <caolanm@redhat.com> - 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
|
||||||
|
|
||||||
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.4-10.1.1
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3.4-10.1
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Sat Jun 10 2006 Caolán McNamara <caolanm@redhat.com> - 3.4-10
|
||||||
|
- rh#194686# BuildRequires
|
||||||
|
|
||||||
|
* Tue May 09 2006 Caolán McNamara <caolanm@redhat.com> - 3.4-9
|
||||||
|
- rh#190879# backport fix
|
||||||
|
|
||||||
|
* Wed May 03 2006 Caolán McNamara <caolanm@redhat.com> - 3.4-8
|
||||||
|
- add Harshula's icu-3.4-sinhala1.patch for some Sinhala support
|
||||||
|
|
||||||
|
* Tue May 02 2006 Caolán McNamara <caolanm@redhat.com> - 3.4-7
|
||||||
|
- add a pkgconfig.pc, make icu-config use it
|
||||||
|
|
||||||
|
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 3.4-6.2
|
||||||
|
- bump again for double-long bug on ppc(64)
|
||||||
|
|
||||||
|
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 3.4-6.1
|
||||||
|
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||||
|
|
||||||
|
* Tue Jan 03 2006 Caolán McNamara <caolanm@redhat.com> - 3.4-6
|
||||||
|
- add icu-gcc41.patch
|
||||||
|
|
||||||
|
* Tue Oct 11 2005 Caolán McNamara <caolanm@redhat.com> - 3.4-5
|
||||||
|
- clear execstack requirement for libicudata
|
||||||
|
|
||||||
|
* Mon Sep 12 2005 Caolán McNamara <caolanm@redhat.com> - 3.4-4
|
||||||
|
- import extra icu.spec into fedora core for openoffice.org
|
||||||
|
- build with gcc 4
|
||||||
|
|
||||||
|
* Wed Aug 31 2005 Thorsten Leemhuis <fedora at leemhuis.info> - 3.4-3
|
||||||
|
- Use dist
|
||||||
|
- gcc32 does not understand -fstack-protector and
|
||||||
|
--param=ssp-buffer-size=4
|
||||||
|
|
||||||
|
* Tue Aug 2 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.4-2
|
||||||
|
- 3.4.
|
||||||
|
|
||||||
|
* Sun Jul 31 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.4-0.2.d02
|
||||||
|
- 3.4-d02.
|
||||||
|
- Don't ship static libraries.
|
||||||
|
|
||||||
|
* Wed Apr 27 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.2-3
|
||||||
|
- Apply upstream case mapping mutex lock removal patch.
|
||||||
|
- Build with gcc 3.2 as a temporary workaround for #152495.
|
||||||
|
|
||||||
|
* Thu Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 3.2-2
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Sat Jan 1 2005 Ville Skyttä <ville.skytta at iki.fi> - 3.2-1
|
||||||
|
- Don't use %%{_smp_mflags} (b.f.u #2357).
|
||||||
|
- Remove unnecessary Epochs.
|
||||||
|
|
||||||
|
* Sat Dec 4 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:3.2-0.fdr.1
|
||||||
|
- Update to 3.2.
|
||||||
|
|
||||||
|
* Sun Jul 18 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:3.0-0.fdr.1
|
||||||
|
- Update to 3.0, datadirs patch no longer needed.
|
||||||
|
- Package data in shared libs, drop -locales subpackage.
|
||||||
|
- Rename -docs subpackage to libicu-doc, and generate graphs with graphviz.
|
||||||
|
|
||||||
|
* Sat Dec 13 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6.1-0.fdr.3
|
||||||
|
- Partial fix for bad datadirs returned by icu-config (works as long as
|
||||||
|
data packaging mode is not "common" or "dll").
|
||||||
|
|
||||||
|
* Sun Nov 23 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6.1-0.fdr.2
|
||||||
|
- First complete version.
|
||||||
|
|
||||||
|
* Sun Sep 28 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6.1-0.fdr.1
|
||||||
|
- Update to 2.6.1.
|
||||||
|
|
||||||
|
* Wed Aug 27 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.6-0.fdr.1
|
||||||
|
- First build, based on upstream and SuSE 8.2 packages.
|
Loading…
Reference in new issue