Mailinglist Archive: opensuse-packaging (102 mails)

< Previous Next >
[opensuse-packaging] Re: singlespec python and SLE_12_SP2_Backports
On 10.4.2017 17:25, Todd Rme wrote:
In devel:languages:python, the new singlespec approach is causing
problems with SLE_12_SP2_Backports build target. The issue is that
this build target fails if a package includes files from any package
in SLE, and packages that have this problem include some really
critical ones like setuptools.

This is a problem because in most cases only the python2 versions of
the files are available from SLE, but the build failure means the
python3 versions do not get published. This results in critical
python3 packages needed for singlespec builds not being available.
Currently more than half of the packages are either disabled or
unresolvable, and that number is going to grow to almost every package
as the singlespec conversion continues.

Does it mean that we are not allowed to use "python2-setuptools" from local
repository because
"python-setuptools" is part of SLE and should be used in the SLE version?
Or does the build of "python2-setuptools" fail because the resulting RPM has
file conflicts with a
package present in SLE?

In any case, I'm confused as to what is the purpose of the Backports
repository. Are people expected
to add it straight from OBS and install OBS-built RPMs? So they get
"python-foo" version from SLE
and "python3-foo" from d:l:py? What if the SLE version is too old, or the
d:l:py version is too new?
Would only building "python3-foo" help at all?

The simplest solution would be to just disable that repo by default.
However, if there (or could be) some way to selectively disable
building python2 versions of specific packages just for that build
target it might be better.

I know that you can add per-repository macros in prjconf. Not sure about
per-package. Adding this
configuration to the individual spec files seems ugly but possible if
necessary... In any case, it
would be a question of "%undefine have_python2" and fixing the bugs that
prevent it from working.

We could also create a custom version of python-rpm-macros that contains the
"python2 blacklist" as
part of itself. As long as it is limited to d:l:py(SLE12_Backports), this might
very well be the
cleanest solution -- no need to touch individual specs.


< Previous Next >
Follow Ups