Bug 1313853

Summary: cdbs: Provide a Python 3 subpackage
Product: [Fedora] Fedora Reporter: Tomas Orsava <torsava>
Component: cdbsAssignee: Sandro Mani <manisandro>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: manisandro, pviktori
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-06 11:21:50 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    

Description Tomas Orsava 2016-03-02 13:00:31 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 Sandro Mani 2016-03-02 13:06:27 UTC
I suppose this package was picked up because its source archive contains some py files? Anyhow, the package does not actually contain any python modules.

/usr/bin/cdbs-edit-patch
/usr/libexec/cdbs
/usr/libexec/cdbs/licensecheck2dep5
/usr/libexec/cdbs/list-packages
/usr/libexec/cdbs/waf-unpack
/usr/share/cdbs
/usr/share/cdbs/1
/usr/share/cdbs/1/class
/usr/share/cdbs/1/class/ant-vars.mk
/usr/share/cdbs/1/class/ant.mk
/usr/share/cdbs/1/class/autotools-files.mk
/usr/share/cdbs/1/class/autotools-vars.mk
/usr/share/cdbs/1/class/autotools.mk
/usr/share/cdbs/1/class/cmake.mk
/usr/share/cdbs/1/class/docbookxml.mk
/usr/share/cdbs/1/class/gnome.mk
/usr/share/cdbs/1/class/hbuild.mk
/usr/share/cdbs/1/class/kde.mk
/usr/share/cdbs/1/class/langcore.mk
/usr/share/cdbs/1/class/makefile-vars.mk
/usr/share/cdbs/1/class/makefile.mk
/usr/share/cdbs/1/class/pd.mk
/usr/share/cdbs/1/class/perl-build-vars.mk
/usr/share/cdbs/1/class/perl-build.mk
/usr/share/cdbs/1/class/perl-makemaker-vars.mk
/usr/share/cdbs/1/class/perl-makemaker.mk
/usr/share/cdbs/1/class/perl-vars.mk
/usr/share/cdbs/1/class/perlmodule-vars.mk
/usr/share/cdbs/1/class/perlmodule.mk
/usr/share/cdbs/1/class/python-autotools.mk
/usr/share/cdbs/1/class/python-distutils.mk
/usr/share/cdbs/1/class/python-module.mk
/usr/share/cdbs/1/class/python-sugar.mk
/usr/share/cdbs/1/class/python-vars.mk
/usr/share/cdbs/1/class/qmake.mk
/usr/share/cdbs/1/class/scons-vars.mk
/usr/share/cdbs/1/class/scons.mk
/usr/share/cdbs/1/class/waf.mk
/usr/share/cdbs/1/rules
/usr/share/cdbs/1/rules/buildcore.mk
/usr/share/cdbs/1/rules/buildvars.mk
/usr/share/cdbs/1/rules/debhelper.mk
/usr/share/cdbs/1/rules/dpatch.mk
/usr/share/cdbs/1/rules/simple-patchsys.mk
/usr/share/cdbs/1/rules/tarball.mk
/usr/share/cdbs/1/rules/upstream-tarball.mk
/usr/share/cdbs/1/rules/utils.mk
/usr/share/doc/cdbs
/usr/share/doc/cdbs/TODO
/usr/share/licenses/cdbs
/usr/share/licenses/cdbs/COPYING
/usr/share/man/man1/cdbs-edit-patch.1.gz

Comment 2 Petr Viktorin (pviktori) 2016-03-02 13:17:47 UTC
I expect that it was picked up because of /usr/libexec/cdbs/waf-unpack, which does have a Python shebang. This drags in python2 as a dependency.

Comment 3 Sandro Mani 2016-03-02 13:20:42 UTC
Indeed. That should be okay though, assuming the script also works with python3, right?

Comment 4 Petr Viktorin (pviktori) 2016-03-02 13:29:35 UTC
Currently, a Fedora install always has a py3 interpreter (since dnf depends on it). Python 2 is not in the default install, it's only installed with individual packages that require it.
Since the cdbs RPM now depends on Python 2, chances are that installing it will pull in an extra interpreter. Changing the shebang to #!/usr/bin/python3 would prevent this.

Comment 5 Sandro Mani 2016-03-02 15:54:04 UTC
Ah ok, I see now that /usr/bin/python will keep pointing to python2. I'll change the shebang.

Comment 6 Sandro Mani 2016-03-06 11:21:50 UTC
cdbs-0.4.130-4.fc25 built.