Description of problem: we've more or less settled on a preferred convention now, where we have 'python2-foo' and 'python3-foo' subpackages and the %python_provide macro handles the 'python-foo' Provides and Obsoletes, but this package does not follow Python packaging guidelines https://fedoraproject.org/wiki/Packaging:Python Line of code Provides: python2-requests at http://pkgs.fedoraproject.org/cgit/rpms/python-requests.git/tree/python-requests.spec#n41 is not a good implementation of the guidelines since # dnf install python2-requests will result in an installation of package python-requests This causes also misunderstandings problems to other maintainers that rely on python-requests and are going to implement the new guidelines in the Python packages they maintain.
You can take as example spec file http://pkgs.fedoraproject.org/cgit/rpms/python-responses.git/tree/python-responses.spec
Thanks for reporting! Will fix. (I think I did this before I knew about python_provides...)
python-requests-2.10.0-2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-528036d072
python-requests-2.10.0-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-09cd493166
python-requests-2.10.0-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a4a303abd0
1) Be careful if applyting the patch to Fedora's stable branches because package python-requests will be completely replaced by python2-requests. So it could affect other python packages that rely on python-requests. 2) FAS fale that teached me to package python software always told me that all BuildRequires: should go all together and all Requires: should go under their own subpackage
"1) Be careful if applyting the patch to Fedora's stable branches because package python-requests will be completely replaced by python2-requests. So it could affect other python packages that rely on python-requests." It's undocumented (at least last time I checked), but the %python_provide macro actually handles this: [adamw@adam openqa_fedora (cockpit-freeipa %)]$ rpm --eval "%python_provide python2-foo" Provides: python-foo(x86-64) = %{version}-%{release} Provides: python-foo = %{version}-%{release} Obsoletes: python-foo(x86-64) < %{version}-%{release} Obsoletes: python-foo < %{version}-%{release}
Sorry, to be clear - what I mean by 'undocumented' is that https://fedoraproject.org/wiki/Packaging:Python says nothing about the macro handling Obsoletes as well as Provides.
Hi Fabio, what is your opinion about comments from #6 to #8?
python-requests-2.10.0-2.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-528036d072
My experiences on %python_provide: - It works as Adam described in comment 7 - If you use it, it will solve all the upgrade path from the python- version to the python2- version - Is not present in EL6 (so you'll need to write the provides/obsoletes manually
python-requests-2.10.0-2.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-09cd493166
python-requests-2.10.0-2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-a4a303abd0
python-requests-2.10.0-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
Please revert this change from the *stable* branch. It breaks packages dependent on `python-requests`. For example pykickstart: # dnf builddep pykickstart (...) Last metadata expiration check: 0:02:21 ago on Tue Jun 7 15:23:09 2016. Package python-setuptools-18.0.1-2.fc23.noarch is already installed, skipping. Package gettext-0.19.7-3.fc23.x86_64 is already installed, skipping. Package python-devel-2.7.11-3.fc23.x86_64 is already installed, skipping. Package python3-setuptools-18.0.1-2.fc23.noarch is already installed, skipping. Package python-nose-1.3.7-4.fc23.noarch is already installed, skipping. Package python3-six-1.9.0-3.fc23.noarch is already installed, skipping. Package python3-requests-2.10.0-2.fc23.noarch is already installed, skipping. Error: installed package python2-requests-2.10.0-2.fc23.noarch obsoletes python-requests < 2.10.0-2.fc23 provided by python-requests-2.7.0-7.fc23.noarch (try to add '--allowerasing' to command line to replace conflicting packages)
python-requests-2.10.0-2.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
python-requests-2.10.0-2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.