Bug 1327524

Summary: python-neutronclient: Provide a Python 3 subpackage
Product: [Fedora] Fedora Reporter: Tomas Orsava <torsava>
Component: python-neutronclientAssignee: hguemar
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cstratak, hguemar, jruzicka
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-11 16:21:08 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1285816, 1312032    
Attachments:
Description Flags
patch for python 3 support none

Description Tomas Orsava 2016-04-15 09:58:36 UTC
Upstream, this software supports Python 3. Please provide a Python 3
package for Fedora.


According to the Python packaging guidelines [0], software must be
packaged for Python 3 if upstream supports it.
The guidelines give detailed information on how to do this, and even
provide an example spec file [1].

The current best practice is to provide subpackages for the two Python
versions (called "Common SRPM" in the guidelines). Alternatively, if
nothing depends on your Python2 package, you can just switch to Python 3
entirely.

It's ok to do this in Rawhide only, however, it would be greatly
appreciated if you could push it to Fedora 24 as well.


If anything is unclear, or if you need any kind of assistance with the
porting, you can ask on IRC (#fedora-python on Freenode), or reply here.
We'll be happy to help!


[0] https://fedoraproject.org/wiki/Packaging:Python
[1] https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file

Comment 1 Charalampos Stratakis 2016-06-13 14:46:24 UTC
Created attachment 1167521 [details]
patch for python 3 support

Some notes on the patch.

Updated to 4.2.0
Binary is moved at the Python 3 subpackage.
Tests are enabled as well and complete successfully.
Tests subpackages have different naming scheme in the format python<version>-<name>-tests

Package is tested in mock and seems to install correctly and works with no problems, with some basic testing that I did.

Things that need to be considered/tested before applying the patch:

Runtime requirements for tests.

Since other packages depend on it, they need to be checked if they depend on the executable of neutronclient (/usr/bin/neutron) and solve the issue by requiring the executable explicitly, instead of the package name (python-neutronclient)

packages that depend on python-neutronclient currently in f24:
# dnf repoquery --whatrequires python-neutronclient --releasever=24
python-neutronclient-tests-0:4.1.1-2.fc24.noarch
python-openstackclient-0:2.2.0-1.fc24.noarch
python2-shade-0:1.4.0-4.fc24.noarch

Comment 2 hguemar 2016-06-23 17:31:40 UTC
Jakub is on PTO, I'll take care of that

Comment 3 hguemar 2016-07-11 16:21:08 UTC
Fixed in rawhide