| Summary: | pyflakes: Missing "python2-<module>" provides | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Charalampos Stratakis <cstratak> | ||||
| Component: | pyflakes | Assignee: | Ville Skyttä <ville.skytta> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 26 | CC: | cstratak, mrunge, ville.skytta | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | pyflakes-1.5.0-4.fc27 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2017-08-06 11:21:32 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
Charalampos Stratakis
2016-11-29 10:18:35 UTC
(In reply to Charalampos Stratakis from comment #0) > Please use the %python_provide macro [1] to specify the correct provides. It is already being used: http://pkgs.fedoraproject.org/cgit/rpms/pyflakes.git/tree/pyflakes.spec#n19 > %{?python_provide:%python_provide python2-%{name}} The expanded Provides doesn't seem to make it to the built packages though. Any ideas why? (In reply to Ville Skyttä from comment #1) > (In reply to Charalampos Stratakis from comment #0) > > Please use the %python_provide macro [1] to specify the correct provides. > > It is already being used: > http://pkgs.fedoraproject.org/cgit/rpms/pyflakes.git/tree/pyflakes.spec#n19 > > %{?python_provide:%python_provide python2-%{name}} > > The expanded Provides doesn't seem to make it to the built packages though. > Any ideas why? The macro is supposed to expand by being used with a python2-<foo> subpackage, thus making the python-<foo> namespace a virtual provides. As it seems now it provides a virtual "python-<foo>" name. As it is now the SPEC file of pyflakes, the virtual provides of the python2-<foo> and python-<foo> need to either explicitly be declared with: Provides: python-pyflakes = %{version}-%{release} Provides: python2-pyflakes = %{version}-%{release} And then omitting the macro. I would recommend though, as pyflakes has both python2 and python3 support, to make the package compliant with the more recent packaging as well as naming [1] guidelines. [1] https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines#Python_modules Attaching a patch for that. Already tested it from copr and users who have already installed the package can do a dnf update and python2-pyflakes will replace the pyflakes rpm (and also virtually provides the python and python2 namespace). Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=16682480 Output of rpm -qp --provides on python2-pyflakes-1.3.0-3.fc26.noarch.rpm: pyflakes = 1.3.0-3.fc26 python-pyflakes = 1.3.0-3.fc26 python2-pyflakes = 1.3.0-3.fc26 python2.7dist(pyflakes) = 1.3.0 python2dist(pyflakes) = 1.3.0 Created attachment 1226380 [details]
Modernize SPEC and fix the python2 namespaces.
Comment on attachment 1226380 [details] Modernize SPEC and fix the python2 namespaces. Patch looks otherwise ok on surface, but breaks EL6 build; python2-setuptools doesn't exist for it. https://kojipkgs.fedoraproject.org//work/tasks/421/16800421/root.log This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'. The Provides was added in 1.5.0-4. Other modernization maybe follows as part of the ongoing effort on Python 3 as default currently being discussed on fedora-devel. |