On 06/19/2017 10:50 AM, Iryna Shcherbina wrote:
The reason behind the second change is that there are a lot of Python 2 only packages having `python-xxx` in Requires, which will start pulling Python 3 dependencies when we switch to Python 3 as default. This will most possibly cause a number of unexpected issues, which is what we are trying to avoid.

If you expect your package to work when we switch to Python 3 as default, then you should already switch it to Python 3 or provide a Python 3 subpackage and depend on `python3-xxx`.
It seems to me that there are two kinds of Python packages affected  by this issue: some track the evolution of the ecosystem and make sure they work with both Python 2 and 3, while the others assume a specific environment, and expect the user to conform to that. What I dislike about this proposal is that it imposes on the first kind: their package name needs to change, presumably to 'pyton3-xxx' even though the package might work with python2 as well. This sounds like penalizing the good behavior.
 
Is it possible to modify the proposal scope to only affect  the Python 2-only packages? I realize that it makes it harder to police compliance, but the sanction is that the stragglers will fail, and will need to get fixed by either porting, or specifying better Requires.

In the end, I think the right approach should be to choose which approach results in less overall work to the packagers: a big mandatory upfront change, or voluntary incremental mods, and mopping up the problems when they start showing up.

Iryna

On 06/19/2017 04:11 PM, Tom Hughes wrote:
On 19/06/17 14:59, Iryna Shcherbina wrote:

Recently, there were two important changes to Python packaging guidelines. The first one bans usingtheambiguous `python` prefix in binary RPM package names [1]. Thus you must explicitly definethePython version by using either `python2-` or `python3-`. The second change bans depending on anything using the ambiguous `python-` prefixed names in (Build)Requires [2].

I don't understand the logic behind the second change with regard to Requires, or at least I think there are cases where it makes no sense.

If I have a package with a python script using #!/usr/bin/python and importing xxx then isn't python-xxx the correct thing to require so that it will continue to behave correctly when we switch to python 3 as default?

If I change it to python2-xxx then I'll just have to change it again when we switch the default?

Tom

_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org