On 2020-04-07 12:40, Miro Hrončok wrote:
On 07. 04. 20 11:06, Petr Viktorin wrote:
> On 2020-04-03 20:44, Miro Hrončok wrote:
>> Hello Python packagers.
>> I have just updated python-rpm-generators to
>> python-rpm-generators-11-1.fc33 in Rawhide. It uses some fresh stuff
>> from RPM 4.16 and will not be backported to older releases.
>> The python(abi) requirement is now added from a RPM Lua macro,
>> instead of by executing a Shell script. This is a bit faster
>> especially for packages with a lot of files. For 10 000 files in one
>> package, the speedup is roughly from ~80 to ~2 seconds (time of the
>> entire package build incl. creating the files from a Python script).
>> That is a lot, but most of the real packages have much less files, so
>> I am afraid you won't feel it.
> One thing I'm wondering about is: why is python(abi) provided by a
> generator, anyway?
> It's provided by a very small set of packages (python2 and python3 in
> Fedora). Couldn't it just be listed in those specfiles?
Just to put this into more context: The time overhead is for the
requires. The provides are filtered on a certain path and even if we are
automating stuff for 2 packages which indeed might not be needed, it
doesn't really hurt anything.
for me trying to figure out when this provides are useful -- depending
on the answer there, we might want to keep the automated provides of
python(abi) only and remove the manual ones.
The part I don't get is: why keep the automated provides over manual
ones. Compared to a line in the relevant spec files, the macro looks
like it adds complexity for no benefit.
I get the automatic *requires* on python(abi) -- that's used by
thousands of packages and easy to forget. But the provides will only
ever be in CPython.