Bug 2244212
| Summary: | Review Request: rubygem-faraday2 - HTTP/REST API client library | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Benson Muite <benson_muite> |
| Component: | Package Review | Assignee: | Nobody's working on this, feel free to take it <nobody> |
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | jprokop, package-review, vondruch |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-10-16 16:24:00 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 2244194, 2244197 | ||
| Bug Blocks: | 2244463 | ||
|
Description
Benson Muite
2023-10-14 16:31:19 UTC
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. |