On Sat, Jul 23, 2022, 03:30 Richard Shaw <hobbes1069(a)gmail.com> wrote:
Replying in general...
I've asked about a "one script to rule them all" a few times over my 10+
year Fedora packaging career and it's fallen on deaf ears.
I hope something will happen this time. There should really be only ONE way to determine
what packages need to be rebuilt, even if it's not perfect, we can deal with the
corner cases but everyone doing their own thing has definitely been worse.
It should be part of the fedora-packager package.
The problem is that what you need to query for depends on what you're doing.
The queries I posted in this thread are for *all dependencies*, i.e.
to determine the impact of something like a package removal.
On the other hand, if you're trying to determine the impact of an
soname bump, the query would be quite different (or rather, more
complicated / specific). Otherwise your list of "packages that need to
be rebuilt for the soname bump" is going to contain a lot of packages
that don't need to be rebuilt at all.
Given that there can't be one way to rule them all, we'd need
specialized scripts for different purposes. And since I don't have a
script that works for the second example here (soname bumps), which is
what you have asked about in the past, I haven't shared that (because
I don't have it). I maintain only a handful of packages that build
shared C / C++ libraries, and the rest are all either only
applications without libraries, or 2000+ Rust packages (for which the
compatibility / impact checks are much simpler), so I haven't needed
to develop tooling for the "soname bump" case.
In the case of pcre, it's about *total impact* in case of package
removal, for which I *did* happen to have the tooling already.
But I agree that we should have a canonical way to calculate
dependency trees like this, and that it should be part of our tooling.
Should we collaborate on those canonical scripts so that they can be
published as part of the standard packager toolkit?
I can open a pagure repo and push a script for the "total impact"
case, and we can then build one for the "soname bump" case based on
that ...
Fabio