Overview
Request 749859 superseded
- update to rpm-4.15.1
- Created by mlschroe
- In state superseded
- Supersedes 749516
- Superseded by 752366
- Open review for openSUSE:Factory:Staging:N
rpm-build gaining a dependency on python3-setuptools is fatal - this can't possibly become a ring0 package
I'm not sure why Neal added that, I think the python3 requires would have been enough.
The pkg_resources
import used by the dependency generator when it hits valid python egg/wheel/dist metadata is part of the setuptools
module.
I suppose that most cases won't trigger this in a scenario where setuptools
won't also be in the build environment (since the import is conditionally invoked), but in theory it's possible to have a legacy distutils-based module with zero deps that pull in setuptools
, which would make the dep generator break.
Would a conditional Requires
work here?
Like, for example:
Requires: (python3-setuptools if (python-rpm-macros or python3-devel or python2-devel))
Rich deps (hard deps) are a huge problem: as soon as we start adding such things, we block all kind of zypper dup from openSUSE versions to TW where $old-version does not have rpm/zypp with rich dep support.
So far we limited ourselves to weak rich deps, so they can 'simply be ignored' (not perfect, but ok-ish)
But SLE 15 supports this, so SLE 15 to TW/SLE 16 should work.
The troublesome one would be SLE 12 to SLE 16, I guess. But are direct upgrades from SLE 12 to SLE 16 going to be supported?
Why would pyhon2-devel require the setuptools from python3?
Anyway, wouldn't it be better if python3-devel would require python3-setuptools?
The idea is any event where it's likely that the dep generator would be used would trigger the inclusion of the setuptools
dependency.
And ordinarily, it'd be fine if it was required by python3-devel
/python2-devel
, but most Python packages in openSUSE do not have a BuildRequires for it, so there's still a huge gap.
Maybe, but the old rpm packages didn't have a setuptools requires and nobody complaint, so we're not talking about a regression here.
Request History
mlschroe created request
- update to rpm-4.15.1
factory-auto added opensuse-review-team as a reviewer
Please review sources
factory-auto accepted review
Check script succeeded
dimstar_suse set openSUSE:Factory:Staging:N as a staging project
Being evaluated by staging project "openSUSE:Factory:Staging:N"
dimstar_suse accepted review
Picked openSUSE:Factory:Staging:N
licensedigger accepted review
ok
dimstar accepted review
dimstar_suse accepted review
Removing from openSUSE:Factory:Staging:N, re-evaluation needed
dimstar_suse approved review
Removing from openSUSE:Factory:Staging:N, re-evaluation needed
dimstar_suse added factory-staging as a reviewer
Requesting new staging review
dimstar_suse set openSUSE:Factory:Staging:N as a staging project
Being evaluated by staging project "openSUSE:Factory:Staging:N"
dimstar_suse accepted review
Picked "openSUSE:Factory:Staging:N"
superseded by 752366
Can we maybe make the /usr/lib -> /usr/libexec move in a 2nd step? RPM 4.15 with the parallel processing would be very nice to have - but with the libexecdir move will likely take 'forever'
Yeah, I suppose we could. I really want to get the new python dependency generator in ASAP for helping with supporting openSUSE as a target for upstream project CI, among other things.