#30 Update to Ruby 2.4.5. (f27)
Merged 5 years ago by jaruga. Opened 5 years ago by jaruga.
Unknown source feature/f27-update-to-2.4.5  into  f27

@@ -11,7 +11,7 @@

  index 682eb46..e6b1445 100644

  --- a/lib/mkmf.rb

  +++ b/lib/mkmf.rb

- @@ -1897,7 +1897,7 @@ def configuration(srcdir)

+ @@ -1898,7 +1898,7 @@ def configuration(srcdir)

   SHELL = /bin/sh

   

   # V=0 quiet, V=1 verbose.  other values don't work.

@@ -1,115 +0,0 @@

- From 584b5929f9b769c4d0b03e322a9fddf2b2dd3454 Mon Sep 17 00:00:00 2001

- From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Sun, 1 Apr 2018 13:02:11 +0000

- Subject: [PATCH] test_time_tz.rb: Kiritimati tzdata fix

- 

- * test/ruby/test_time_tz.rb (gen_zdump_test): fix the expected

-   data at the Kiritimati's skip of New Year's Eve 1994.

-   [Bug #14655]

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  test/ruby/test_time_tz.rb | 9 +++++++++

-  1 file changed, 9 insertions(+)

- 

- diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb

- index dfe139033ed3..ac5f81892878 100644

- --- a/test/ruby/test_time_tz.rb

- +++ b/test/ruby/test_time_tz.rb

- @@ -364,9 +364,18 @@ def self.gen_zdump_test(data)

-  Europe/London  Sun Aug 10 01:00:00 1947 UTC = Sun Aug 10 02:00:00 1947 BST isdst=1 gmtoff=3600

-  Europe/London  Sun Nov  2 01:59:59 1947 UTC = Sun Nov  2 02:59:59 1947 BST isdst=1 gmtoff=3600

-  Europe/London  Sun Nov  2 02:00:00 1947 UTC = Sun Nov  2 02:00:00 1947 GMT isdst=0 gmtoff=0

- +End

- +  if CORRECT_KIRITIMATI_SKIP_1994

- +    gen_zdump_test <<'End'

- +Pacific/Kiritimati  Sat Dec 31 09:59:59 1994 UTC = Fri Dec 30 23:59:59 1994 LINT isdst=0 gmtoff=-36000

- +Pacific/Kiritimati  Sat Dec 31 10:00:00 1994 UTC = Sun Jan  1 00:00:00 1995 LINT isdst=0 gmtoff=50400

- +End

- +  else

- +    gen_zdump_test <<'End'

-  Pacific/Kiritimati  Sun Jan  1 09:59:59 1995 UTC = Sat Dec 31 23:59:59 1994 LINT isdst=0 gmtoff=-36000

-  Pacific/Kiritimati  Sun Jan  1 10:00:00 1995 UTC = Mon Jan  2 00:00:00 1995 LINT isdst=0 gmtoff=50400

-  End

- +  end

-    gen_zdump_test <<'End' if has_right_tz

-  right/America/Los_Angeles  Fri Jun 30 23:59:60 1972 UTC = Fri Jun 30 16:59:60 1972 PDT isdst=1 gmtoff=-25200

-  right/America/Los_Angeles  Wed Dec 31 23:59:60 2008 UTC = Wed Dec 31 15:59:60 2008 PST isdst=0 gmtoff=-28800

- --

- 

- From 2965c2d4df78e6f5acf8759f84c88ce14a4e70f1 Mon Sep 17 00:00:00 2001

- From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Sun, 1 Apr 2018 02:00:36 +0000

- Subject: [PATCH] test_time_tz.rb: Kiritimati tzdata fix

- 

- * test/ruby/test_time_tz.rb (TestTimeTZ#test_pacific_kiritimati):

-   fix the expected data at the skip of New Year's Eve 1994.

-   [Bug #14655]

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  test/ruby/test_time_tz.rb | 17 ++++++++++++++---

-  1 file changed, 14 insertions(+), 3 deletions(-)

- 

- diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb

- index 39b830d28a3d..dfe139033ed3 100644

- --- a/test/ruby/test_time_tz.rb

- +++ b/test/ruby/test_time_tz.rb

- @@ -89,6 +89,9 @@ def group_by(e, &block)

-        Time.local(1951, 5, 6, 1, 0, 0).dst?   # DST with fixed tzdata

-      end

-    }

- +  CORRECT_KIRITIMATI_SKIP_1994 = with_tz("Pacific/Kiritimati") {

- +    Time.local(1994, 12, 31, 0, 0, 0).year == 1995

- +  }

-  

-    def time_to_s(t)

-      t.to_s

- @@ -178,9 +181,17 @@ def test_europe_lisbon

-  

-    def test_pacific_kiritimati

-      with_tz(tz="Pacific/Kiritimati") {

- -      assert_time_constructor(tz, "1994-12-31 23:59:59 -1000", :local, [1994,12,31,23,59,59])

- -      assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,1,0,0,0])

- -      assert_time_constructor(tz, "1995-01-02 23:59:59 +1400", :local, [1995,1,1,23,59,59])

- +      assert_time_constructor(tz, "1994-12-30 00:00:00 -1000", :local, [1994,12,30,0,0,0])

- +      assert_time_constructor(tz, "1994-12-30 23:59:59 -1000", :local, [1994,12,30,23,59,59])

- +      if CORRECT_KIRITIMATI_SKIP_1994

- +        assert_time_constructor(tz, "1995-01-01 00:00:00 +1400", :local, [1994,12,31,0,0,0])

- +        assert_time_constructor(tz, "1995-01-01 23:59:59 +1400", :local, [1994,12,31,23,59,59])

- +        assert_time_constructor(tz, "1995-01-01 00:00:00 +1400", :local, [1995,1,1,0,0,0])

- +      else

- +        assert_time_constructor(tz, "1994-12-31 23:59:59 -1000", :local, [1994,12,31,23,59,59])

- +        assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,1,0,0,0])

