Quantcast

Python single-spec: it's starting

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Python single-spec: it's starting

jan matejek-4
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.


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Python single-spec: it's starting

Michael Ströder
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.


smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Python single-spec: it's starting

Dominique Leuenberger / DimStar
In reply to this post by jan matejek-4
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

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Python single-spec: it's starting

Dominique Leuenberger / DimStar
In reply to this post by Michael Ströder
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

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Python single-spec: it's starting

Thomas Bechtold
In reply to this post by jan matejek-4
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: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Python single-spec: it's starting

todd rme
In reply to this post by jan matejek-4
On Fri, Feb 17, 2017 at 11:35 AM, jan matejek <[hidden email]> 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: [hidden email]
To contact the owner, e-mail: [hidden email]

Loading...