Bug 2120354 - Ruby started to fail with tzdata-2022b-1.fc38
Summary: Ruby started to fail with tzdata-2022b-1.fc38
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: ruby
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jun Aruga
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2118259
Blocks: 2119816
TreeView+ depends on / blocked
 
Reported: 2022-08-22 16:38 UTC by Vít Ondruch
Modified: 2022-09-24 01:31 UTC (History)
8 users (show)

Fixed In Version: ruby-3.1.2-168.fc38 ruby-3.1.2-169.fc37 ruby-3.1.2-169.fc36
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 2118259
Environment:
Last Closed: 2022-09-01 20:27:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Vít Ondruch 2022-08-22 16:38:09 UTC
+++ This bug was initially created as a clone of Bug #2118259 +++

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

--- Additional comment from Patsy Griffin on 2022-08-15 16:53:18 CEST ---



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."

--- Additional comment from Patsy Griffin on 2022-08-15 23:21:22 CEST ---


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.

--- Additional comment from Vít Ondruch on 2022-08-16 10:13:38 CEST ---

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.

Comment 1 Jun Aruga 2022-08-23 16:34:13 UTC
I investigated this issue and suggested a patch to pass the failing tests here.
https://github.com/ruby/spec/issues/936#issuecomment-1224310878

Comment 2 Jun Aruga 2022-08-24 14:06:07 UTC
Pushed the commit to pass tests with the tzdata version 2022b or later.
https://src.fedoraproject.org/rpms/ruby/pull-request/129

However we still don't build the new rpms/ruby yet, as we want to include other fixes. And there is another FTBFS related to SHA-1 on rawhide now.

Comment 3 Fedora Update System 2022-09-01 20:23:26 UTC
FEDORA-2022-7b269a84e6 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2022-7b269a84e6

Comment 4 Fedora Update System 2022-09-01 20:27:34 UTC
FEDORA-2022-7b269a84e6 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 5 Fedora Update System 2022-09-06 14:55:32 UTC
FEDORA-2022-53358fd5c8 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-53358fd5c8

Comment 6 Fedora Update System 2022-09-06 20:30:34 UTC
FEDORA-2022-53358fd5c8 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-53358fd5c8`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-53358fd5c8

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2022-09-14 00:20:05 UTC
FEDORA-2022-53358fd5c8 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2022-09-15 22:07:25 UTC
FEDORA-2022-9f08ba013b has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-9f08ba013b

Comment 9 Fedora Update System 2022-09-16 02:41:34 UTC
FEDORA-2022-9f08ba013b has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-9f08ba013b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-9f08ba013b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2022-09-24 01:31:58 UTC
FEDORA-2022-9f08ba013b has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.