- +        assert_time_constructor(tz, "1995-01-02 23:59:59 +1400", :local, [1995,1,1,23,59,59])

- +      end

-        assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,2,0,0,0])

-      }

-    end

- --

- 

- From a0e6607a8172f9eaf9a15f03065736deb2035771 Mon Sep 17 00:00:00 2001

- From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Sun, 1 Apr 2018 13:16:14 +0000

- Subject: [PATCH] test_time_tz.rb: Lisbon tzdata fix

- 

- * test/ruby/test_time_tz.rb (gen_variational_zdump_test): Update

-   Lisbon zdump data, which fixed the 1912-01-01 transition for

-   Portugual and its colonies.  [Bug #14655]

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  test/ruby/test_time_tz.rb | 1 +

-  1 file changed, 1 insertion(+)

- 

- diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb

- index ac5f81892878..b32caff9c539 100644

- --- a/test/ruby/test_time_tz.rb

- +++ b/test/ruby/test_time_tz.rb

- @@ -434,5 +434,6 @@ def self.gen_variational_zdump_test(hint, data)

-    gen_variational_zdump_test "lisbon", <<'End' if has_lisbon_tz

-  Europe/Lisbon  Mon Jan  1 00:36:31 1912 UTC = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2192

-  Europe/Lisbon  Mon Jan  1 00:36:44 1912 UT = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2205

- +Europe/Lisbon  Sun Dec 31 23:59:59 1911 UT = Sun Dec 31 23:23:14 1911 LMT isdst=0 gmtoff=-2205

-  End

-  end

@@ -0,0 +1,24 @@

+ diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb

+ index dc99a8c463..30984bc26a 100644

+ --- a/test/ruby/test_io.rb

+ +++ b/test/ruby/test_io.rb

+ @@ -3551,7 +3551,7 @@ def test_write_no_garbage

+    end

+  

+    def test_select_leak

+ -    assert_no_memory_leak([], <<-"end;", <<-"end;", rss: true, timeout: 60)

+ +    assert_no_memory_leak([], <<-"end;", <<-"end;", rss: true, timeout: 240)

+        r, w = IO.pipe

+        rset = [r]

+        wset = [w]

+ @@ -3562,6 +3562,7 @@ def test_select_leak

+          Thread.pass until th.stop?

+          th.kill

+          th.join

+ +        GC.start

+        end

+      end;

+    end

+ -- 

+ 2.17.1

+ 

file modified
+11 -8
@@ -1,6 +1,6 @@

  %global major_version 2

  %global minor_version 4

- %global teeny_version 4

+ %global teeny_version 5

  %global major_minor_version %{major_version}.%{minor_version}

  

  %global ruby_version %{major_minor_version}.%{teeny_version}
@@ -21,7 +21,7 @@

  %endif

  

  

- %global release 89

+ %global release 90

  %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}

  

  # The RubyGems library has to stay out of Ruby directory three, since the
@@ -29,7 +29,7 @@

  %global rubygems_dir %{_datadir}/rubygems

  

  # Bundled libraries versions

- %global rubygems_version 2.6.14.1

