Auto sync2gitlab import of icu-60.3-2.el8_1.src.rpm
This commit is contained in:
parent
477d65a4f2
commit
d127ccbb32
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/icu4c-60_3-src.tgz
|
108
ICU-13634-Adding-integer-overflow-logic-to-ICU4C-num.patch
Normal file
108
ICU-13634-Adding-integer-overflow-logic-to-ICU4C-num.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
From 23d76d88630ecee02515e2c8f5c8769cc795ae23 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Shane Carr <shane@unicode.org>
|
||||||
|
Date: Fri, 23 Mar 2018 00:56:16 +0000
|
||||||
|
Subject: [PATCH] ICU-13634 Adding integer overflow logic to ICU4C number
|
||||||
|
pipeline in places where it is in ICU4J.
|
||||||
|
|
||||||
|
X-SVN-Rev: 41136
|
||||||
|
|
||||||
|
diff --git a/icu4c/source/common/putil.cpp b/icu4c/source/common/putil.cpp
|
||||||
|
index 83f08ac070..452e2fd79c 100644
|
||||||
|
--- a/icu4c/source/common/putil.cpp
|
||||||
|
+++ b/icu4c/source/common/putil.cpp
|
||||||
|
@@ -533,6 +533,30 @@ uprv_fmin(double x, double y)
|
||||||
|
return (x > y ? y : x);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#include <iostream>
|
||||||
|
+
|
||||||
|
+U_CAPI UBool U_EXPORT2
|
||||||
|
+uprv_add32_overflow(int32_t a, int32_t b, int32_t* res) {
|
||||||
|
+ // NOTE: Some compilers (GCC, Clang) have primitives available, like __builtin_add_overflow.
|
||||||
|
+ // This function could be optimized by calling one of those primitives.
|
||||||
|
+ auto a64 = static_cast<int64_t>(a);
|
||||||
|
+ auto b64 = static_cast<int64_t>(b);
|
||||||
|
+ int64_t res64 = a64 + b64;
|
||||||
|
+ *res = static_cast<int32_t>(res64);
|
||||||
|
+ return res64 != *res;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+U_CAPI UBool U_EXPORT2
|
||||||
|
+uprv_mul32_overflow(int32_t a, int32_t b, int32_t* res) {
|
||||||
|
+ // NOTE: Some compilers (GCC, Clang) have primitives available, like __builtin_mul_overflow.
|
||||||
|
+ // This function could be optimized by calling one of those primitives.
|
||||||
|
+ auto a64 = static_cast<int64_t>(a);
|
||||||
|
+ auto b64 = static_cast<int64_t>(b);
|
||||||
|
+ int64_t res64 = a64 * b64;
|
||||||
|
+ *res = static_cast<int32_t>(res64);
|
||||||
|
+ return res64 != *res;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Truncates the given double.
|
||||||
|
* trunc(3.3) = 3.0, trunc (-3.3) = -3.0
|
||||||
|
diff --git a/icu4c/source/common/putilimp.h b/icu4c/source/common/putilimp.h
|
||||||
|
index eb9b5380f1..8b858df9e3 100644
|
||||||
|
--- a/icu4c/source/common/putilimp.h
|
||||||
|
+++ b/icu4c/source/common/putilimp.h
|
||||||
|
@@ -391,6 +391,32 @@ U_INTERNAL double U_EXPORT2 uprv_log(double d);
|
||||||
|
*/
|
||||||
|
U_INTERNAL double U_EXPORT2 uprv_round(double x);
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ * Adds the signed integers a and b, storing the result in res.
|
||||||
|
+ * Checks for signed integer overflow.
|
||||||
|
+ * Similar to the GCC/Clang extension __builtin_add_overflow
|
||||||
|
+ *
|
||||||
|
+ * @param a The first operand.
|
||||||
|
+ * @param b The second operand.
|
||||||
|
+ * @param res a + b
|
||||||
|
+ * @return true if overflow occurred; false if no overflow occurred.
|
||||||
|
+ * @internal
|
||||||
|
+ */
|
||||||
|
+U_INTERNAL UBool U_EXPORT2 uprv_add32_overflow(int32_t a, int32_t b, int32_t* res);
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ * Multiplies the signed integers a and b, storing the result in res.
|
||||||
|
+ * Checks for signed integer overflow.
|
||||||
|
+ * Similar to the GCC/Clang extension __builtin_mul_overflow
|
||||||
|
+ *
|
||||||
|
+ * @param a The first multiplicand.
|
||||||
|
+ * @param b The second multiplicand.
|
||||||
|
+ * @param res a * b
|
||||||
|
+ * @return true if overflow occurred; false if no overflow occurred.
|
||||||
|
+ * @internal
|
||||||
|
+ */
|
||||||
|
+U_INTERNAL UBool U_EXPORT2 uprv_mul32_overflow(int32_t a, int32_t b, int32_t* res);
|
||||||
|
+
|
||||||
|
#if 0
|
||||||
|
/**
|
||||||
|
* Returns the number of digits after the decimal point in a double number x.
|
||||||
|
diff --git a/icu4c/source/test/cintltst/putiltst.c b/icu4c/source/test/cintltst/putiltst.c
|
||||||
|
index b99d9fca9c..1c3e073041 100644
|
||||||
|
--- a/icu4c/source/test/cintltst/putiltst.c
|
||||||
|
+++ b/icu4c/source/test/cintltst/putiltst.c
|
||||||
|
@@ -128,6 +128,20 @@ static void TestPUtilAPI(void){
|
||||||
|
log_err("ERROR: uprv_isInfinite failed.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
+ log_verbose("Testing the APIs uprv_add32_overflow and uprv_mul32_overflow\n");
|
||||||
|
+ int32_t overflow_result;
|
||||||
|
+ doAssert(FALSE, uprv_add32_overflow(INT32_MAX - 2, 1, &overflow_result), "should not overflow");
|
||||||
|
+ doAssert(INT32_MAX - 1, overflow_result, "should equal INT32_MAX - 1");
|
||||||
|
+ doAssert(FALSE, uprv_add32_overflow(INT32_MAX - 2, 2, &overflow_result), "should not overflow");
|
||||||
|
+ doAssert(INT32_MAX, overflow_result, "should equal exactly INT32_MAX");
|
||||||
|
+ doAssert(TRUE, uprv_add32_overflow(INT32_MAX - 2, 3, &overflow_result), "should overflow");
|
||||||
|
+ doAssert(FALSE, uprv_mul32_overflow(INT32_MAX / 5, 4, &overflow_result), "should not overflow");
|
||||||
|
+ doAssert(INT32_MAX / 5 * 4, overflow_result, "should equal INT32_MAX / 5 * 4");
|
||||||
|
+ doAssert(TRUE, uprv_mul32_overflow(INT32_MAX / 5, 6, &overflow_result), "should overflow");
|
||||||
|
+ // Test on negative numbers:
|
||||||
|
+ doAssert(FALSE, uprv_add32_overflow(-3, -2, &overflow_result), "should not overflow");
|
||||||
|
+ doAssert(-5, overflow_result, "should equal -5");
|
||||||
|
+
|
||||||
|
#if 0
|
||||||
|
log_verbose("Testing the API uprv_digitsAfterDecimal()....\n");
|
||||||
|
doAssert(uprv_digitsAfterDecimal(value1), 3, "uprv_digitsAfterDecimal() failed.");
|
||||||
|
--
|
||||||
|
2.24.1
|
||||||
|
|
103
ICU-20958-Prevent-SEGV_MAPERR-in-append.patch
Normal file
103
ICU-20958-Prevent-SEGV_MAPERR-in-append.patch
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
diff -ru icu/source/common/unistr.cpp icu.new/source/common/unistr.cpp
|
||||||
|
--- icu/source/common/unistr.cpp 2019-04-12 00:26:16.000000000 +0200
|
||||||
|
+++ icu.new/source/common/unistr.cpp 2020-03-03 15:39:37.069874709 +0100
|
||||||
|
@@ -1544,7 +1544,11 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t oldLength = length();
|
||||||
|
- int32_t newLength = oldLength + srcLength;
|
||||||
|
+ int32_t newLength;
|
||||||
|
+ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) {
|
||||||
|
+ setToBogus();
|
||||||
|
+ return *this;
|
||||||
|
+ }
|
||||||
|
// optimize append() onto a large-enough, owned string
|
||||||
|
if((newLength <= getCapacity() && isBufferWritable()) ||
|
||||||
|
cloneArrayIfNeeded(newLength, getGrowCapacity(newLength))) {
|
||||||
|
diff -ru icu/source/test/intltest/ustrtest.cpp icu.new/source/test/intltest/ustrtest.cpp
|
||||||
|
--- icu/source/test/intltest/ustrtest.cpp 2019-04-12 00:26:16.000000000 +0200
|
||||||
|
+++ icu.new/source/test/intltest/ustrtest.cpp 2020-03-03 15:44:59.059239188 +0100
|
||||||
|
@@ -64,6 +64,7 @@
|
||||||
|
TESTCASE_AUTO(TestUInt16Pointers);
|
||||||
|
TESTCASE_AUTO(TestWCharPointers);
|
||||||
|
TESTCASE_AUTO(TestNullPointers);
|
||||||
|
+ TESTCASE_AUTO(TestLargeAppend);
|
||||||
|
TESTCASE_AUTO_END;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2248,3 +2249,64 @@
|
||||||
|
UnicodeString(u"def").extract(nullptr, 0, errorCode);
|
||||||
|
assertEquals("buffer overflow extracting to nullptr", U_BUFFER_OVERFLOW_ERROR, errorCode);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+void UnicodeStringTest::TestLargeAppend() {
|
||||||
|
+ if(quick) return;
|
||||||
|
+
|
||||||
|
+ IcuTestErrorCode status(*this, "TestLargeAppend");
|
||||||
|
+ // Make a large UnicodeString
|
||||||
|
+ int32_t len = 0xAFFFFFF;
|
||||||
|
+ UnicodeString str;
|
||||||
|
+ char16_t *buf = str.getBuffer(len);
|
||||||
|
+ // A fast way to set buffer to valid Unicode.
|
||||||
|
+ // 4E4E is a valid unicode character
|
||||||
|
+ uprv_memset(buf, 0x4e, len * 2);
|
||||||
|
+ str.releaseBuffer(len);
|
||||||
|
+ UnicodeString dest;
|
||||||
|
+ // Append it 16 times
|
||||||
|
+ // 0xAFFFFFF times 16 is 0xA4FFFFF1,
|
||||||
|
+ // which is greater than INT32_MAX, which is 0x7FFFFFFF.
|
||||||
|
+ int64_t total = 0;
|
||||||
|
+ for (int32_t i = 0; i < 16; i++) {
|
||||||
|
+ dest.append(str);
|
||||||
|
+ total += len;
|
||||||
|
+ if (total <= INT32_MAX) {
|
||||||
|
+ assertFalse("dest is not bogus", dest.isBogus());
|
||||||
|
+ } else {
|
||||||
|
+ assertTrue("dest should be bogus", dest.isBogus());
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ dest.remove();
|
||||||
|
+ total = 0;
|
||||||
|
+ for (int32_t i = 0; i < 16; i++) {
|
||||||
|
+ dest.append(str);
|
||||||
|
+ total += len;
|
||||||
|
+ if (total + len <= INT32_MAX) {
|
||||||
|
+ assertFalse("dest is not bogus", dest.isBogus());
|
||||||
|
+ } else if (total <= INT32_MAX) {
|
||||||
|
+ // Check that a string of exactly the maximum size works
|
||||||
|
+ UnicodeString str2;
|
||||||
|
+ int32_t remain = INT32_MAX - total;
|
||||||
|
+ char16_t *buf2 = str2.getBuffer(remain);
|
||||||
|
+ if (buf2 == nullptr) {
|
||||||
|
+ // if somehow memory allocation fail, return the test
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ uprv_memset(buf2, 0x4e, remain * 2);
|
||||||
|
+ str2.releaseBuffer(remain);
|
||||||
|
+ dest.append(str2);
|
||||||
|
+ total += remain;
|
||||||
|
+ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total);
|
||||||
|
+ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length());
|
||||||
|
+ assertFalse("dest is not bogus", dest.isBogus());
|
||||||
|
+
|
||||||
|
+ // Check that a string size+1 goes bogus
|
||||||
|
+ str2.truncate(1);
|
||||||
|
+ dest.append(str2);
|
||||||
|
+ total++;
|
||||||
|
+ assertTrue("dest should be bogus", dest.isBogus());
|
||||||
|
+ } else {
|
||||||
|
+ assertTrue("dest should be bogus", dest.isBogus());
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
diff -ru icu/source/test/intltest/ustrtest.h icu.new/source/test/intltest/ustrtest.h
|
||||||
|
--- icu/source/test/intltest/ustrtest.h 2019-04-12 00:26:16.000000000 +0200
|
||||||
|
+++ icu.new/source/test/intltest/ustrtest.h 2020-03-03 15:45:36.147935611 +0100
|
||||||
|
@@ -96,6 +96,7 @@
|
||||||
|
void TestUInt16Pointers();
|
||||||
|
void TestWCharPointers();
|
||||||
|
void TestNullPointers();
|
||||||
|
+ void TestLargeAppend();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
96
armv7hl-disable-tests.patch
Normal file
96
armv7hl-disable-tests.patch
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
diff -ru orig.icu/source/test/cintltst/cnmdptst.c icu/source/test/cintltst/cnmdptst.c
|
||||||
|
--- orig.icu/source/test/cintltst/cnmdptst.c 2016-03-23 21:48:18.000000000 +0100
|
||||||
|
+++ icu/source/test/cintltst/cnmdptst.c 2016-04-15 18:34:06.148251985 +0200
|
||||||
|
@@ -186,6 +186,12 @@
|
||||||
|
/* Test exponential pattern*/
|
||||||
|
static void TestExponential(void)
|
||||||
|
{
|
||||||
|
+/* erAck: fails on armv7hl, https://bugzilla.redhat.com/show_bug.cgi?id=1239574 */
|
||||||
|
+#if 1
|
||||||
|
+ /* Actually only 3 tests fail, but given the nested structure depending on
|
||||||
|
+ * array sizes there's no simple "disable this and that". */
|
||||||
|
+ return;
|
||||||
|
+#endif
|
||||||
|
int32_t pat_length, val_length, lval_length;
|
||||||
|
int32_t ival, ilval, p, v, lneed;
|
||||||
|
UNumberFormat *fmt;
|
||||||
|
diff -ru orig.icu/source/test/intltest/dcfmtest.cpp icu/source/test/intltest/dcfmtest.cpp
|
||||||
|
--- orig.icu/source/test/intltest/dcfmtest.cpp 2016-03-23 21:48:38.000000000 +0100
|
||||||
|
+++ icu/source/test/intltest/dcfmtest.cpp 2016-04-15 18:34:06.148251985 +0200
|
||||||
|
@@ -279,6 +279,13 @@
|
||||||
|
//
|
||||||
|
formatLineMat.reset(testLine);
|
||||||
|
if (formatLineMat.lookingAt(status)) {
|
||||||
|
+/* erAck: fails on armv7hl, https://bugzilla.redhat.com/show_bug.cgi?id=1239574 */
|
||||||
|
+#if 1
|
||||||
|
+// [Formattable] file dcfmtest.txt, line 62: expected "12.35E5", got "1.235E6"
|
||||||
|
+// [StringPiece] file dcfmtest.txt, line 62: expected "12.35E5", got "1.235E6"
|
||||||
|
+ if (lineNum == 62)
|
||||||
|
+ continue;
|
||||||
|
+#endif
|
||||||
|
execFormatTest(lineNum,
|
||||||
|
formatLineMat.group(1, status), // Pattern
|
||||||
|
formatLineMat.group(2, status), // rounding mode
|
||||||
|
diff -ru orig.icu/source/test/intltest/numfmtspectest.cpp icu/source/test/intltest/numfmtspectest.cpp
|
||||||
|
--- orig.icu/source/test/intltest/numfmtspectest.cpp 2016-03-23 21:48:40.000000000 +0100
|
||||||
|
+++ icu/source/test/intltest/numfmtspectest.cpp 2016-04-15 18:34:06.148251985 +0200
|
||||||
|
@@ -137,11 +137,14 @@
|
||||||
|
|
||||||
|
void NumberFormatSpecificationTest::TestScientificNotation() {
|
||||||
|
assertPatternFr("1,23E4", 12345.0, "0.00E0", TRUE);
|
||||||
|
+/* erAck: fails on armv7hl, https://bugzilla.redhat.com/show_bug.cgi?id=1239574 */
|
||||||
|
+#if 0
|
||||||
|
assertPatternFr("123,00E2", 12300.0, "000.00E0", TRUE);
|
||||||
|
assertPatternFr("123,0E2", 12300.0, "000.0#E0", TRUE);
|
||||||
|
assertPatternFr("123,0E2", 12300.1, "000.0#E0", TRUE);
|
||||||
|
assertPatternFr("123,01E2", 12301.0, "000.0#E0", TRUE);
|
||||||
|
assertPatternFr("123,01E+02", 12301.0, "000.0#E+00", TRUE);
|
||||||
|
+#endif
|
||||||
|
assertPatternFr("12,3E3", 12345.0, "##0.00E0", TRUE);
|
||||||
|
assertPatternFr("12,300E3", 12300.1, "##0.0000E0", TRUE);
|
||||||
|
assertPatternFr("12,30E3", 12300.1, "##0.000#E0", TRUE);
|
||||||
|
@@ -221,6 +224,8 @@
|
||||||
|
assertEquals("", "USD (433.22)", result, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+/* erAck: fails on armv7hl, https://bugzilla.redhat.com/show_bug.cgi?id=1239574 */
|
||||||
|
+#if 0
|
||||||
|
const char *paddedSciPattern = "QU**00.#####E0";
|
||||||
|
assertPatternFr("QU***43,3E-1", 4.33, paddedSciPattern, TRUE);
|
||||||
|
{
|
||||||
|
@@ -242,6 +247,7 @@
|
||||||
|
}
|
||||||
|
// padding cannot work as intended with scientific notation.
|
||||||
|
assertPatternFr("QU**43,32E-1", 4.332, paddedSciPattern, TRUE);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void NumberFormatSpecificationTest::assertPatternFr(
|
||||||
|
diff -ru orig.icu/source/test/intltest/numfmtst.cpp icu/source/test/intltest/numfmtst.cpp
|
||||||
|
--- orig.icu/source/test/intltest/numfmtst.cpp 2016-03-23 21:48:40.000000000 +0100
|
||||||
|
+++ icu/source/test/intltest/numfmtst.cpp 2016-04-15 18:34:06.150251997 +0200
|
||||||
|
@@ -730,6 +730,12 @@
|
||||||
|
void
|
||||||
|
NumberFormatTest::TestExponential(void)
|
||||||
|
{
|
||||||
|
+/* erAck: fails on armv7hl, https://bugzilla.redhat.com/show_bug.cgi?id=1239574 */
|
||||||
|
+#if 1
|
||||||
|
+ /* Actually only 3 tests fail, but given the nested structure depending on
|
||||||
|
+ * array sizes there's no simple "disable this and that". */
|
||||||
|
+ return;
|
||||||
|
+#endif
|
||||||
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
|
DecimalFormatSymbols sym(Locale::getUS(), status);
|
||||||
|
if (U_FAILURE(status)) { errcheckln(status, "FAIL: Bad status returned by DecimalFormatSymbols ct - %s", u_errorName(status)); return; }
|
||||||
|
@@ -1846,8 +1852,11 @@
|
||||||
|
(int32_t) 45678000, "5E7", status);
|
||||||
|
expect(new DecimalFormat("00E0", US, status),
|
||||||
|
(int32_t) 45678000, "46E6", status);
|
||||||
|
+/* erAck: fails on armv7hl, https://bugzilla.redhat.com/show_bug.cgi?id=1239574 */
|
||||||
|
+#if 0
|
||||||
|
expect(new DecimalFormat("000E0", US, status),
|
||||||
|
(int32_t) 45678000, "457E5", status);
|
||||||
|
+#endif
|
||||||
|
/*
|
||||||
|
expect(new DecimalFormat("###E0", US, status),
|
||||||
|
new Object[] { new Double(0.0000123), "12.3E-6",
|
128
gennorm2-man.patch
Normal file
128
gennorm2-man.patch
Normal file
@ -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
|
11
icu-config.sh
Normal file
11
icu-config.sh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
OOO_ARCH=$(uname -m)
|
||||||
|
case $OOO_ARCH in
|
||||||
|
x86_64 | s390x | ppc64 | sparc64 | aarch64 | ppc64le | mips64 | mips64el)
|
||||||
|
bits=64
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
bits=32
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exec icu-config-$bits "$@"
|
171
icu-covscan.patch
Normal file
171
icu-covscan.patch
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
diff -urN icu.old/source/common/uloc_keytype.cpp icu/source/common/uloc_keytype.cpp
|
||||||
|
--- icu.old/source/common/uloc_keytype.cpp 2017-02-01 01:21:30.000000000 +0530
|
||||||
|
+++ icu/source/common/uloc_keytype.cpp 2018-09-23 18:48:04.414990551 +0530
|
||||||
|
@@ -383,6 +383,7 @@
|
||||||
|
LocExtKeyData* keyData = (LocExtKeyData*)uprv_malloc(sizeof(LocExtKeyData));
|
||||||
|
if (keyData == NULL) {
|
||||||
|
sts = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
+ uprv_free(typeDataMap);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
keyData->bcpId = bcpKeyId;
|
||||||
|
diff -urN icu.old/source/common/uloc_tag.cpp icu/source/common/uloc_tag.cpp
|
||||||
|
--- icu.old/source/common/uloc_tag.cpp 2017-10-11 21:54:34.000000000 +0530
|
||||||
|
+++ icu/source/common/uloc_tag.cpp 2018-09-23 18:48:58.207182317 +0530
|
||||||
|
@@ -2145,6 +2145,7 @@
|
||||||
|
|
||||||
|
error:
|
||||||
|
ultag_close(t);
|
||||||
|
+ uprv_free(pExtension);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -urN icu.old/source/i18n/olsontz.cpp icu/source/i18n/olsontz.cpp
|
||||||
|
--- icu.old/source/i18n/olsontz.cpp 2017-02-01 01:21:27.000000000 +0530
|
||||||
|
+++ icu/source/i18n/olsontz.cpp 2018-09-23 18:52:02.140418739 +0530
|
||||||
|
@@ -787,6 +787,7 @@
|
||||||
|
if (historicRules[typeIdx] == NULL) {
|
||||||
|
status = U_MEMORY_ALLOCATION_ERROR;
|
||||||
|
deleteTransitionRules();
|
||||||
|
+ uprv_free(times);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff -urN icu.old/source/i18n/rbt_pars.cpp icu/source/i18n/rbt_pars.cpp
|
||||||
|
--- icu.old/source/i18n/rbt_pars.cpp 2017-02-01 01:21:27.000000000 +0530
|
||||||
|
+++ icu/source/i18n/rbt_pars.cpp 2018-09-23 18:52:51.362679180 +0530
|
||||||
|
@@ -557,6 +557,7 @@
|
||||||
|
// The next character MUST be a segment open
|
||||||
|
if (single == NULL ||
|
||||||
|
!ICU_Utility::parseChar(rule, iref, SEGMENT_OPEN)) {
|
||||||
|
+ uprv_free(single);
|
||||||
|
return syntaxError(U_INVALID_FUNCTION, rule, start, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -urN icu.old/source/i18n/tznames_impl.cpp icu/source/i18n/tznames_impl.cpp
|
||||||
|
--- icu.old/source/i18n/tznames_impl.cpp 2017-10-11 21:54:34.000000000 +0530
|
||||||
|
+++ icu/source/i18n/tznames_impl.cpp 2018-09-23 18:55:36.222152997 +0530
|
||||||
|
@@ -1762,6 +1762,7 @@
|
||||||
|
UResourceBundle* rbTable = NULL;
|
||||||
|
rbTable = ures_getByKey(rb, key, rbTable, &status);
|
||||||
|
if (U_FAILURE(status)) {
|
||||||
|
+ uprv_free(rbTable);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1784,6 +1785,7 @@
|
||||||
|
if (names != NULL) {
|
||||||
|
uprv_free(names);
|
||||||
|
}
|
||||||
|
+ uprv_free(rbTable);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -urN icu.old/source/i18n/usearch.cpp icu/source/i18n/usearch.cpp
|
||||||
|
--- icu.old/source/i18n/usearch.cpp 2017-02-01 01:21:27.000000000 +0530
|
||||||
|
+++ icu/source/i18n/usearch.cpp 2018-09-23 18:54:34.752103865 +0530
|
||||||
|
@@ -222,6 +222,7 @@
|
||||||
|
int32_t *temp = (int32_t *)allocateMemory(
|
||||||
|
sizeof(int32_t) * newlength, status);
|
||||||
|
if (U_FAILURE(*status)) {
|
||||||
|
+ uprv_free(temp);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
uprv_memcpy(temp, destination, sizeof(int32_t) * (size_t)offset);
|
||||||
|
@@ -263,6 +264,7 @@
|
||||||
|
sizeof(int64_t) * newlength, status);
|
||||||
|
|
||||||
|
if (U_FAILURE(*status)) {
|
||||||
|
+ uprv_free(temp);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -urN icu.old/source/tools/ctestfw/ctest.c icu/source/tools/ctestfw/ctest.c
|
||||||
|
--- icu.old/source/tools/ctestfw/ctest.c 2017-02-01 01:21:30.000000000 +0530
|
||||||
|
+++ icu/source/tools/ctestfw/ctest.c 2018-09-23 18:19:43.612734248 +0530
|
||||||
|
@@ -803,6 +803,7 @@
|
||||||
|
}
|
||||||
|
va_start(ap, pattern);
|
||||||
|
vlog_err(NULL, pattern, ap);
|
||||||
|
+ va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
UBool T_CTEST_EXPORT2
|
||||||
|
@@ -810,6 +811,7 @@
|
||||||
|
va_list ap;
|
||||||
|
va_start(ap, pattern);
|
||||||
|
return vlog_knownIssue(ticket, pattern, ap);
|
||||||
|
+ va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
void T_CTEST_EXPORT2
|
||||||
|
@@ -843,6 +845,7 @@
|
||||||
|
}
|
||||||
|
vlog_err(NULL, pattern, ap); /* no need for prefix in default case */
|
||||||
|
}
|
||||||
|
+ va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
void T_CTEST_EXPORT2
|
||||||
|
@@ -852,6 +855,7 @@
|
||||||
|
|
||||||
|
va_start(ap, pattern);
|
||||||
|
vlog_info(NULL, pattern, ap);
|
||||||
|
+ va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
void T_CTEST_EXPORT2
|
||||||
|
@@ -861,6 +865,7 @@
|
||||||
|
|
||||||
|
va_start(ap, pattern);
|
||||||
|
vlog_verbose(NULL, pattern, ap);
|
||||||
|
+ va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -882,6 +887,7 @@
|
||||||
|
} else {
|
||||||
|
vlog_info("[DATA] ", pattern, ap);
|
||||||
|
}
|
||||||
|
+ va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
diff -urN icu.old/source/tools/gensprep/store.c icu/source/tools/gensprep/store.c
|
||||||
|
--- icu.old/source/tools/gensprep/store.c 2017-02-08 00:27:35.000000000 +0530
|
||||||
|
+++ icu/source/tools/gensprep/store.c 2018-09-23 17:42:52.262908882 +0530
|
||||||
|
@@ -634,7 +634,6 @@
|
||||||
|
cleanUpData(void) {
|
||||||
|
uprv_free(mappingData);
|
||||||
|
utrie_close(sprepTrie);
|
||||||
|
- uprv_free(sprepTrie);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #if !UCONFIG_NO_IDNA */
|
||||||
|
diff -urN icu.old/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp
|
||||||
|
--- icu.old/source/tools/pkgdata/pkgdata.cpp 2017-03-23 04:56:34.000000000 +0530
|
||||||
|
+++ icu/source/tools/pkgdata/pkgdata.cpp 2018-09-23 17:40:19.730240502 +0530
|
||||||
|
@@ -1531,11 +1531,11 @@
|
||||||
|
gencFilePath);
|
||||||
|
|
||||||
|
result = runCommand(cmd);
|
||||||
|
- uprv_free(cmd);
|
||||||
|
if (result != 0) {
|
||||||
|
fprintf(stderr, "Error creating with assembly code. Failed command: %s\n", cmd);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
+ uprv_free(cmd);
|
||||||
|
|
||||||
|
return pkg_generateLibraryFile(targetDir, mode, tempObjectFile);
|
||||||
|
}
|
||||||
|
diff -urN icu.old/source/tools/toolutil/filetools.cpp icu/source/tools/toolutil/filetools.cpp
|
||||||
|
--- icu.old/source/tools/toolutil/filetools.cpp 2017-02-01 01:21:30.000000000 +0530
|
||||||
|
+++ icu/source/tools/toolutil/filetools.cpp 2018-09-23 16:09:47.949491516 +0530
|
||||||
|
@@ -64,6 +64,7 @@
|
||||||
|
newpath.append(dirEntry->d_name, -1, status);
|
||||||
|
if (U_FAILURE(status)) {
|
||||||
|
fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, u_errorName(status));
|
||||||
|
+ free(pDir);
|
||||||
|
return FALSE;
|
||||||
|
};
|
||||||
|
|
764
icu.spec
Normal file
764
icu.spec
Normal file
@ -0,0 +1,764 @@
|
|||||||
|
#%%global debugtrace 1
|
||||||
|
|
||||||
|
Name: icu
|
||||||
|
Version: 60.3
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: International Components for Unicode
|
||||||
|
|
||||||
|
License: MIT and UCD and Public Domain
|
||||||
|
URL: http://site.icu-project.org/
|
||||||
|
Source0: https://github.com/unicode-org/icu/releases/download/release-60-3/icu4c-60_3-src.tgz
|
||||||
|
Source1: icu-config.sh
|
||||||
|
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: doxygen, autoconf, python3
|
||||||
|
Requires: lib%{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
Patch4: gennorm2-man.patch
|
||||||
|
Patch5: icuinfo-man.patch
|
||||||
|
Patch6: negative-daylight-savings.patch
|
||||||
|
Patch100: armv7hl-disable-tests.patch
|
||||||
|
Patch101: icu-covscan.patch
|
||||||
|
Patch200: ICU-13634-Adding-integer-overflow-logic-to-ICU4C-num.patch
|
||||||
|
Patch201: ICU-20958-Prevent-SEGV_MAPERR-in-append.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
|
||||||
|
%setup -q -n %{name}
|
||||||
|
%patch4 -p1 -b .gennorm2-man.patch
|
||||||
|
%patch5 -p1 -b .icuinfo-man.patch
|
||||||
|
%patch6 -p1 -b .negative-daylight-savings.patch
|
||||||
|
%ifarch armv7hl
|
||||||
|
%patch100 -p1 -b .armv7hl-disable-tests.patch
|
||||||
|
%endif
|
||||||
|
%patch101 -p1 -b .covscan
|
||||||
|
%patch200 -p2 -b .ICU-13634
|
||||||
|
%patch201 -p1 -b .ICU-20958
|
||||||
|
|
||||||
|
%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 CC=gcc CXX=g++
|
||||||
|
|
||||||
|
#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 %{?_smp_mflags} VERBOSE=1
|
||||||
|
make %{?_smp_mflags} doc
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT source/__docs
|
||||||
|
make %{?_smp_mflags} -C source install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
make %{?_smp_mflags} -C source install-doc docdir=__docs
|
||||||
|
chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.*
|
||||||
|
(
|
||||||
|
cd $RPM_BUILD_ROOT%{_bindir}
|
||||||
|
mv icu-config icu-config-%{__isa_bits}
|
||||||
|
)
|
||||||
|
install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/icu-config
|
||||||
|
|
||||||
|
|
||||||
|
%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
|
||||||
|
%ifarch i686
|
||||||
|
# F26 since the mass rebuild in 2017-Feb fails a check, ignore error. TODO: find cause / disable only one.
|
||||||
|
make %{?_smp_mflags} -C source check ||:
|
||||||
|
%else
|
||||||
|
make %{?_smp_mflags} -C source check
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# log available codes
|
||||||
|
pushd source
|
||||||
|
LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
|
||||||
|
|
||||||
|
|
||||||
|
%post -n lib%{name} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n lib%{name} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license license.html
|
||||||
|
%exclude %{_datadir}/%{name}/*/LICENSE
|
||||||
|
%{_bindir}/derb
|
||||||
|
%{_bindir}/genbrk
|
||||||
|
%{_bindir}/gencfu
|
||||||
|
%{_bindir}/gencnval
|
||||||
|
%{_bindir}/gendict
|
||||||
|
%{_bindir}/genrb
|
||||||
|
%{_bindir}/makeconv
|
||||||
|
%{_bindir}/pkgdata
|
||||||
|
%{_bindir}/uconv
|
||||||
|
%{_sbindir}/*
|
||||||
|
%{_mandir}/man1/derb.1*
|
||||||
|
%{_mandir}/man1/gencfu.1*
|
||||||
|
%{_mandir}/man1/gencnval.1*
|
||||||
|
%{_mandir}/man1/gendict.1*
|
||||||
|
%{_mandir}/man1/genrb.1*
|
||||||
|
%{_mandir}/man1/genbrk.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
|
||||||
|
* Tue Mar 03 2020 Mike FABIAN <mfabian@redhat.com> - 60.3-2
|
||||||
|
- Apply ICU-13634-Adding-integer-overflow-logic-to-ICU4C-num.patch
|
||||||
|
- Apply ICU-20958-Prevent-SEGV_MAPERR-in-append.patch
|
||||||
|
- Resolves: rhbz#1808238
|
||||||
|
|
||||||
|
* Tue May 07 2019 Mike FABIAN <mfabian@redhat.com> - 60.3-1
|
||||||
|
- Update to 60.3 maintenance release including support for new Japanese era Reiwa (令和).
|
||||||
|
- Resolves: rhbz#1677093
|
||||||
|
|
||||||
|
* Thu Nov 15 2018 Parag Nemade <pnemade AT redhat DOT com> - 60.2-7
|
||||||
|
- Resolves:rh#1602551 - Fix specfile by adding compile options
|
||||||
|
- also add BuildRequires for gcc and gcc-c++
|
||||||
|
- Correct the upstream URL
|
||||||
|
|
||||||
|
* Sun Sep 23 2018 Parag Nemade <pnemade AT redhat DOT com> - 60.2-6
|
||||||
|
- Resolves:rh#1602551 - Fix some covscan issues
|
||||||
|
|
||||||
|
* Thu Jun 28 2018 Mike FABIAN <mfabian@redhat.com> - 60.2-5
|
||||||
|
- Drop Python2 build dependency, use Python3 instead
|
||||||
|
- Resolves: rhbz#1595790
|
||||||
|
|
||||||
|
* Thu May 31 2018 Mike FABIAN <mfabian@redhat.com> - 60.2-4
|
||||||
|
- Add negative-daylight-savings.patch from upstream.
|
||||||
|
(see http://bugs.icu-project.org/trac/ticket/13566 and
|
||||||
|
http://bugs.icu-project.org/trac/changeset/40954)
|
||||||
|
|
||||||
|
* 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.
|
145
icuinfo-man.patch
Normal file
145
icuinfo-man.patch
Normal file
@ -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
|
154
negative-daylight-savings.patch
Normal file
154
negative-daylight-savings.patch
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
Index: icu4c/source/test/intltest/tzregts.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu4c/source/test/intltest/tzregts.cpp (リビジョン 40953)
|
||||||
|
+++ icu4c/source/test/intltest/tzregts.cpp (リビジョン 40954)
|
||||||
|
@@ -12,6 +12,7 @@
|
||||||
|
#include "unicode/simpletz.h"
|
||||||
|
#include "unicode/smpdtfmt.h"
|
||||||
|
#include "unicode/strenum.h"
|
||||||
|
+#include "unicode/gregocal.h"
|
||||||
|
#include "tzregts.h"
|
||||||
|
#include "calregts.h"
|
||||||
|
#include "cmemory.h"
|
||||||
|
@@ -46,6 +47,7 @@
|
||||||
|
CASE(16, TestJDK12API);
|
||||||
|
CASE(17, Test4176686);
|
||||||
|
CASE(18, Test4184229);
|
||||||
|
+ CASE(19, TestNegativeDaylightSaving);
|
||||||
|
default: name = ""; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -709,10 +711,10 @@
|
||||||
|
int32_t DATA [] = {
|
||||||
|
1, GOOD,
|
||||||
|
0, BAD,
|
||||||
|
- -1, BAD,
|
||||||
|
+ -1, GOOD, // #13566 updates SimpleTimeZone to support negative DST saving amount
|
||||||
|
60*60*1000, GOOD,
|
||||||
|
- INT32_MIN, BAD,
|
||||||
|
- // Integer.MAX_VALUE, ?, // no upper limit on DST savings at this time
|
||||||
|
+ INT32_MAX, GOOD, // no upper limit on DST savings at this time
|
||||||
|
+ INT32_MIN, GOOD // no lower limit as well
|
||||||
|
};
|
||||||
|
|
||||||
|
UErrorCode status = U_ZERO_ERROR;
|
||||||
|
@@ -1206,4 +1208,61 @@
|
||||||
|
delete zone;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void TimeZoneRegressionTest::TestNegativeDaylightSaving() {
|
||||||
|
+ UErrorCode status = U_ZERO_ERROR;
|
||||||
|
+ int32_t stdOff = 1 * 60*60*1000; // Standard offset UTC+1
|
||||||
|
+ int save = -1 * 60*60*1000; // DST saving amount -1 hour
|
||||||
|
+ SimpleTimeZone stzDublin(stdOff, "Dublin-2018",
|
||||||
|
+ UCAL_OCTOBER, -1, -UCAL_SUNDAY, 2*60*60*1000,
|
||||||
|
+ UCAL_MARCH, -1, -UCAL_SUNDAY, 1*60*60*1000,
|
||||||
|
+ save, status);
|
||||||
|
+ failure(status, "SimpleTimeZone constructor");
|
||||||
|
+
|
||||||
|
+ if (save != stzDublin.getDSTSavings()) {
|
||||||
|
+ errln((UnicodeString)"FAIL: DST saving is not " + save);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ GregorianCalendar cal(* TimeZone::getGMT(), status);
|
||||||
|
+ failure(status, "GregorianCalendar constructor");
|
||||||
|
+
|
||||||
|
+ UDate testDate;
|
||||||
|
+ int32_t rawOffset;
|
||||||
|
+ int32_t dstOffset;
|
||||||
|
+
|
||||||
|
+ cal.set(2018, UCAL_JANUARY, 15, 0, 0, 0);
|
||||||
|
+ testDate = cal.getTime(status);
|
||||||
|
+ failure(status, "calendar getTime() - Jan 15");
|
||||||
|
+
|
||||||
|
+ if (!stzDublin.inDaylightTime(testDate, status)) {
|
||||||
|
+ errln("FAIL: The test date (Jan 15) must be in DST.");
|
||||||
|
+ }
|
||||||
|
+ failure(status, "inDaylightTime() - Jan 15");
|
||||||
|
+
|
||||||
|
+ stzDublin.getOffset(testDate, FALSE, rawOffset, dstOffset, status);
|
||||||
|
+ failure(status, "getOffset() - Jan 15");
|
||||||
|
+ if (rawOffset != stdOff || dstOffset != save) {
|
||||||
|
+ errln((UnicodeString)"FAIL: Expected [stdoff=" + stdOff + ",save=" + save
|
||||||
|
+ + "] on the test date (Jan 15), actual[stdoff=" + rawOffset
|
||||||
|
+ + ",save=" + dstOffset + "]");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ cal.set(2018, UCAL_JULY, 15, 0, 0, 0);
|
||||||
|
+ testDate = cal.getTime(status);
|
||||||
|
+ failure(status, "calendar getTime() - Jul 15");
|
||||||
|
+
|
||||||
|
+ if (stzDublin.inDaylightTime(testDate, status)) {
|
||||||
|
+ errln("FAIL: The test date (Jul 15) must be in DST.");
|
||||||
|
+ }
|
||||||
|
+ failure(status, "inDaylightTime() - Jul 15");
|
||||||
|
+
|
||||||
|
+ stzDublin.getOffset(testDate, FALSE, rawOffset, dstOffset, status);
|
||||||
|
+ failure(status, "getOffset() - Jul 15");
|
||||||
|
+ if (rawOffset != stdOff || dstOffset != 0) {
|
||||||
|
+ errln((UnicodeString)"FAIL: Expected [stdoff=" + stdOff + ",save=" + 0
|
||||||
|
+ + "] on the test date (Jul 15), actual[stdoff=" + rawOffset
|
||||||
|
+ + ",save=" + dstOffset + "]");
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
#endif /* #if !UCONFIG_NO_FORMATTING */
|
||||||
|
Index: icu4c/source/test/intltest/tzregts.h
|
||||||
|
===================================================================
|
||||||
|
--- icu4c/source/test/intltest/tzregts.h (リビジョン 40953)
|
||||||
|
+++ icu4c/source/test/intltest/tzregts.h (リビジョン 40954)
|
||||||
|
@@ -49,6 +49,7 @@
|
||||||
|
void TestJDK12API(void);
|
||||||
|
void Test4184229(void);
|
||||||
|
UBool checkCalendar314(GregorianCalendar *testCal, TimeZone *testTZ);
|
||||||
|
+ void TestNegativeDaylightSaving(void);
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Index: icu4c/source/i18n/simpletz.cpp
|
||||||
|
===================================================================
|
||||||
|
--- icu4c/source/i18n/simpletz.cpp (リビジョン 40953)
|
||||||
|
+++ icu4c/source/i18n/simpletz.cpp (リビジョン 40954)
|
||||||
|
@@ -177,7 +177,7 @@
|
||||||
|
|
||||||
|
decodeRules(status);
|
||||||
|
|
||||||
|
- if (savingsDST <= 0) {
|
||||||
|
+ if (savingsDST == 0) {
|
||||||
|
status = U_ILLEGAL_ARGUMENT_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -686,7 +686,7 @@
|
||||||
|
void
|
||||||
|
SimpleTimeZone::setDSTSavings(int32_t millisSavedDuringDST, UErrorCode& status)
|
||||||
|
{
|
||||||
|
- if (millisSavedDuringDST <= 0) {
|
||||||
|
+ if (millisSavedDuringDST == 0) {
|
||||||
|
status = U_ILLEGAL_ARGUMENT_ERROR;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Index: icu4c/source/i18n/unicode/simpletz.h
|
||||||
|
===================================================================
|
||||||
|
--- icu4c/source/i18n/unicode/simpletz.h (リビジョン 40953)
|
||||||
|
+++ icu4c/source/i18n/unicode/simpletz.h (リビジョン 40954)
|
||||||
|
@@ -647,7 +647,8 @@
|
||||||
|
* Sets the amount of time in ms that the clock is advanced during DST.
|
||||||
|
* @param millisSavedDuringDST the number of milliseconds the time is
|
||||||
|
* advanced with respect to standard time when the daylight savings rules
|
||||||
|
- * are in effect. A positive number, typically one hour (3600000).
|
||||||
|
+ * are in effect. Typically one hour (+3600000). The amount could be negative,
|
||||||
|
+ * but not 0.
|
||||||
|
* @param status An UErrorCode to receive the status.
|
||||||
|
* @stable ICU 2.0
|
||||||
|
*/
|
||||||
|
@@ -657,7 +658,8 @@
|
||||||
|
* Returns the amount of time in ms that the clock is advanced during DST.
|
||||||
|
* @return the number of milliseconds the time is
|
||||||
|
* advanced with respect to standard time when the daylight savings rules
|
||||||
|
- * are in effect. A positive number, typically one hour (3600000).
|
||||||
|
+ * are in effect. Typically one hour (+3600000). The amount could be negative,
|
||||||
|
+ * but not 0.
|
||||||
|
* @stable ICU 2.0
|
||||||
|
*/
|
||||||
|
virtual int32_t getDSTSavings(void) const;
|
Loading…
Reference in New Issue
Block a user