Dne 07. 11. 23 v 12:56 jpro...@redhat.com napsal(a):
Hi,

On 11/1/23 17:13, Vít Ondruch wrote:
Hi,

Here is yet another Ruby 3.3 snapshot, this time a1e24ab484:

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

The 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.
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.

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

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