Dne 07. 11. 23 v 12:56 jpro...@redhat.com napsal(a):
Hi,On 11/1/23 17:13, Vít Ondruch wrote:JFTR, rubygem-rdoc has broken deps, resulting in not being able to install rubygem-rdoc and on EL* systems also the rubygems-devel by extension, this has to do with the `.dev` suffix that gets transformed in rubygem-io-console version.Hi, Here is yet another Ruby 3.3 snapshot, this time a1e24ab484: https://koji.fedoraproject.org/koji/taskinfo?taskID=108418495The respective changes are available in my PR. There is nothing particular what would catch my attention. Happy testing and thx for all the feedback and support.For fedora, I am doing the repoqueries and installs agains my new reverse dep rebuild Copr, with the SRPM from the koji build mentioned above (no content edits or adjustments):https://copr.fedorainfracloud.org/coprs/jackorp/ruby-3.3-fedora-november/ The correct rdoc refuses to install: ~~~ $ dnf install rubygem-rdoc-6.5.0-183.fc40.noarch Last metadata expiration check: 0:09:16 ago on Tue Nov 7 11:44:02 2023. Error: Problem: conflicting requests- nothing provides rubygem(io-console) >= 0.6.1.dev needed by rubygem-rdoc-6.5.0-183.fc40.noarch from copr:copr.fedorainfracloud.org:jackorp:ruby-3.3-fedora-november(try to add '--skip-broken' to skip uninstallable packages) ~~~ I'll paste just relevant parts of rpm queries, to minimize noise: Fedora Rawhide: ~~~ $ dnf install rubygems-devel $ rpm -q --requires rubygems-devel rubygem(rdoc) >= 6.5.0 $ rpm -q rubygems-devel rubygems-devel-3.5.0.dev-183.fc40.noarch # rubygem-rdoc of this exact version is uninstallable $ dnf repoquery --requires "rubygem-rdoc-6.5.0-183.fc40.noarch" rubygem(io-console) >= 0.6.1.dev $ rpm -q --provides rubygem-io-console rubygem(io-console) = 0.6.1~dev rubygem-io-console = 0.6.1.dev-183.fc40 rubygem-io-console(x86-64) = 0.6.1.dev-183.fc40 ~~~Output for EL9 is more or less the same, just s/fc40/el9/, but it's more problematic there, as there isn't new enough version of rdoc, unlike in Fedora.
Good spot. Yes, this is quite unfortunate. We have already faced similar issues, but that were typically just issues with upgrades, which were easy to neglect. But this would probably deserve some improvement.
The issue is that wile it is easy to generate provides such as `rubygem(io-console) = 0.6.1~dev`, where the `~` replaces the period, because there is information about "pre-release", it is not that easy to generate the requires, because there is no such information that the dependency is pre-release. So I can see several options:
1) Close our eyes and ignore the issue in a hope that stable release will not suffer the same
2) Improve the requires generator. But there will be needed some heuristics, which might be error prone.
3) Temporarily patch the tarball and drop the `.dev` suffix(es).Not sure if (3) is feasible, but at the first look, this looks to be like the least effort.
Vít
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