----- Original Message -----
Sent: Wednesday, December 23, 2020 11:47:24 AM
Subject: Re: Ruby 3.0
Dne 23. 12. 20 v 11:06 Pavel Valena napsal(a):
> ----- Original Message -----
>> From: "Vít Ondruch" <vondruch(a)redhat.com>
>> To: ruby-sig(a)lists.fedoraproject.org
>> Sent: Tuesday, December 22, 2020 1:16:12 PM
>> Subject: Re: Ruby 3.0
>>
>> Hi everybody,
>>
>> Here is another snapshot build:
>>
>>
https://koji.fedoraproject.org/koji/taskinfo?taskID=58026964
> Hello,
>
> TL;DR: Build failures occuring with Ruby 3.0.
> Important: please check the end of my email, even if your package does not
> fail.
Nice, thx a lot!
>
> I've rebuilt ruby in my COPR, and with it the rubygem packages. I've
> analyzed changes needed / builds failing, as follows.
> I've focused on packages, which depend on ruby-devel, and also some
> additional failures detected while doing mass test-rebuilds. Sucessful
> rebuilds are not mentioned.
>
> You can look up the package build in pvalena/rubygems-testing COPR, f.e.
> for eventmachine:
>
https://copr.fedorainfracloud.org/coprs/pvalena/rubygems-testing/package/...
>
>
> This error message (in tests):
> ```
> <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require': /usr/lib64/gems/ruby/glib2-3.4.3/glib2.so: undefined symbol:
> rb_cData - /usr/lib64/gems/ruby/glib2-3.4.3/glib2.so (LoadError)
> from
>
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from /usr/share/gems/gems/glib2-3.4.3/lib/glib2.rb:117:in `<top
> (required)>'
> from
>
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
>
/usr/share/gems/gems/gobject-introspection-3.4.3/lib/gobject-introspection.rb:17:in
> `<top (required)>'
> ```
> rubygem-atk
> rubygem-gio2
> rubygem-gobject-introspection
> rubygem-gstreamer
>
>
> Bootstrapping needed (I didn't have time to resolve the bootstrap for my
> test repo):
> rubygem-cairo
> rubygem-cairo-gobject
> rubygem-gdk3
> rubygem-pango
> rubygem-poppler
> rubygem-gdk_pixbuf2
> rubygem-goocanvas1
> rubygem-goocanvas
> rubygem-gtk2
> rubygem-gtk3
> rubygem-gtksourceview2
> rubygem-gtksourceview3
> rubygem-rsvg2
> rubygem-vte3
> rubygem-vte
>
>
> Webrick needed (new package in review):
> rubygem-ethon
> rubygem-curb
> rubygem-httpclient
> rubygem-typhoeus
> rubygem-rack
> rubygem-jekyll
> rubygem-excon
> rubygem-rubygems-mirror
> rubygem-mechanize
> rubygem-yard
>
>
> Test failure (inspection needed):
> rubygem-eventmachine
> rubygem-mysql2
>
> ```
> NoMethodError: undefined method `encode' for URI:Module
> │
> ```
> rubygem-sup
>
>
> ```
> Error: test_range(Func): FrozenError: can't modify frozen Range: 0..0
> ```
> rubygem-ox
>
>
> gem build issues (with extension):
> rubygem-posix-spawn
> rubygem-syck
>
>
> ```
> TypeError: no implicit conversion of Hash into Integer
> ```
> rubygem-raindrops
>
>
>
https://src.fedoraproject.org/rpms/rubygem-ruby-libvirt/pull-request/2
> rubygem-ruby-libvirt
>
>
> ```
> LoadError: cannot load such file -- rexml/
> ```
> rubygem-webrobots
> rubygem-selenium-webdriver
> rubygem-faraday
> rubygem-rest-client
> rubygem-mini_magick
> rubygem-webmock
> rubygem-crack
> rubygem-activesupport
> rubygem-cucumber-core
> rubygem-maruku
> rubygem-actionpack
> rubygem-actionmailbox
> rubygem-kramdown-parser-gfm
It would be helpful to open upstream tickets for these, because
upstreams will need to cope with this as well. While ReXml is going to
be available with all Ruby installations, it has to be mentioned in
.gemspec files otherwise Bundler won't load it. Would you mind to check
with upstreams prior we take any action?
Sure, creating upstream tickets is the plan.
And there are certainly upstream which are dealing with the issues already:
https://github.com/rails/rails/commit/f624ed09abba4a0bae64eb699c9fc2e3f9b...
Thanks!
I'll build Ruby on Rails separately, after Ruby 3.0 is built in a sidetag as well.
https://fedoraproject.org/wiki/Changes/Ruby_on_Rails_6.1
In such cases we should cherry pick the patches rather then blindly
adding the dependencies.
>
>
>> All changes are in private-ruby-3.0 branch.
>>
>> I think I should be able to prepare one more snapshot tomorrow and that
>> should be it prior Ruby 3.0 release. This is the last change to upstream
>> your changes ;)
> I'm preparing pull requests with changes on
src.fedoraproject.org for some
> of the packages. Some of them are not created yet. Please check it before
> you start fixing the package yourself.
>
> One question for the "sucessful" rebuilds, for all: should I create pull
> requests with the rebuild release bump?
I don't think it would help, because creating PRs now won't test the
packages against Ruby 3.0 and at the time of mass rebuild, it would slow
down the rebuild.
Ok, I won't then, if you insist. It's a different workflow, I guess. Well, it
would be tested with Ruby 3.0 in my COPR repo- see the benefits bellow. But you're
right the CI runs don't know about side-tags.
Additionally, here's an overview of all currenlty failing packages, in case you're
insterested:
https://gist.github.com/pvalena/83c18610a02153a6500c11c9e58e17e4
Pavel
Vít
>
> Benefits are:
> - Can be subsequently picked up, after merge (or "LGTM", with
> permissions granted to me), and automatically rebuilt by my script.
> - CI runs, either custom or at least simple-koji-ci. Also, you know it
> was pre-tested by me in COPR.
> - Less work for packagers.)
>
> Which packages? (Failed packages included.)
>
https://gist.github.com/pvalena/422c77868e929fe38c8bc325a765f8a8
>
> Generated using script:
>
https://gist.github.com/pvalena/76560097815fe6544c9bc4905e6bf7a1
>
>
> Regards,
> Pavel
>
>>
>> Vít
>>