Hi all, as you probably know, the "Python 3 as a Default" [1] change has been accepted by FESCo and is currently targeted for F22. As a part of that Change, I also wrote that we should rethink some aspects of Python packaging in Fedora. I have put together a proposal that summarizes the current state and proposes a new approach to Python packaging [2] Before I propose it to FPC, I'd like to discuss it and work on it here on lists and incorporate everybody's notes/suggestions. So thanks for reading this through and sending your comments.
Slavek.
What about package that doesn't have python- prefix?
I saw that in the example:
%if 0%{?with_python2} ... BuildRequires: tkinter %endif %if 0%{?with_python3} ... BuildRequires: python3-tkinter %endif
So I guess tkinter is Python 2. Should it be renamed to python2-tkinter and provide tkinter? Or should Python 3 version provide tkinter? Or both?
----- Original Message -----
What about package that doesn't have python- prefix?
I saw that in the example:
%if 0%{?with_python2} ... BuildRequires: tkinter %endif
%if 0%{?with_python3} ... BuildRequires: python3-tkinter %endif
So I guess tkinter is Python 2. Should it be renamed to python2-tkinter and provide tkinter? Or should Python 3 version provide tkinter? Or both?
(tkinter is actually a subpackage of python itself) Renaming tkinter to python2-tkinter (with proper Provides and Obsoletes) would be the way to go here, I think. I'll fix it in the proposal.
-- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
Dne 4.12.2013 12:37, Bohuslav Kabrda napsal(a):
(tkinter is actually a subpackage of python itself)
I guess you know what I mean here, but to be clear:
tkinter is only an example, we got more, like pyserial, PyYAML...
Other thing:
What about apps? Do we want something in the guidelines that would say:
If the app clearly works with both Python 2 and Python 3, then the Fedora package is obligated to use Python 3 instead of Python 2.
If however the app only works with one of them, obviously, Fedora package uses and requires that one.
Or do we keep that on the packager's decision?
----- Original Message -----
Dne 4.12.2013 12:37, Bohuslav Kabrda napsal(a):
(tkinter is actually a subpackage of python itself)
I guess you know what I mean here, but to be clear:
tkinter is only an example, we got more, like pyserial, PyYAML...
Oh, I see. Some time ago, FPC has accepted a change that says, that packages with "py" in name should be prefixed with "python-" anyway [1]. Since this only applies to newly created packages, we will have to cope with this, unfortunately. So my idea of handling this would be: - all packages must have Provides: python-* - packages that weren't prefixed with "python-" previously (pyserial, PyYAML), should also carry an explicit Provides/Obsoletes for the old name. Sounds good?
Other thing:
What about apps? Do we want something in the guidelines that would say:
If the app clearly works with both Python 2 and Python 3, then the Fedora package is obligated to use Python 3 instead of Python 2.
If however the app only works with one of them, obviously, Fedora package uses and requires that one.
Or do we keep that on the packager's decision?
Toshio already proposed a guidelines solution for this [2], but now that I look at it, it seems that it never got proposed to FPC. Toshio, will you propose that or should I? I guess we can do this regardless of the change I'm proposing now.
-- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
On Wed, Dec 04, 2013 at 07:18:31AM -0500, Bohuslav Kabrda wrote:
----- Original Message -----
Dne 4.12.2013 12:37, Bohuslav Kabrda napsal(a):
(tkinter is actually a subpackage of python itself)
I guess you know what I mean here, but to be clear:
tkinter is only an example, we got more, like pyserial, PyYAML...
Oh, I see. Some time ago, FPC has accepted a change that says, that packages with "py" in name should be prefixed with "python-" anyway [1]. Since this only applies to newly created packages, we will have to cope with this, unfortunately. So my idea of handling this would be:
- all packages must have Provides: python-*
- packages that weren't prefixed with "python-" previously (pyserial, PyYAML), should also carry an explicit Provides/Obsoletes for the old name.
Sounds good?
I would remove that first bullet point. The point of the Provides and Obsoletes is to provide backwards compatibility. If there's no previous python-* there's no need to take up that name in the namespace.
Other thing:
What about apps? Do we want something in the guidelines that would say:
If the app clearly works with both Python 2 and Python 3, then the Fedora package is obligated to use Python 3 instead of Python 2.
If however the app only works with one of them, obviously, Fedora package uses and requires that one.
Or do we keep that on the packager's decision?
Toshio already proposed a guidelines solution for this [2], but now that I look at it, it seems that it never got proposed to FPC. Toshio, will you propose that or should I? I guess we can do this regardless of the change I'm proposing now.
[2] https://lists.fedoraproject.org/pipermail/python-devel/2013-November/000528....
Please do. I haven't got a whole lot of time these days :-(
-Toshio
----- Original Message -----
On Wed, Dec 04, 2013 at 07:18:31AM -0500, Bohuslav Kabrda wrote:
----- Original Message ----- Oh, I see. Some time ago, FPC has accepted a change that says, that packages with "py" in name should be prefixed with "python-" anyway [1]. Since this only applies to newly created packages, we will have to cope with this, unfortunately. So my idea of handling this would be:
- all packages must have Provides: python-*
- packages that weren't prefixed with "python-" previously (pyserial,
PyYAML), should also carry an explicit Provides/Obsoletes for the old name. Sounds good?
I would remove that first bullet point. The point of the Provides and Obsoletes is to provide backwards compatibility. If there's no previous python-* there's no need to take up that name in the namespace.
Ok, I updated the wiki page with some more talk about the Provides and Obsoletes, which should incorporate this change and also the others mentioned. You can check out just the diff [1]
What about apps? Do we want something in the guidelines that would say:
Toshio already proposed a guidelines solution for this [2], but now that I look at it, it seems that it never got proposed to FPC. Toshio, will you propose that or should I? I guess we can do this regardless of the change I'm proposing now.
[2] https://lists.fedoraproject.org/pipermail/python-devel/2013-November/000528....
Please do. I haven't got a whole lot of time these days :-(
Done [2].
-Toshio
Thanks, Slavek.
[1] https://fedoraproject.org/w/index.php?title=User%3ABkabrda%2FPy2to3Guideline... [2] https://fedorahosted.org/fpc/ticket/373
On 12/04/2013 08:51 PM, Bohuslav Kabrda wrote:
Hi all, as you probably know, the "Python 3 as a Default" [1] change has been accepted by FESCo and is currently targeted for F22. As a part of that Change, I also wrote that we should rethink some aspects of Python packaging in Fedora. I have put together a proposal that summarizes the current state and proposes a new approach to Python packaging [2] Before I propose it to FPC, I'd like to discuss it and work on it here on lists and incorporate everybody's notes/suggestions. So thanks for reading this through and sending your comments.
Looks good to me from an upstream perspective - making it easier to support other Python runtimes like PyPy and Jython is a nice added bonus.
Cheers, Nick.
python-devel@lists.fedoraproject.org