Description of problem: Ruby build started to fail recently [1] with following errors: ~~~ 1) Time.local timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam' FAILED Expected [0, 0, 0, 16, 5, 1940, 4, 137, true, "WEST"] == [0, 40, 1, 16, 5, 1940, 4, 137, true, "CEST"] to be truthy but was false /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:13:in `block (5 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:12:in `block (4 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/local_spec.rb:5:in `<top (required)>' 2) Time.mktime timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam' FAILED Expected [0, 0, 0, 16, 5, 1940, 4, 137, true, "WEST"] == [0, 40, 1, 16, 5, 1940, 4, 137, true, "CEST"] to be truthy but was false /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:13:in `block (5 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:12:in `block (4 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/mktime_spec.rb:5:in `<top (required)>' 3) Time.new timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam' FAILED Expected [0, 0, 0, 16, 5, 1940, 4, 137, true, "WEST"] == [0, 40, 1, 16, 5, 1940, 4, 137, true, "CEST"] to be truthy but was false /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:13:in `block (5 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:12:in `block (4 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/new_spec.rb:11:in `<top (required)>' Finished in 73.148502 seconds 3817 files, 30898 examples, 133657 expectations, 3 failures, 0 errors, 0 tagged ~~~ From the dependency changes, the most probable cause is the change of tzdata from 2022a-4.fc37 to 2022b-1.fc38. Any clue what changed? Version-Release number of selected component (if applicable): tzdata-2022b-1.fc38 How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Several Ruby test cases fails. Expected results: Ruby test suite keeps working. Additional info: This is the test source: https://github.com/ruby/spec/blob/8059e5955fc92fc28cd12910c9f371361e7170e8/core/time/shared/local.rb#L10-L17 The "Time.local timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam'" test case should be reproducible with something like: ~~~ $ ruby -e "p Time.local(1940, 5, 16).to_a" [0, 0, 0, 16, 5, 1940, 4, 137, true, "CEST"] ~~~ [1] https://koschei.fedoraproject.org/build/13524242
Thank you for reporting this! I'm sorry to hear that this is impacting your package. If you review the NEWS file for this update, you will see that the upstream project has continued their effort to move zones that are the same since 1970 to backzone: From the upstream NEWS file: "Finish moving to 'backzone' the location-based zones whose timestamps since 1970 are duplicates; adjust links accordingly. This change ordinarily affects only pre-1970 timestamps, and with the new PACKRATLIST option it does not affect any timestamps. In this round the affected zones are Antarctica/Vostok, Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake and Pacific/Wallis, and the affected links are Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape, Pacific/Truk, and Pacific/Yap."
Just for clarity, this is expected per the upstream changes. Please update the ruby test suite to match the changed timezone data. Any pre-1970 timestamps used in testsuites may need adjusting. Again, I apologize that this is impacting your package.
Thx for explanation, although I don't really have a clue what does it mean except that this is expected ;) Nevertheless I have reported this against upstream.
FWIW, OpenJDK are still considering how to adapt (or not) to these changes: https://bugs.openjdk.org/browse/JDK-8292223 Should OpenJDK got the way of using PACKRATDATA=backzone PACKRATLIST=zone.tab or Stephen's globaltz (https://github.com/JodaOrg/global-tz) we may have to make changes to the RHEL tzdata package in a similar way, at least for the files that are fed to the Java compiler there.
We currently build the java portion of tzdata with rearguard. If you need additional modification for the java files, I'm open to discussing them.