(Resurrecting the "Proposal: Python 3 in Fedora 13" thread; see: https://www.redhat.com/archives/fedora-devel-list/2009-October/msg00054.html and https://fedoraproject.org/wiki/Features/Python3F13 )
On Thu, 2009-10-01 at 12:17 -0700, Toshio Kuratomi wrote:
On 10/01/2009 10:15 AM, David Malcolm wrote:
[snip]
"Naming convention" proposal: How does this sound:
- an rpm with a "python-" prefix means a python 2 rpm, of the
"default" python 2 minor version (for Fedora this will be the most recent stable upstream minor release, for EPEL it will be the minor release of 2 that came with the distro, so 2.4 for EPEL5)
- an rpm with a "python3-" prefix means a python 3 rpm, of the
"default" python 3 minor version (for Fedora this will be the most recent stable upstream release)
What about packages without a "python-" prefix? Proposal: If upstream has a naming convention for python2 vs python3, use it. Otherwise, add a "python3-" prefix to make things clear. I'm not sure about the details here. Examples?
+1 to the basics. There are a lot of details to work out:
Current naming conventions for Python packages are in https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28...
I rather like the idea of standardizing on a "python3-" prefix for _all_ Python 3 module packages and subpackages, even if this leads to inconsistencies with their counterparts in the python 2 stack. It would make the "threeness" of the packages stand out more.
(NB: I hope that we'll eventually be in a place where we can cut over embedders and users of python (e.g. gedit, gdb, mod_python etc) from 2 to 3; I'm _not_ suggesting we do anything to their names. Obviously such a move is a long way off)
This seems fine even though it's a bit redundant: python3-pygtk2 and python3-pygpgme.
We could combine: - the "always use a python3-" rule I invented just above (ahem) and - the "When in doubt, use the name of the module that you type to import it in a script" advice from the python module guidelines.
This would make the above examples be "python3-gtk" and "python3-gpgme"
What to do with things that have python in their suffix: gstreamer-python => gstreamer-python3? Or python3-gstreamer? Or python3-gstreamer-python? Most of these are subpackages of existing packages.
Again, following the combination of the two rules above: "python3-gstreamer"
A cornercase is the gnome-python2 package. These are python bindings to gnome2. gnome-python2 is the upstream name. For python3, do we want python3-gnome-python2, python3-gnome2, python3-gnome-python2 ? From my reading of "rpm -qi gnome-python2", the upstream name is
"gnome-python", so perhaps "python3-gnome" is the thing to use here?
Thoughts?
Dave
On Thu, Oct 29, 2009 at 06:27:35PM -0400, David Malcolm wrote:
Current naming conventions for Python packages are in https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28...
I rather like the idea of standardizing on a "python3-" prefix for _all_ Python 3 module packages and subpackages, even if this leads to inconsistencies with their counterparts in the python 2 stack. It would make the "threeness" of the packages stand out more.
(NB: I hope that we'll eventually be in a place where we can cut over embedders and users of python (e.g. gedit, gdb, mod_python etc) from 2 to 3; I'm _not_ suggesting we do anything to their names. Obviously such a move is a long way off)
+1 to this section
mod_python is something we might have to consider differently than the other packages in your example set since it's going to be running end user created code.
This seems fine even though it's a bit redundant: python3-pygtk2 and python3-pygpgme.
We could combine:
- the "always use a python3-" rule I invented just above (ahem) and
- the "When in doubt, use the name of the module that you type to
import it in a script" advice from the python module guidelines.
This would make the above examples be "python3-gtk" and "python3-gpgme"
I'm tentatively for this. My hesitation comes since I know maintainers already question the module name portion of the Guidelines. But they still have a choice... it's just going to appear a bit funnier:
python3-pygtk2 or python3-gtk, their choice.
There are also modules where there's ony one choice: python3-pycurl
It's fine though.
What to do with things that have python in their suffix: gstreamer-python => gstreamer-python3? Or python3-gstreamer? Or python3-gstreamer-python? Most of these are subpackages of existing packages.
Again, following the combination of the two rules above: "python3-gstreamer"
+1 I wish that all the python2 bindings followed this scheme as well.
A cornercase is the gnome-python2 package. These are python bindings to gnome2. gnome-python2 is the upstream name. For python3, do we want python3-gnome-python2, python3-gnome2, python3-gnome-python2 ? From my reading of "rpm -qi gnome-python2", the upstream name is
"gnome-python", so perhaps "python3-gnome" is the thing to use here?
Thoughts?
Sounds good. Write it up and lets get it approved.
-Toshio
On 10/29/2009 07:50 PM, Toshio Kuratomi wrote:
+1 to this section
In general I'm +1 to everything you said, Toshio, but just to clarify.
mod_python is something we might have to consider differently than the other
In my mind the difference is between modules/libraries and python add-ons to other applications.
So, it's very natural that python3-gnome starts with "python3" because you use it with the Python "application", as it's a library. And it's natural the mod_python or vim+python be "httpd-mod_python3" or "vim-python3" because they are components to the http and vim applications.
The place it gets strange is for something like Idle, which is an application in it's own right, but is used with Python development.
I almost want something like the "lib" prefix that is used to mark system libraries, but for python. Like "python3-libpsycopg2". Then I could search explicitly for modules with "yum search python-lib"... That's a pretty drastic change though, and would probably make more sense in combination with "perl-lib", etc... <shrug>
Probably not a good idea, but it feels somewhat natural.
Sean
On Thu, Oct 29, 2009 at 08:54:01PM -0600, Sean Reifschneider wrote:
On 10/29/2009 07:50 PM, Toshio Kuratomi wrote:
+1 to this section
In general I'm +1 to everything you said, Toshio, but just to clarify.
mod_python is something we might have to consider differently than the other
In my mind the difference is between modules/libraries and python add-ons to other applications.
So, it's very natural that python3-gnome starts with "python3" because you use it with the Python "application", as it's a library. And it's natural the mod_python or vim+python be "httpd-mod_python3" or "vim-python3" because they are components to the http and vim applications.
The place it gets strange is for something like Idle, which is an application in it's own right, but is used with Python development.
I almost want something like the "lib" prefix that is used to mark system libraries, but for python. Like "python3-libpsycopg2". Then I could search explicitly for modules with "yum search python-lib"... That's a pretty drastic change though, and would probably make more sense in combination with "perl-lib", etc... <shrug>
Probably not a good idea, but it feels somewhat natural.
I think we're generally using python- (inconsistently) and python3- (want to make this 100% consistent) asour lib prefixfor python libraries. Is Idle just a python application or is it also used as a library? I'm afraid I haven't looked so I don't know how strange it is under this scheme.
-Toshio
On 10/30/2009 06:38 PM, Toshio Kuratomi wrote:
I think we're generally using python- (inconsistently) and python3- (want to make this 100% consistent) asour lib prefixfor python libraries.
I guess that's true with the exception of the python base package itself which is both a library *AND* an application, and things like idle.
Is Idle just a python application or is it also used as a library? I'm afraid I haven't looked so I don't know how strange it is under this scheme.
The thing about idle is that it's provided by Python, it's not a library, but it's only used by developers of Python with Python. So, it's not a library, but it doesn't feel to me like it should be just called "idle" as opposed to "python(3)?-idle".
Sean
python-devel@lists.fedoraproject.org