The Python 3 subpackage python3-rosdep is missing executables available in the Python 2 subpackage. According to the Fedora Packaging guidelines for Python [0], if a Python package that supports Python 3 installs executables into /usr/bin, then either both Python versions of the executables should be packaged, or only the Python 3 version, depending on the functionality they provide. (Note the "should": having Python 2-only executables is permitted, but strongly discouraged.) Is it intentional for this particular package? In case it is not intentional, please provide a Python 3 version of executable, or you can just switch to Python 3 if the functionality is the same regardless of the Python version. The guide for porting Python-based RPMs is available here [1] and you may refer to it for more instructions. It's ok to do this in Rawhide only, however, it would be greatly appreciated if you could push it to Fedora 26 as well. If anything is unclear, or if you need any kind of assistance, you can ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy to help investigating or fixing the issue! [0] https://fedoraproject.org/wiki/Packaging:Python#Avoiding_collisions_between_the_python_2_and_python_3_stacks [1] http://python-rpm-porting.readthedocs.io/
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle. Changing version to '27'.
I created a Pagure PR that fixes the missing Python 3 version of executables: https://src.fedoraproject.org/rpms/python-rosdep/pull-request/1 May I ask to review and make the new package? Thanks.
Hello Rich, please, may I ask for your feedback?
I don't know what rosdep is, but is there a user facing difference between the Python 2 and Python 3 executables? Because if it isn't, the Python 2 executables should go away.
Hi Miro, thanks for your review, the updated patch is here: https://src.fedoraproject.org/rpms/python-rosdep/pull-request/2
Is "python_provide" on rawhide set up such that installing "python-rosdep" from dnf will install python3-rosdep? Do we need to add an obsoletes python-rosdep < x.y.z to python3-rosdep to ensure that python3-rosdep will be installed on distro upgrade? I don't mind switching over to python3 by default, but the binaries are the important part of the package and we need to make sure that the upgradepath ensures that the binaries don't get removed.
(In reply to Rich Mattes from comment #6) > Is "python_provide" on rawhide set up such that installing "python-rosdep" > from dnf will install python3-rosdep? Not yet (and still not for a couple of releases). BTW see https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 > Do we need to add an obsoletes > python-rosdep < x.y.z to python3-rosdep to ensure that python3-rosdep will > be installed on distro upgrade? If that's desired, than yes, but see bellow. > I don't mind switching over to python3 by default, but the binaries are the > important part of the package and we need to make sure that the upgradepath > ensures that the binaries don't get removed. In that case, the preferred way is to switch to python3 only and drop the python2 package completely. Appropriate Provides and Obsoletes need to be added to ensure clean upgrade path.
Hello Rich, may I ask about your feedback to Miro's answer? Would be the patch [1] sufficient for you? Note, we have explicitly added Robot Operating System Packages Group [2] in Python 3 Porting Database for Fedora to monitor a progress of ROS packages in Python 3. I would be able to help with other "mispackaged" packages as well to make them green. [1] https://src.fedoraproject.org/rpms/python-rosdep/pull-request/2 [2] http://fedora.portingdb.xyz/grp/ros/
Hello Rich, I created the updated Pagure PR that fixes the missing Python 3 version of executables: https://src.fedoraproject.org/rpms/python-rosdep/pull-request/4 May I ask to review and make the new package?
Looks good, merged and built in rawhide.