[opensuse-packaging] Python single-spec: it's starting
Dear packagers, another long e-mail from me :) today I started submitting singlespec packages to d:l:py, and from there to Factory. This will start from the dependency root, which means python-setuptools and python-six go first, then various things like pytest, mock, urllib3 and requests, and so on. This means several things for you, most important of which is: 1. renamed RPMs for Python 2 In Factory, all the generated rpms will be "python2-modname" instead of "python-modname". Each package will provide/obsolete "python-modname", so this should be completely transparent for builds and users alike. Currently released distributions will not be affected. When building old-style packages, you might run into problems such as: "have choice for python-six required by python-setuptools: python-six python2-six". For d:l:py, i will be resolving these with Prefer: configuration in prjconf, and I'll try to get the problematic packages into Factory asap (when "python-setuptools.rpm" disappears from Factory, this error goes away). Still, this will cause some build failures while the transition to new-style is ongoing. Wait it out -- or go ahead and convert your package to singlespec style :) 2. No more SLE11 support (for real this time) I will try to ensure that setuptools and six build for SLE11. This might very well fail (no noarch, no python3) and I won't care -- in d:l:py at least. In other packages, I will be actively removing SLE11 compatibility hacks as part of the conversion. IIUC, packages that are already built should remain available if build is disabled. So this only means that SLE11 will not get updates. As discussed some months ago, I am also turning off building SLE11 by default -- again, this should mean that current versions are still available but no new versions are built. Reenable your package if you want it in SLE11. If there is interest, we could develop a "python-rpm-macros-compat" package with workarounds for SLE11, maybe even implement noarch support. 3. d:l:python3 merge New-style packages build for python 2 and 3 at the same time. So devel:languages:python3 will be going away. During the transition, d:l:py is going to become the master repository, and we'll have to check that it has good versions of packages that are currently in d:l:py3. 4. non-python-* packages Packages that are not called "python-*" will not be affected for now. I'll be looking into them later. 4. bugs Inevitably, there will be problems. File them as bugs or send an e-mail (possibly as a reply to this one) regards m.
On Fri, 2017-02-17 at 17:40 +0100, Michael Ströder wrote:
jan matejek wrote:
1. renamed RPMs for Python 2
In Factory, all the generated rpms will be "python2-modname" instead of "python-modname".
Hmmpf! Is this really necessary?
Ciao, Michael.
What issue do you see with this approach? Considering that all packages provide/obsolete the python-FOO symbol, any kind of script you have to install such packages will continue to work. Dominique
Hi Jan, On Fri, 2017-02-17 at 17:35 +0100, jan matejek wrote:
Dear packagers,
today I started submitting singlespec packages to d:l:py, and from there to Factory. This will start from the dependency root, which means python-setuptools and python-six go first, then various things like pytest, mock, urllib3 and requests, and so on.
AWESOME! Congratulations on this major achievement.
This means several things for you, most important of which is:
1. renamed RPMs for Python 2
3. d:l:python3 merge
Together with any single-spec submission I'll have to expect a delete- request against openSUSE:Factory for the python3- variant of the package. Otherwise OBS / Produuct builder will be terribly confused for finding two rpm's with the same name, potentially with different versions. Which one ends up in the published repo is based on the phases of the moon, the temparature in the server room, and luck. Just something to keep in mind with all those submissions to come. Cheers, Dominique
Hi, could you please update the wiki[1]. Or do we have any better documentation for openSUSE Python packaging? Best, Tom [1] https://en.opensuse.org/openSUSE:Packaging_Python On Fri, 2017-02-17 at 17:35 +0100, jan matejek wrote:
Dear packagers,
another long e-mail from me :)
today I started submitting singlespec packages to d:l:py, and from there to Factory. This will start from the dependency root, which means python-setuptools and python-six go first, then various things like pytest, mock, urllib3 and requests, and so on. This means several things for you, most important of which is: 1. renamed RPMs for Python 2
In Factory, all the generated rpms will be "python2-modname" instead of "python-modname". Each package will provide/obsolete "python-modname", so this should be completely transparent for builds and users alike.
Currently released distributions will not be affected.
When building old-style packages, you might run into problems such as: "have choice for python-six required by python-setuptools: python-six python2-six". For d:l:py, i will be resolving these with Prefer: configuration in prjconf, and I'll try to get the problematic packages into Factory asap (when "python-setuptools.rpm" disappears from Factory, this error goes away). Still, this will cause some build failures while the transition to new-style is ongoing. Wait it out -- or go ahead and convert your package to singlespec style :)
2. No more SLE11 support (for real this time)
I will try to ensure that setuptools and six build for SLE11. This might very well fail (no noarch, no python3) and I won't care -- in d:l:py at least. In other packages, I will be actively removing SLE11 compatibility hacks as part of the conversion. IIUC, packages that are already built should remain available if build is disabled. So this only means that SLE11 will not get updates.
As discussed some months ago, I am also turning off building SLE11 by default -- again, this should mean that current versions are still available but no new versions are built. Reenable your package if you want it in SLE11.
If there is interest, we could develop a "python-rpm-macros-compat" package with workarounds for SLE11, maybe even implement noarch support.
3. d:l:python3 merge
New-style packages build for python 2 and 3 at the same time. So devel:languages:python3 will be going away. During the transition, d:l:py is going to become the master repository, and we'll have to check that it has good versions of packages that are currently in d:l:py3.
4. non-python-* packages
Packages that are not called "python-*" will not be affected for now. I'll be looking into them later.
4. bugs
Inevitably, there will be problems. File them as bugs or send an e- mail (possibly as a reply to this one)
regards m.
-- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Fri, Feb 17, 2017 at 11:35 AM, jan matejek <jmatejek@suse.com> wrote:
3. d:l:python3 merge
New-style packages build for python 2 and 3 at the same time. So devel:languages:python3 will be going away. During the transition, d:l:py is going to become the master repository, and we'll have to check that it has good versions of packages that are currently in d:l:py3.
During the course of the transition, there is going to be a large amount of churn in devel:languages:pythin,, devel:languages:python3, and openSUSE:Factory. python3-* packages have been and will continue to disappear from openSUSE:Factory, causing packages linked in devel:languages:python3 to break. So in order to keep devel:languages:python3 building, I have set all of the build targets to include devel:languages:python as one of their target repositories. This will make sure the single-spec packages are immediately available for building devel:languages:python3. However, it means that during the transition devel:languages:python3 cannot be used on its own. I don't see another feasible approach to keeping devel:languages:python3 building. This is a temporary measure since devel:languages:python3 will be removed entirely. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (5)
-
Dominique Leuenberger / DimStar
-
jan matejek
-
Michael Ströder
-
Thomas Bechtold
-
Todd Rme