Dne 14. 12. 23 v 9:21 Mamoru TASAKA napsal(a):
Hello, again:

Vít Ondruch wrote on 2023/12/14 0:30:
Hi again,

I'm back with yet another update, this time rev a7ad9f3836. The build is running here:

https://koji.fedoraproject.org/koji/taskinfo?taskID=110284699

This time, there are several changes I'd like to mention.

* There is included patch fixing several of the network related spec failures, therefore we don't need to workaround them anymore.

* There are now several more gems bundled in RubyGems. Mamoru already knows. Apart of the issues he hit, this means the licensing information of RubyGems is not up2date anymore. I have opened several tickets around various default gems and RubyGems requesting license clarification. I have also update the license information in ruby.spec a bit.

Looks like this is now causing issue on several packages.
Now I am trying to rebuild again, but some packages now newly began to fail.

For example, rubygem-actionmailbox now began to fail (previously build was successful), like:

```
+ ruby -rbundler -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)' /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/resolver.rb:116:in `rescue in solve_versions': Could not find compatible versions (Bundler::SolveFailure)

Because every version of actionmailer depends on net-imap >= 0
  and every version of net-imap depends on net-protocol >= 0,
  every version of actionmailer requires net-protocol >= 0.
So, because net-protocol >= 0 could not be found in locally installed gems
  and Gemfile depends on actionmailer >= 0,
  version solving has failed.
    from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/resolver.rb:79:in `solve_versions'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/resolver.rb:32:in `start'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:595:in `start_resolution'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:311:in `resolve'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:548:in `materialize'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:203:in `specs'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/definition.rb:270:in `specs_for'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/runtime.rb:18:in `setup'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler.rb:164:in `setup'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/setup.rb:23:in `block in <top (required)>'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/ui/shell.rb:159:in `with_level'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/ui/shell.rb:111:in `silence'     from /usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/setup.rb:23:in `<top (required)>'     from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:127:in `require'     from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:127:in `require'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/dummy/config/boot.rb:4:in `<top (required)>'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/dummy/config/application.rb:1:in `require_relative'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/dummy/config/application.rb:1:in `<top (required)>'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/dummy/config/environment.rb:2:in `require_relative'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/dummy/config/environment.rb:2:in `<top (required)>'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/test_helper.rb:6:in `require_relative'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/test_helper.rb:6:in `<top (required)>'     from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:127:in `require'     from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:127:in `require'     from /builddir/build/BUILD/actionmailbox-7.0.8/usr/share/gems/gems/actionmailbox-7.0.8/test/controllers/ingresses/mailgun/inbound_emails_controller_test.rb:3:in `<top (required)>'     from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:127:in `require'     from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:127:in `require'
    from <internal:dir>:411:in `glob'
    from -e:1:in `<main>'
/usr/share/gems/gems/bundler-2.5.0.dev/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb:237:in `resolve_conflict': Could not find compatible versions (Bundler::PubGrub::SolveFailure)
```
Link: https://copr.fedorainfracloud.org/coprs/mtasaka/rubygem-newruby-test-3-2/build/6752051/

Most likely this is due to recent net-http and net-protocol vendorization. Looks like rails related rubygem- packages, and "vagrant-libvirt" package fail to build due to this
issue.
(vagrant-libvirt: https://copr.fedorainfracloud.org/coprs/mtasaka/rubydep-heavypkg-test-3-2/build/6751386/ )


I'll take a close look a bit later.

However, from top of my head, there were also other changes, such as this:

https://github.com/rubygems/rubygems/pull/7242

where the description says "once a default gem is specified directly in the Gemfile, or resolved as a transitive dependency, it becomes part of the bundle and gets treated as a "regular gem", so it's cached, explicitly installed in the configured location, etc."

But this is just wild guess.

(BTW this was reverted a few hours ago by https://github.com/rubygems/rubygems/pull/7266).


Vít




* Some of you probably noticed the "auto user install" feature of RubyGems [1]. There were several issues, which should have been fixed now. I thought that it could help us a bit, but I am not sure anymore. In theory, we could remove this branch [2] in our operating_system.rb. But we would constantly need to look at "Defaulting to user installation because default installation directory (#{Gem.dir}) is not writable." message, which does not make any sense to me. I have proposed this PR [3] to make it configurable (and then probably got completely confused 🤯) ...

Nevertheless, I still believe that configuring the directories without these flags (which we used up until Ruby 2.5) is better over all and therefore I have changed the operating_system.rb to the original way [4]. This is possible now, because the location for default gems can be configured, which was not possible before.

This is also my biggest concern. If you can test this, I'd really appreciate. After all, both methods should be good enough.

And that should be it. Any feedback is appreciated.

Thx a lot

Vít



[1] https://github.com/rubygems/rubygems/pull/5327
[2] https://src.fedoraproject.org/rpms/ruby/blob/5fd12c42e7911fe5a07db3f92167983bd6e78008/f/operating_system.rb#_102-104
[3] https://github.com/rubygems/rubygems/pull/7243
[4] https://src.fedoraproject.org/fork/vondruch/rpms/ruby/c/d3eaae9cc22d725b74dfdef3446b12d09fb1d9d1


Mamoru
--
_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

--
_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to