Bug 1638709

Summary: python2-ryu ships unnecessary executables, the package should be removed
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-ryuAssignee: Slawek Kaplonski <skaplons>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: abregman, amoralej, apevec, skaplons
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-ryu-4.29-2.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-27 05:38:06 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: 1625773, 1630952    

Description Miro Hrončok 2018-10-12 09:57:47 UTC
$ dnf repoquery --repo=rawhide -l python2-ryu | grep bin
/usr/bin/ryu
/usr/bin/ryu-2
/usr/bin/ryu-2.7
/usr/bin/ryu-manager
/usr/bin/ryu-manager-2
/usr/bin/ryu-manager-2.7

$ dnf repoquery --repo=rawhide -l python3-ryu | grep bin
/usr/bin/ryu
/usr/bin/ryu-3
/usr/bin/ryu-3.7
/usr/bin/ryu-manager
/usr/bin/ryu-manager-3
/usr/bin/ryu-manager-3.7


That's python-ryu-4.27-2.fc30


With the line of the https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal change I'd like to know:

1) why is /usr/bin/ryu in both packages? note that /usr/bin/ryu from python3-ryu links to ./ryu-2.7

2) what is the difference for the users, if they run ryu(-manager)-2 or -3? Does the Python version matter here? Note that the guidelines say:

> If the executables provide the same functionality independent of whether they are run on top of Python 2 or Python 3, then only the Python 3 version of the executable SHOULD be packaged, the python2 version MUST NOT be packaged.

Nothing in Fedora requires python2-ryu, so I intend to drop it.
However I like to know the answers of the above questions first.

Comment 1 Miro Hrončok 2018-10-15 07:43:22 UTC
Created a PR in https://src.fedoraproject.org/rpms/python-ryu/pull-request/13

Comment 2 Miro Hrončok 2018-10-22 07:09:03 UTC
Slawek?

Comment 3 Slawek Kaplonski 2018-10-22 09:57:06 UTC
Package python2-ryu is required e.g. by openstack-neutron in RDO.
See: https://review.rdoproject.org/r/gitweb?p=openstack/neutron-distgit.git;a=blob;f=openstack-neutron.spec;h=606d12d3d6b3473b82b38605e574f285f6680d1a;hb=refs/heads/rocky-rdo#l177

I don't think that ryu(-manager)-2 or -3 provides any different functionalities. Please only keep in mind that python-ryu is necessary for OpenStack neutron in RDO. But Neutron for sure don't use any of those binaries to run Ryu.

Comment 4 Miro Hrončok 2018-10-22 16:01:36 UTC
Bare with me, I have no idea how do you ship packages.

openstack-neutron is not in Fedora (it has been retired) and hence python2-ryu is AFAIK not needed in Fedora. Can you maintain python2-ryu at the same place where you maintain openstack-neutron (I assume that's RDO?)?

Removal of python2-ryu is blocking other python2 packages removals.

Comment 5 Alfredo Moralejo 2018-10-22 17:57:58 UTC
We use the spec in fedora to rebuild the python2 package for CentOS in fedora.

Slawek, could you implement conditionals so that:

- When building in centos7 or any el7 it creates python2 only subpackage.
- In other cases it builds python3 only subpackage.

You can see an implementation of this in:

https://src.fedoraproject.org/rpms/python-rsd-lib/c/bde83703db5749cf85620d269946ad01af20a1a5?branch=master

Comment 6 Miro Hrončok 2018-10-22 19:35:36 UTC
I'll update my PR.

Comment 7 Miro Hrončok 2018-10-22 19:59:11 UTC
Updated in https://src.fedoraproject.org/rpms/python-ryu/pull-request/13

Didn't test on EL7, because several deps are missing, but the package didn't build on EL7 before anyway.

Comment 8 Alfredo Moralejo 2018-10-23 08:13:40 UTC
python-ryu-4.29-2.fc30 rebuilt with python3 package only.