spec: https://download.copr.fedorainfracloud.org/results/fed500/rubygem-licensee/fedora-rawhide-x86_64/06525975-rubygem-faraday2/rubygem-faraday2.spec srpm: https://download.copr.fedorainfracloud.org/results/fed500/rubygem-licensee/fedora-rawhide-x86_64/06525975-rubygem-faraday2/rubygem-faraday2-2.7.11-1.fc40.src.rpm Description: HTTP/REST API client library. fas: fed500 koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=107494424 Reproducible: Always
Unofficial review. * I don't think `Conflicts: rubygem-faraday` makes sense with a regular Rubygem, as all the directories are namespaced with a version, therefore there should be no file conflicts, or other kind of conflicts, the packages rubygem-faraday and rubygem-faraday2 should be parallel installable without a problem. There also isn't provides(rubygem-faraday) = %{version} so even less chances for a conflict. (And not sure if the Fedora Packaging guide has any rules about this) * Test suite isn't running *at all*, that's not great, nor desired state. * There are also missing dependencies (maybe only rubygem-faraday-net_http?), that should definitely reach fedora before this package does, IOW a review request should exist for it and this ticket should depend on it. If you'd try to require any part rubygem-faraday2, it will fail without the dependency.
Just as I said in the Ruby-SIG ML [1] I'd much rather see rubygem-faraday1 (as long as we need it) and keep the rubygem-faraday to follow the latest version. (In reply to Jarek Prokop from comment #1) > There also isn't provides(rubygem-faraday) = %{version} There is autogenerated one: ~~~ $ rpm -qpP https://kojipkgs.fedoraproject.org//work/tasks/4444/107494444/rubygem-faraday2-2.7.11-1.fc40.noarch.rpm rubygem(faraday) = 2.7.11 rubygem-faraday2 = 2.7.11-1.fc40 ~~~ However I concur that there is no reason for conflicts. > If you'd try to require any part rubygem-faraday2, it will fail without the dependency. I don't think the package is installable due to missing dependency: ~~~ $ sudo dnf install https://kojipkgs.fedoraproject.org//work/tasks/4444/107494444/rubygem-faraday2-2.7.11-1.fc40.noarch.rpm Repositories loaded. https://kojipkgs.fedoraproject.org//work/tasks/4444/107494444/rubygem-faraday2-2.7.11-1.fc40.noarch.rpm 100% | 65.6 KiB/s | 37.4 KiB | 00m01sFailed to resolve the transaction: Problem: conflicting requests - nothing provides rubygem(base64) needed by rubygem-faraday2-2.7.11-1.fc40.noarch - nothing provides (rubygem(faraday-net_http) >= 2.0 with rubygem(faraday-net_http) < 3.1) needed by rubygem-faraday2-2.7.11-1.fc40.noarch - nothing provides rubygem(ruby2_keywords) >= 0.0.4 needed by rubygem-faraday2-2.7.11-1.fc40.noarch ~~~ [1]: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/4DVEDKWQVACYNQN2JMWUNLWASHRB4M7N/(In reply to Jarek Prokop from comment #1)
Thanks for the suggestions. Copr with all needed dependencies: https://copr.fedorainfracloud.org/coprs/fed500/rubygem-licensee/packages/ faraday-net_http requires faraday to build, but faraday only needs faraday-net_http to run. Review request for faraday-net_http https://bugzilla.redhat.com/show_bug.cgi?id=2244463
> I don't think the package is installable due to missing dependency: Yeah DNF will scream much sooner than there will even be chance to try it as an user. BTW base64 and ruby2_keywords can be removed from dependencies via the %gemspec_remove_dep macro and review requests dropped (for the sake of bringing and maintaining less packages). These 2 packages have gemspecs provided by the ruby-default-gems and files are provided by ruby-libs. Those libraries are probably low to none maintenance, but it is something that can be avoided completely. > faraday-net_http requires faraday to build, but faraday only needs faraday-net_http to run. Bootstrapping is the way to go usually, there are a few examples around the rubygem-* packages, cucumber is the first one that comes to mind: https://src.fedoraproject.org/rpms/rubygem-cucumber/blob/rawhide/f/rubygem-cucumber.spec#_3 It even has similar circular dependency problem. Here with aruba: https://src.fedoraproject.org/rpms/rubygem-cucumber/blob/rawhide/f/rubygem-cucumber.spec#_21 Aruba requires cucumber to run but cucumber requires aruba only for build, sounds like a similar situation for inspiration.
(In reply to Jarek Prokop from comment #4) > BTW base64 and ruby2_keywords can be removed from dependencies via the > %gemspec_remove_dep macro and review requests dropped (for the sake of > bringing and maintaining less packages). It depends. It might or might not be true. Less intrusive workaround is: ~~~ %global __requires_exclude ruby2_keywords ~~~ Used e.g. here: https://src.fedoraproject.org/rpms/rubygem-mocha/blob/9138921e0c2e7cea4a5b24e6af591f4c1debb513/f/rubygem-mocha.spec#_21
Closing this. Rename request for current rubygem-faraday https://bugzilla.redhat.com/show_bug.cgi?id=2244510 to allow it to be upgraded to the latest version.