#144 Fix for tzdata-2022g.
Merged a year ago by jaruga. Opened a year ago by vondruch.
rpms/ vondruch/ruby tzdata2022g  into  rawhide

@@ -0,0 +1,70 @@ 

+ From a1124dc162810f86cb0bff58cde24064cfc561bc Mon Sep 17 00:00:00 2001

+ From: nagachika <nagachika@ruby-lang.org>

+ Date: Fri, 9 Dec 2022 21:11:47 +0900

+ Subject: [PATCH] merge revision(s) 58cc3c9f387dcf8f820b43e043b540fa06248da3:

+  [Backport #19187]

+ 

+ 	[Bug #19187] Fix for tzdata-2022g

+ 

+ 	---

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

+ 	 1 file changed, 15 insertions(+), 6 deletions(-)

+ ---

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

+  1 files changed, 15 insertions(+), 6 deletions(-)

+ 

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

+ index b6785f336028d..939f218ed4d10 100644

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

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

+ @@ -7,9 +7,9 @@ class TestTimeTZ < Test::Unit::TestCase

+    has_lisbon_tz = true

+    force_tz_test = ENV["RUBY_FORCE_TIME_TZ_TEST"] == "yes"

+    case RUBY_PLATFORM

+ -  when /linux/

+ +  when /darwin|linux/

+      force_tz_test = true

+ -  when /darwin|freebsd|openbsd/

+ +  when /freebsd|openbsd/

+      has_lisbon_tz = false

+      force_tz_test = true

+    end

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

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

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

+    }

+ +  CORRECT_SINGAPORE_1982 = with_tz("Asia/Singapore") {

+ +    "2022g" if Time.local(1981, 12, 31, 23, 59, 59).utc_offset == 8*3600

+ +  }

+  

+    def time_to_s(t)

+      t.to_s

+ @@ -140,9 +143,12 @@ def test_america_managua

+  

+    def test_asia_singapore

+      with_tz(tz="Asia/Singapore") {

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

+ -      assert_time_constructor(tz, "1982-01-01 00:30:00 +0800", :local, [1982,1,1,0,0,0])

+ -      assert_time_constructor(tz, "1982-01-01 00:59:59 +0800", :local, [1982,1,1,0,29,59])

+ +      assert_time_constructor(tz, "1981-12-31 23:29:59 +0730", :local, [1981,12,31,23,29,59])

+ +      if CORRECT_SINGAPORE_1982

+ +        assert_time_constructor(tz, "1982-01-01 00:00:00 +0800", :local, [1981,12,31,23,30,00])

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

+ +        assert_time_constructor(tz, "1982-01-01 00:29:59 +0800", :local, [1982,1,1,0,29,59])

+ +      end

+        assert_time_constructor(tz, "1982-01-01 00:30:00 +0800", :local, [1982,1,1,0,30,0])

+      }

+    end

+ @@ -450,8 +456,11 @@ def self.gen_zdump_test(data)

+  America/Managua  Wed Jan  1 04:59:59 1997 UTC = Tue Dec 31 23:59:59 1996 EST isdst=0 gmtoff=-18000

+  America/Managua  Wed Jan  1 05:00:00 1997 UTC = Tue Dec 31 23:00:00 1996 CST isdst=0 gmtoff=-21600

+  Asia/Singapore  Sun Aug  8 16:30:00 1965 UTC = Mon Aug  9 00:00:00 1965 SGT isdst=0 gmtoff=27000

+ -Asia/Singapore  Thu Dec 31 16:29:59 1981 UTC = Thu Dec 31 23:59:59 1981 SGT isdst=0 gmtoff=27000

+ +Asia/Singapore  Thu Dec 31 15:59:59 1981 UTC = Thu Dec 31 23:29:59 1981 SGT isdst=0 gmtoff=27000

+  Asia/Singapore  Thu Dec 31 16:30:00 1981 UTC = Fri Jan  1 00:30:00 1982 SGT isdst=0 gmtoff=28800

+ +End

+ +  gen_zdump_test <<'End' if CORRECT_SINGAPORE_1982

+ +Asia/Singapore  Thu Dec 31 16:00:00 1981 UTC = Fri Jan  1 00:00:00 1982 SGT isdst=0 gmtoff=28800

+  End

+    gen_zdump_test CORRECT_TOKYO_DST_1951 ? <<'End' + (CORRECT_TOKYO_DST_1951 < "2018f" ? <<'2018e' : <<'2018f') : <<'End'

+  Asia/Tokyo  Sat May  5 14:59:59 1951 UTC = Sat May  5 23:59:59 1951 JST isdst=0 gmtoff=32400

file modified
+9 -1
@@ -22,7 +22,7 @@ 

  %endif

  

  

- %global release 173

+ %global release 174

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

  

  # The RubyGems library has to stay out of Ruby directory tree, since the
@@ -197,6 +197,10 @@ 

  # https://github.com/ruby/cgi/pull/29

  # https://github.com/ruby/ruby/commit/745dcf5326ea2c8e2047a3bddeb0fbb7e7d07649

  Patch30: ruby-3.2.0-ruby-cgi-Loosen-the-domain-regex-to-accept.patch

+ # Fix Time Zone Database 2022g.

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

+ # https://github.com/ruby/ruby/commit/a1124dc162810f86cb0bff58cde24064cfc561bc

+ Patch31: ruby-3.1.3-Fix-for-tzdata-2022g.patch

  

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

  Suggests: rubypick
@@ -670,6 +674,7 @@ 

  %patch28 -p1

  %patch29 -p1

  %patch30 -p1

+ %patch31 -p1

  

  # Provide an example of usage of the tapset:

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

  

  

  %changelog

+ * Wed Dec 21 2022 Vít Ondruch <vondruch@redhat.com> - 3.1.3-174

+ - Fix for tzdata-2022g.

+ 

  * Thu Dec 08 2022 Vít Ondruch <vondruch@redhat.com> - 3.1.3-173

  - Disable MJIT test cases on i686 due to issues with PCH.

  - Fix CGI causing issue with leading '.' in domain names.

Fix FTBFS due to tzdata 2022g:

  1) Failure:
