Vít Ondruch wrote on 2022/12/23 22:30:
Dne 23. 12. 22 v 8:46 Mamoru TASAKA napsal(a):
Vít Ondruch wrote on 2022/12/22 17:48:
Hi,
I am back again with yet another update, this time to 6af6857ecf. The changes
are in dist-git and the build is here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=95591030
I am still surprised that this cycle, there are not big breakages. So there is
nothing to report from my side, except that I am not convinced that the change
to the tilde versions works as it is supposed to. I think that the
`%{?development_release}` would need to be added not just to the Ruby version,
but also to the subpackages and therefore to the Provides, etc. So if anybody
tries update from the previous snapshot, please let me know your practical
experience.
Vít
Well, looks like "my" copr build says that (some of) rubygem-foo pkgs building
C extensions
began to FTBFS with 20221223git7d700a9f5d, while 20221220git8f081d4d0 they were
okay.
For examples:
rubygem-glib2
https://copr.fedorainfracloud.org/coprs/mtasaka/rubygem-newruby-test/package/rubygem-glib2/
rubygem-nokogiri
https://copr.fedorainfracloud.org/coprs/mtasaka/rubygem-newruby-test/package/rubygem-nokogiri/
rubygem-rdiscount
https://copr.fedorainfracloud.org/coprs/mtasaka/rubygem-newruby-test/package/rubygem-rdiscount/
Looking at the build logs, I strongly believe this is because of this change:
https://github.com/ruby/ruby/commit/0a9544ce4ab86963dde0f3ad0b489b6a354cc8b3
Subject: [PATCH] [rubygems/rubygems] Cleanup intermediate artifacts after
installing built extensions
https://github.com/rubygems/rubygems/commit/98b6a959bd
So building C extensions, .so is removed from ext/ directory, so at %check, for
example doing
$ ruby -Ilib:ext:. -e 'Dir.glob........' cannot find required .so file and
%check fails.
So what should Fedora side srpm do?
- Revert the above change on ruby (and also rubygems)
- Or make every rubygem-foo pkgs building C extension to use
-I%{buildroot}%{gem_extdir_mri} instead of -Iext
The latter is the approach we use on various places (just random references):
https://src.fedoraproject.org/rpms/rubygem-bcrypt/blob/rawhide/f/rubygem-bcrypt.spec#_52
https://src.fedoraproject.org/rpms/rubygem-bindex/blob/rawhide/f/rubygem-bindex.spec#_57
https://src.fedoraproject.org/rpms/rubygem-json/blob/rawhide/f/rubygem-json.spec#_92
I don't think that `-Iext` was ever optimal, because that is never the place
from where the extension is used. It would be even much better, if RubyGems
used out of source build, somewhere in `/tmp` or so (there is still room for
improvement :)).
Okay, I've fixed this side issue (i.e. use %{buildroot}%{gem_extdir_mri}
instead of ext).
Regards,
Mamoru
Vít
P.S. it is getting closer to the release, time for subtle breaking changes :D
Regards,
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