Hello,
as you probably know with Ruby 2.7, there came some incompatible changes. One of them is that `racc` was gemified and is not installed by default into a buildroot.
From my brief investigations of build failures (the list may not be complete or a bit outdated), I've encountered these:
rubygem-shoulda.log: LoadError: cannot load such file -- racc/parser.rb ^ require from actionpack
rubygem-shoulda-matchers.log: cannot load such file -- racc/parser.rb ^ require from activesupport
rubygem-i18n.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser (LoadError) ^ require from i18n/lib
rubygem-nokogiri.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-sass-rails.log:/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-shoulda-context.log:<["/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError)"]> ^ nokogiri
What would be the best solution? Add the require to Ruby, or add it to respective gems+spec files (nokogiri issue: [0])?
Regards, Pavel
I encourage everybody to read the following discussion:
https://src.fedoraproject.org/rpms/rubygem-racc/pull-request/1
It might result in significant changes to a way we (un)bundle gems from Ruby. I am really considering to keep the StdLib bundled in Ruby.
Vít
Dne 05. 02. 20 v 14:17 Pavel Valena napsal(a):
Hello,
as you probably know with Ruby 2.7, there came some incompatible changes. One of them is that `racc` was gemified and is not installed by default into a buildroot.
From my brief investigations of build failures (the list may not be complete or a bit outdated), I've encountered these:
rubygem-shoulda.log: LoadError: cannot load such file -- racc/parser.rb ^ require from actionpack
rubygem-shoulda-matchers.log: cannot load such file -- racc/parser.rb ^ require from activesupport
rubygem-i18n.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser (LoadError) ^ require from i18n/lib
rubygem-nokogiri.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-sass-rails.log:/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-shoulda-context.log:<["/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError)"]> ^ nokogiri
What would be the best solution? Add the require to Ruby, or add it to respective gems+spec files (nokogiri issue: [0])?
Regards, Pavel
[0] https://github.com/sparklemotion/nokogiri/issues/1988 _______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@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.o...
Just to keep you updated, so far I have tried to remove the bigdecimal subpackage (yes, I know, this is about racc, but since we should treat everything the same, I started with bigdecimal although the result would be the same for racc) and my initial thought was "keep everything the same, just move the default gems into ruby- subpackages". But I was keep getting this error for updates:
~~~
Error: Transaction test error: file /usr/share/ruby/bigdecimal from install of ruby-rubygem-bigdecimal-2.0.0-0.1.git83705c42ce.fc33.x86_64 conflicts with file from package rubygem-bigdecimal-2.0.0-127.fc32.x86_64
~~~
If I am not mistaken, this means that there is conversion from symlink to file, which unfortunately cannot be easily handled by RPM. From here, I am not really sure if I should use some black magick to enforce this conversion or choose some different path :/
Vít
Dne 10. 02. 20 v 16:49 Vít Ondruch napsal(a):
I encourage everybody to read the following discussion:
https://src.fedoraproject.org/rpms/rubygem-racc/pull-request/1
It might result in significant changes to a way we (un)bundle gems from Ruby. I am really considering to keep the StdLib bundled in Ruby.
Vít
Dne 05. 02. 20 v 14:17 Pavel Valena napsal(a):
Hello,
as you probably know with Ruby 2.7, there came some incompatible changes. One of them is that `racc` was gemified and is not installed by default into a buildroot.
From my brief investigations of build failures (the list may not be complete or a bit outdated), I've encountered these:
rubygem-shoulda.log: LoadError: cannot load such file -- racc/parser.rb ^ require from actionpack
rubygem-shoulda-matchers.log: cannot load such file -- racc/parser.rb ^ require from activesupport
rubygem-i18n.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser (LoadError) ^ require from i18n/lib
rubygem-nokogiri.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-sass-rails.log:/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-shoulda-context.log:<["/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError)"]> ^ nokogiri
What would be the best solution? Add the require to Ruby, or add it to respective gems+spec files (nokogiri issue: [0])?
Regards, Pavel
[0] https://github.com/sparklemotion/nokogiri/issues/1988 _______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@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.o...
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@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.o...
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Monday, March 9, 2020 4:57:24 PM Subject: Re: FTBFS's: cannot load such file - racc/*
Just to keep you updated, so far I have tried to remove the bigdecimal subpackage (yes, I know, this is about racc, but since we should treat everything the same, I started with bigdecimal although the result would be the same for racc) and my initial thought was "keep everything the same, just move the default gems into ruby- subpackages". But I was keep getting this error for updates:
Error: Transaction test error: file /usr/share/ruby/bigdecimal from install of ruby-rubygem-bigdecimal-2.0.0-0.1.git83705c42ce.fc33.x86_64 conflicts with file from package rubygem-bigdecimal-2.0.0-127.fc32.x86_64
If I am not mistaken, this means that there is conversion from symlink to file, which unfortunately cannot be easily handled by RPM. From here, I am not really sure if I should use some black magick to enforce this conversion or choose some different path :/
Well, that seems very unfortunate. I'm all against black magic :).
Wouldn't it be possible to keep the symlinks and just move the bundled versions out of the /usr/share/gems/ to some designated location, like /usr/share/stdgems/?
Not much would change in case we decide to unbundle again.
Regards, Pavel
Vít
Dne 10. 02. 20 v 16:49 Vít Ondruch napsal(a):
I encourage everybody to read the following discussion:
https://src.fedoraproject.org/rpms/rubygem-racc/pull-request/1
It might result in significant changes to a way we (un)bundle gems from Ruby. I am really considering to keep the StdLib bundled in Ruby.
Vít
Dne 05. 02. 20 v 14:17 Pavel Valena napsal(a):
Hello,
as you probably know with Ruby 2.7, there came some incompatible changes. One of them is that `racc` was gemified and is not installed by default into a buildroot.
From my brief investigations of build failures (the list may not be complete or a bit outdated), I've encountered these:
rubygem-shoulda.log: LoadError: cannot load such file -- racc/parser.rb ^ require from actionpack
rubygem-shoulda-matchers.log: cannot load such file -- racc/parser.rb ^ require from activesupport
rubygem-i18n.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser (LoadError) ^ require from i18n/lib
rubygem-nokogiri.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-sass-rails.log:/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-shoulda-context.log:<["/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError)"]> ^ nokogiri
What would be the best solution? Add the require to Ruby, or add it to respective gems+spec files (nokogiri issue: [0])?
Regards, Pavel
So this is PR which should finally fix the issue:
https://src.fedoraproject.org/rpms/ruby/pull-request/56
The idea is simply to bundle every default gem back into the StdLib. That way, the the default gem subpackages will disappear, while the overlapped packages will keep working. The experience should be similar to upstream.
Please test the PR. Mainly, I am interested in testing of all possible upgrade scenarios. I am not really sure what might break.
Thx
Vít
Dne 10. 03. 20 v 18:46 Pavel Valena napsal(a):
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Monday, March 9, 2020 4:57:24 PM Subject: Re: FTBFS's: cannot load such file - racc/*
Just to keep you updated, so far I have tried to remove the bigdecimal subpackage (yes, I know, this is about racc, but since we should treat everything the same, I started with bigdecimal although the result would be the same for racc) and my initial thought was "keep everything the same, just move the default gems into ruby- subpackages". But I was keep getting this error for updates:
Error: Transaction test error: file /usr/share/ruby/bigdecimal from install of ruby-rubygem-bigdecimal-2.0.0-0.1.git83705c42ce.fc33.x86_64 conflicts with file from package rubygem-bigdecimal-2.0.0-127.fc32.x86_64
If I am not mistaken, this means that there is conversion from symlink to file, which unfortunately cannot be easily handled by RPM. From here, I am not really sure if I should use some black magick to enforce this conversion or choose some different path :/
Well, that seems very unfortunate. I'm all against black magic :).
Wouldn't it be possible to keep the symlinks and just move the bundled versions out of the /usr/share/gems/ to some designated location, like /usr/share/stdgems/?
Not much would change in case we decide to unbundle again.
Regards, Pavel
Vít
Dne 10. 02. 20 v 16:49 Vít Ondruch napsal(a):
I encourage everybody to read the following discussion:
https://src.fedoraproject.org/rpms/rubygem-racc/pull-request/1
It might result in significant changes to a way we (un)bundle gems from Ruby. I am really considering to keep the StdLib bundled in Ruby.
Vít
Dne 05. 02. 20 v 14:17 Pavel Valena napsal(a):
Hello,
as you probably know with Ruby 2.7, there came some incompatible changes. One of them is that `racc` was gemified and is not installed by default into a buildroot.
From my brief investigations of build failures (the list may not be complete or a bit outdated), I've encountered these:
rubygem-shoulda.log: LoadError: cannot load such file -- racc/parser.rb ^ require from actionpack
rubygem-shoulda-matchers.log: cannot load such file -- racc/parser.rb ^ require from activesupport
rubygem-i18n.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser (LoadError) ^ require from i18n/lib
rubygem-nokogiri.log:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-sass-rails.log:/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError) rubygem-shoulda-context.log:<["/usr/share/gems/gems/nokogiri-1.10.7/lib/nokogiri/css/parser.rb:7:in `require': cannot load such file -- racc/parser.rb (LoadError)"]> ^ nokogiri
What would be the best solution? Add the require to Ruby, or add it to respective gems+spec files (nokogiri issue: [0])?
Regards, Pavel
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@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.o...
ruby-sig@lists.fedoraproject.org