TestTimeTZ#test_asia_singapore [/builddir/build/BUILD/ruby-3.1.3/test/ruby/test_time_tz.rb:143]:
TZ=Asia/Singapore Time.local(1981, 12, 31, 23, 59, 59).
<"1981-12-31 23:59:59 +0730"> expected but was
<"1982-01-01 00:29:59 +0800">.
  2) Failure:
TestTimeTZ#test_gen_Asia_Singapore_45 [/builddir/build/BUILD/ruby-3.1.3/test/ruby/test_time_tz.rb:400]:
TZ=Asia/Singapore Time.local(1981, 12, 31, 23, 59, 59).
<"1981-12-31 23:59:59 +0730"> expected but was
<"1982-01-01 00:29:59 +0800">.
  3) Failure:
TestTimeTZ#test_gen_Asia_Singapore_22 [/builddir/build/BUILD/ruby-3.1.3/test/ruby/test_time_tz.rb:382]:
TZ=Asia/Singapore Time.utc(1981, 12, 31, 16, 29, 59).localtime.
<"1981-12-31 23:59:59 +0730"> expected but was
<"1982-01-01 00:29:59 +0800">.
Finished tests in 835.761757s, 25.8866 tests/s, 3296.5507 assertions/s.
21635 tests, 2755131 assertions, 3 failures, 0 errors, 65 skips
ruby -v: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
make: *** [uncommon.mk:830: yes-test-all] Error 3

@jaruga feel free to take it over from here, or I'll finish this tomorrow. Gotta go now.

BTW all versions of Fedora are broken, so if you have cycles, PTAL also on fixes for older branches.

Build succeeded.

@jaruga feel free to take it over from here, or I'll finish this tomorrow. Gotta go now.

BTW all versions of Fedora are broken, so if you have cycles, PTAL also on fixes for older branches.

This PR looks good to me. No Hunk by the new patch, and the scratch build works. I am going to merge this PR, and build it. I can work for all versions of the Fedora after I see the PR will be merged.

Pull-Request has been merged by jaruga

a year ago