From Fedora Project Wiki
(Add link to message (infra ticket was closed))
(Added "it would be greatly appreciated if you could push it to Fedora 24 as well.")
Line 37: Line 37:
  entirely.
  entirely.
   
   
  It's fine to do this in Rawhide only.
  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.
   
   
   
   
Line 61: Line 62:
  Please use the %python_provide macro [1] to specify the correct provides.
  Please use the %python_provide macro [1] to specify the correct provides.
   
   
  It's fine to do this in Rawhide only.
  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.
   
   
   
   
Line 85: Line 87:
  Please use the %python_provide macro [1] to specify the correct provides.
  Please use the %python_provide macro [1] to specify the correct provides.
   
   
  It's fine to do this in Rawhide only.
  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.
   
   
   
   
Line 108: Line 111:
  Please split your package, or remove the stray dependencies.
  Please split your package, or remove the stray dependencies.
   
   
  It's fine to do this in Rawhide only.
  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.
   
   
   
   

Revision as of 12:23, 26 February 2016

The Mass bug filing for Python 3 was proposed on the fedora-devel mailing list.

Tracking bug: #1285816

This page has information for those who'd like to file bugs about the Python 3 porting effort.

Summary

According to the Python packaging guidelines, software must be packaged for Python 3 if upstream supports it. Where that's not the case, or where there are some problems with the Python 3 porting, bugs should be filed.

Here are some common problems; bug report text for each one is below.

  • No py3 subpackage where upstream supports py3
  • No python2-* or python-* Provides
  • Requires on both py2 and py3 in one RPM


Bug Titles and Texts

<name>: Provide a Python 3 subpackage

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

<name>: Missing "python2-<module>" provide

This package does not provide "python2-<module>".

As per Python packaging guidelines [0], when there are two versions of
module "foo", the two packages must provide:
"python3-foo" for Python 3
"python2-foo" for Python 2
"python-foo" for the system default Python (currently 2, but this might
change in the future)

Please use the %python_provide macro [1] to specify the correct provides.

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 this
issue, 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#The_.25python_provide_macro

<name>: Missing "python-<module>" provide

This package does not provide "python-<module>".

As per Python packaging guidelines [0], when there are two versions of
module "foo", the two packages must provide:
"python3-foo" for Python 3
"python2-foo" for Python 2
"python-foo" for the system default Python (currently 2, but this might
change in the future)

Please use the %python_provide macro [1] to specify the correct provides.

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 this
issue, 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#The_.25python_provide_macro


<name>: <RPM_name> requires both Python 2 and Python 3

The <RPM_name> RPM requires both Python 2 and Python 3.

Except in very special circumstances, there is no need for one package
to drag in both Python stacks. Usually, this is a packaging error: for
example, a stray "/usr/bin/python" shebang in a Python 3 package can
introduce a Python 2 dependency.

Please split your package, or remove the stray dependencies.

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, you can
ask on IRC (#fedora-python on Freenode), or reply here. We'll be happy
to help investigating or fixing this issue!