On Sat, Sep 23, 2023 at 7:50 PM Mamoru TASAKA <mtasaka(a)fedoraproject.org> wrote:
Hello, ruby-sig folks:
From devel list:
Zbigniew Jędrzejewski-Szmek wrote on 2023/09/22 23:01:
> On Fri, Sep 22, 2023 at 10:43:05AM +0200, Vít Ondruch wrote:
>>
https://bugzilla.redhat.com/show_bug.cgi?id=2233281#c3
>>
>> This probably answers my question. So heads up to others.
>>
>> Dne 22. 09. 23 v 10:39 Vít Ondruch napsal(a):
>>> Was this implemented in past days? I am asking because this FTBFS
>>> suggest so:
>>>
>>>
https://koschei.fedoraproject.org/package/rubygem-timecop?collection=f40
>
> Yes. The change was done in rawhide a while ago, but it got pushed to F39
> only recently, see
https://bugzilla.redhat.com/show_bug.cgi?id=2233281#c3.
>
> Zbyszek
Now again I tried rebuilding all rubygem- packages, and
now due to this tzdata removal changes, the following packages
are now additionally FTBFS:
rubygem-activemodel-serializers-xml
rubygem-globalid
rubygem-haml
rubygem-importmap-rails
rubygem-jekyll
rubygem-rails-controller-testing
rubygem-sassc-rails
rubygem-slim
rubygem-sprockets-rails
rubygem-timecop
rubygem-web-console
And all of these seems like:
/usr/share/gems/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/zoneinfo_data_source.rb:252:in
`initialize': None of the paths included in
TZInfo::DataSources::ZoneinfoDataSource.search_path are valid zoneinfo directories.
(TZInfo::DataSources::ZoneinfoDirectoryNotFound)
from /usr/share/gems/gems/tzinfo-2.0.6/lib/tzinfo/data_source.rb:157:in
`new'
from /usr/share/gems/gems/tzinfo-2.0.6/lib/tzinfo/data_source.rb:157:in
`create_default_data_source'
from /usr/share/gems/gems/tzinfo-2.0.6/lib/tzinfo/data_source.rb:55:in `block in
get'
from /usr/share/gems/gems/tzinfo-2.0.6/lib/tzinfo/data_source.rb:54:in
`synchronize'
from /usr/share/gems/gems/tzinfo-2.0.6/lib/tzinfo/data_source.rb:54:in `get'
from /usr/share/gems/gems/activesupport-7.0.8/lib/active_support/railtie.rb:88:in
`block in <class:Railtie>'
from /usr/share/gems/gems/railties-7.0.8/lib/rails/initializable.rb:32:in
`instance_exec'
from /usr/share/gems/gems/railties-7.0.8/lib/rails/initializable.rb:32:in
`run'
from /usr/share/gems/gems/railties-7.0.8/lib/rails/initializable.rb:61:in `block
in run_initializers'
from /usr/share/ruby/tsort.rb:231:in `block in tsort_each'
from /usr/share/ruby/tsort.rb:353:in `block (2 levels) in
each_strongly_connected_component'
from /usr/share/ruby/tsort.rb:434:in
`each_strongly_connected_component_from'
from /usr/share/ruby/tsort.rb:352:in `block in
each_strongly_connected_component'
from /usr/share/ruby/tsort.rb:350:in `each'
from /usr/share/ruby/tsort.rb:350:in `call'
from /usr/share/ruby/tsort.rb:350:in `each_strongly_connected_component'
from /usr/share/ruby/tsort.rb:229:in `tsort_each'
from /usr/share/ruby/tsort.rb:208:in `tsort_each'
from /usr/share/gems/gems/railties-7.0.8/lib/rails/initializable.rb:60:in
`run_initializers'
from /usr/share/gems/gems/railties-7.0.8/lib/rails/application.rb:372:in
`initialize!'
.....
So initializer of rails tries to initialize tzdata, and if it is not found exception is
raised:
The related code is:
https://github.com/rails/rails/blob/fc734f28e65ef8829a1a939ee6702c1f349a1...
So what is the proper fix for this?
A. Make every package above have "BuildRequires: tzdata"
B. Make rubygem-tzinfo or rubygem-activesupport have "Requires (not Recommends)
tzdata"
C. Or ask rubygem-activesupport upstream to make the code work even if tzdata is absent
My current thought is that as currently RoR code explicitly requests to have tzdata
installed,
B. is the best option.
I agree that Option B is the best option.
--
真実はいつも一つ!/ Always, there's only one truth!