Bug 1313853 - cdbs: Provide a Python 3 subpackage
Summary: cdbs: Provide a Python 3 subpackage
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: cdbs
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Sandro Mani
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3
TreeView+ depends on / blocked
 
Reported: 2016-03-02 13:00 UTC by Tomas Orsava
Modified: 2016-03-06 11:21 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-06 11:21:50 UTC


Attachments (Terms of Use)

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 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 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.


Note You need to log in before you can comment on or make changes to this bug.