+ %global rubygems_version 2.6.14.3

  %global molinillo_version 0.5.7

  

  # TODO: The IRB has strange versioning. Keep the Ruby's versioning ATM.
@@ -42,7 +42,7 @@

  %global json_version 2.0.4

  %global minitest_version 5.10.1

  %global net_telnet_version 0.1.1

- %global openssl_version 2.0.7

+ %global openssl_version 2.0.9

  %global power_assert_version 0.4.1

  %global psych_version 2.2.2

  %global rake_version 12.0.0
@@ -131,9 +131,9 @@

  # https://bugzilla.redhat.com/show_bug.cgi?id=1528226

  # https://github.com/ruby/ruby/commit/e7464561b5151501beb356fc750d5dd1a88014f7

  Patch10: ruby-2.4.3-Fix-Command-injection-in-lib-resolv-lazy_initialize.patch

- # TestTimeTZ test failures Kiritimati and Lisbon

- # https://bugs.ruby-lang.org/issues/14655

- Patch13: ruby-2.5.1-TestTimeTZ-test-failures-Kiritimati-and-Lisbon.patch

+ # Fix ruby-test_io.rb#test_select_leak

+ # https://bugs.ruby-lang.org/issues/14929

+ Patch11: ruby-2.5.2-ruby-test_io-test_select_leak.patch

  

  Requires: %{name}-libs%{?_isa} = %{version}-%{release}

  Suggests: rubypick
@@ -515,7 +515,7 @@

  %patch7 -p1

  %patch9 -p1

  %patch10 -p1

- %patch13 -p1

+ %patch11 -p1

  

  # Provide an example of usage of the tapset:

  cp -a %{SOURCE3} .
@@ -1029,6 +1029,9 @@

  %{gem_dir}/specifications/xmlrpc-%{xmlrpc_version}.gemspec

  

  %changelog

+ * Fri Oct 26 2018 Jun Aruga <jaruga@redhat.com> - 2.4.5-90

+ - Update to Ruby 2.4.5.

+ 

  * Thu May 10 2018 Pavel Valena <pvalena@redhat.com> - 2.4.4-89

  - Add macros to edit files lists in .gemspec

    (gemspec_add_file and gemspec_remove_file).

file modified
+1 -1
@@ -1,1 +1,1 @@

- SHA512 (ruby-2.4.4.tar.xz) = 4dc112a149273d4221484ccbf1260c6c5fcad7e0a6e4bc91e4ef69cbc093d3191f7abd71420f80d680f8ea5d111e6803ba2af32166aa501913639e6d5696fde0

+ SHA512 (ruby-2.4.5.tar.xz) = 658f676c623109f4c7499615e191c98c3dd72cfcaeeaf121337d0b8a33c5243145edd50ec5e2775f988e3cd19788984f105fa165e3049779066566f67172c1b4

Ruby 2.4.5 was released.
https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-4-5-released/
rubygems version 2.6.14.1 is changed to 2.6.14.3
ruby/openssl version 2.0.7 is changed to 2.0.9

I added a replacement logic to change the limit time from 2 sec to 3 sec (maybe), to fix a test failure.

I got below error 2 times, when running the test on my mock environment 2 times.

1st try

  1) Failure:
TestIO#test_select_leak [/builddir/build/BUILD/ruby-2.4.5/test/ruby/test_io.rb:3554]:
rss: 5472256 => 11116544.
Expected 2.031437125748503 to be < 2.0.

2nd try

  1) Failure:
TestIO#test_select_leak [/builddir/build/BUILD/ruby-2.4.5/test/ruby/test_io.rb:3554]:
rss: 5455872 => 11694080.
Expected 2.1433933933933935 to be < 2.0.

I am not really excited to see this modification. I see two options here:

1) If it fails just once in a while, I would suggest to just let it fail from time to time.
2) If it fails more then every other build, then I would like to see the upstream fix for this. Actually, the latest version of the test case appears to be modified to be less problematic [1, 2].

rebased onto 6b2b4d0ecf9ceaacfaa23a0fcf4176832679e6be

5 years ago

2) If it fails more then every other build, then I would like to see the upstream fix for this. Actually, the latest version of the test case appears to be modified to be less problematic [1, 2].

it is always failed. So, I would use "2).
But I merged ruby_2_5 branch not trunk branch, as the commits are not only the 2 commits. I also reported to do backport it.
https://bugs.ruby-lang.org/issues/14929#note-4

Scratch build: ok
https://koji.fedoraproject.org/koji/taskinfo?taskID=30834685

Could you review agian?

rebased onto ce4aef3

5 years ago

Pull-Request has been merged by jaruga

5 years ago