[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#923944: marked as done (unblock: double-conversion/3.1.0-3)



Your message dated Fri, 8 Mar 2019 22:46:53 +0000
with message-id <20190308224653.GA24743@powdarrmonkey.net>
and subject line Re: Bug#923944: unblock: double-conversion/3.1.0-3
has caused the Debian Bug report #923944,
regarding unblock: double-conversion/3.1.0-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
923944: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923944
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

I've cherry-picked upstream commits to fix an upstream bug:
https://github.com/google/double-conversion/issues/89
That's all changes from 3.1.0-2 (testing) to 3.1.0-3.
The -3 revision will land on unstable shortly.
debdiff attached.

Detail:
* 8751aafe993c4ec429ba172916596403a336d502.diff
  fixes upstream issue #89
* 860b43156c1ba436aba9792407429bf46b9780a0.diff
  fixes typo in unit tests introduced by the above patch

unblock double-conversion/3.1.0-3

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru double-conversion-3.1.0/debian/changelog double-conversion-3.1.0/debian/changelog
--- double-conversion-3.1.0/debian/changelog	2018-09-20 05:41:28.000000000 +0000
+++ double-conversion-3.1.0/debian/changelog	2019-03-07 14:15:09.000000000 +0000
@@ -1,3 +1,9 @@
+double-conversion (3.1.0-3) unstable; urgency=medium
+
+  * Cherry-pick upstream commits to fix incorrect downcasting of separator_.
+
+ -- Mo Zhou <cdluminate@gmail.com>  Thu, 07 Mar 2019 14:15:09 +0000
+
 double-conversion (3.1.0-2) unstable; urgency=medium
 
   * autopkgtest: Add one more test script unittest.sh .
diff -Nru double-conversion-3.1.0/debian/patches/860b43156c1ba436aba9792407429bf46b9780a0.diff double-conversion-3.1.0/debian/patches/860b43156c1ba436aba9792407429bf46b9780a0.diff
--- double-conversion-3.1.0/debian/patches/860b43156c1ba436aba9792407429bf46b9780a0.diff	1970-01-01 00:00:00.000000000 +0000
+++ double-conversion-3.1.0/debian/patches/860b43156c1ba436aba9792407429bf46b9780a0.diff	2019-03-07 14:06:42.000000000 +0000
@@ -0,0 +1,15 @@
+Modified from https://github.com/google/double-conversion/commit/860b43156c1ba436aba9792407429bf46b9780a0
+
+Index: double-conversion/test/cctest/test-conversions.cc
+===================================================================
+--- double-conversion.orig/test/cctest/test-conversions.cc
++++ double-conversion/test/cctest/test-conversions.cc
+@@ -3603,7 +3603,7 @@ TEST(StringToDoubleSeparator) {
+   CHECK(all_used);
+ 
+   CHECK_EQ(3.0,
+-           StrToD16("0x0@23.p0", flags, 0.0, &processed, &all_used,
++           StrToD16("0x0@3.p0", flags, 0.0, &processed, &all_used,
+                     char_separator, separator));
+   CHECK(all_used);
+ }
diff -Nru double-conversion-3.1.0/debian/patches/8751aafe993c4ec429ba172916596403a336d502.diff double-conversion-3.1.0/debian/patches/8751aafe993c4ec429ba172916596403a336d502.diff
--- double-conversion-3.1.0/debian/patches/8751aafe993c4ec429ba172916596403a336d502.diff	1970-01-01 00:00:00.000000000 +0000
+++ double-conversion-3.1.0/debian/patches/8751aafe993c4ec429ba172916596403a336d502.diff	2019-03-07 14:06:42.000000000 +0000
@@ -0,0 +1,153 @@
+Fixes upstream bug: https://github.com/google/double-conversion/issues/89
+Cherry-picked from: https://github.com/google/double-conversion/commit/8751aafe993c4ec429ba172916596403a336d502
+
+Index: double-conversion/double-conversion/double-conversion.cc
+===================================================================
+--- double-conversion.orig/double-conversion/double-conversion.cc
++++ double-conversion/double-conversion/double-conversion.cc
+@@ -553,7 +553,7 @@ static bool IsCharacterDigitForRadix(int
+ 
+ // Returns true, when the iterator is equal to end.
+ template<class Iterator>
+-static bool Advance (Iterator* it, char separator, int base, Iterator& end) {
++static bool Advance (Iterator* it, uc16 separator, int base, Iterator& end) {
+   if (separator == StringToDoubleConverter::kNoSeparator) {
+     ++(*it);
+     return *it == end;
+@@ -581,7 +581,7 @@ static bool Advance (Iterator* it, char
+ template<class Iterator>
+ static bool IsHexFloatString(Iterator start,
+                              Iterator end,
+-                             char separator,
++                             uc16 separator,
+                              bool allow_trailing_junk) {
+   ASSERT(start != end);
+ 
+@@ -622,7 +622,7 @@ template <int radix_log_2, class Iterato
+ static double RadixStringToIeee(Iterator* current,
+                                 Iterator end,
+                                 bool sign,
+-                                char separator,
++                                uc16 separator,
+                                 bool parse_as_hex_float,
+                                 bool allow_trailing_junk,
+                                 double junk_string_value,
+Index: double-conversion/test/cctest/test-conversions.cc
+===================================================================
+--- double-conversion.orig/test/cctest/test-conversions.cc
++++ double-conversion/test/cctest/test-conversions.cc
+@@ -1731,6 +1731,33 @@ static double StrToD16(const uc16* str16
+ }
+ 
+ 
++static double StrToD16(const char* str, int flags,
++                       double empty_string_value,
++                       int* processed_characters_count, bool* processed_all,
++                       char char_separator, uc16 separator) {
++  uc16 str16[256];
++  int length = -1;
++  for (int i = 0;; i++) {
++    if (str[i] == char_separator) {
++            str16[i] = separator;
++    } else {
++            str16[i] = str[i];
++    }
++    if (str[i] == '\0') {
++      length = i;
++      break;
++    }
++  }
++  ASSERT(length < 256);
++  StringToDoubleConverter converter(flags, empty_string_value, Double::NaN(),
++                                    NULL, NULL, separator);
++  double result =
++      converter.StringToDouble(str16, length, processed_characters_count);
++  *processed_all = (length == *processed_characters_count);
++  return result;
++}
++
++
+ static double StrToD(const char* str, int flags, double empty_string_value,
+                      int* processed_characters_count, bool* processed_all,
+                      uc16 separator = StringToDoubleConverter::kNoSeparator) {
+@@ -3203,7 +3230,7 @@ TEST(StringToDoubleSeparator) {
+   int flags;
+   int processed;
+   bool all_used;
+-  char separator;
++  uc16 separator;
+ 
+   separator = '\'';
+   flags = StringToDoubleConverter::NO_FLAGS;
+@@ -3514,6 +3541,71 @@ TEST(StringToDoubleSeparator) {
+   CHECK_EQ(Double::NaN(),
+            StrToD("0x0 3.p -0", flags, 0.0, &processed, &all_used));
+   CHECK_EQ(0, processed);
++
++  separator = 0x202F;
++  char char_separator = '@';
++  flags = StringToDoubleConverter::ALLOW_HEX |
++      StringToDoubleConverter::ALLOW_HEX_FLOATS |
++      StringToDoubleConverter::ALLOW_LEADING_SPACES |
++      StringToDoubleConverter::ALLOW_TRAILING_SPACES;
++
++  CHECK_EQ(18.0,
++           StrToD16("0x1@2", flags, 0.0, &processed, &all_used,
++                    char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(0.0, StrToD16("0x0@0", flags, 1.0, &processed, &all_used,
++                         char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(static_cast<double>(0x123456789),
++           StrToD16("0x1@2@3@4@5@6@7@8@9", flags, Double::NaN(),
++                    &processed, &all_used, char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(18.0, StrToD16(" 0x1@2 ", flags, 0.0,
++                          &processed, &all_used, char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(static_cast<double>(0xabcdef),
++           StrToD16("0xa@b@c@d@e@f", flags, 0.0,
++                    &processed, &all_used, char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(Double::NaN(),
++           StrToD16("0x@1@2", flags, 0.0,
++                    &processed, &all_used, char_separator, separator));
++  CHECK_EQ(0, processed);
++
++  CHECK_EQ(Double::NaN(),
++           StrToD16("0@x0", flags, 1.0,
++                    &processed, &all_used, char_separator, separator));
++  CHECK_EQ(0, processed);
++
++  CHECK_EQ(Double::NaN(),
++           StrToD16("0x1@2@@3@4@5@6@7@8@9", flags, Double::NaN(),
++                  &processed, &all_used, char_separator, separator));
++  CHECK_EQ(0, processed);
++
++  CHECK_EQ(3.0,
++           StrToD16("0x0@3p0", flags, 0.0, &processed, &all_used,
++                    char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(0.0,
++           StrToD16("0x.0@0p0", flags, 0.0, &processed, &all_used,
++                    char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(3.0,
++           StrToD16("0x3.0@0p0", flags, 0.0, &processed, &all_used,
++                    char_separator, separator));
++  CHECK(all_used);
++
++  CHECK_EQ(3.0,
++           StrToD16("0x0@23.p0", flags, 0.0, &processed, &all_used,
++                    char_separator, separator));
++  CHECK(all_used);
+ }
+ 
+ TEST(StringToDoubleSpecialValues) {
diff -Nru double-conversion-3.1.0/debian/patches/series double-conversion-3.1.0/debian/patches/series
--- double-conversion-3.1.0/debian/patches/series	2018-09-20 05:41:28.000000000 +0000
+++ double-conversion-3.1.0/debian/patches/series	2019-03-07 14:06:29.000000000 +0000
@@ -1 +1,3 @@
 fix_m68k.patch
+8751aafe993c4ec429ba172916596403a336d502.diff
+860b43156c1ba436aba9792407429bf46b9780a0.diff

--- End Message ---
--- Begin Message ---
On Thu, Mar 07, 2019 at 02:27:04PM +0000, Mo Zhou wrote:
> I've cherry-picked upstream commits to fix an upstream bug:
> https://github.com/google/double-conversion/issues/89
> That's all changes from 3.1.0-2 (testing) to 3.1.0-3.
> The -3 revision will land on unstable shortly.
> debdiff attached.

Unblocked; thanks.


-- 
Jonathan Wiltshire                                      jmw@debian.org
Debian Developer                         http://people.debian.org/~jmw

4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC  74C3 5394 479D D352 4C51

--- End Message ---

Reply to: