On Tue, Jan 07, 2020 at 10:20:59AM -0500, Anthony Green wrote:
Neal Gompa <ngompa13(a)gmail.com> writes:
> RPM does not use libffi at all.
My bad.. rpmbuild, through it's use of gdb, which requires python, which
requires libffi. So my naive use of mock to try to build a new version
of libffi and all of it's dependencies fail.
> That said, it's quite easy to do a
> rebuild of libffi's reverse dependencies in a side-tag and then merge
> it back in.
Ok, I suppose I'm willing to try, but I have no idea what a side-tag is.
Repoquery tells me there are 192 packages that depend directly on
libffi.
> You can always ask for help from releng or other folks
> around here to help get it done.
Could somebody please walk me through the first few steps? Maybe start
by explaining side tags?
A side tag is a tag in koji where you can build things and they don't
affect other packagers/the real buildroot/tags.
In your libffi master checkout:
fedpkg request-side-tag
and it should give you a tag you can build things into.
Unfortunately since things in the buildroot depend on libffi, you can't
just simply build the new libffi and then rebuild everything in the side
tag, because after you build the new libffi there, the buildroot would
break.
You can make a compat package, but if everything is fine to move to the
new one thats overkill. I don't know if there's anything guideline wise
about this, but easiest might be to add a compat subpackage in the
existing libffi package where you simply copy the old so files from the
existing build in the buildroot, then rebuild against the new libfii in
the side tag, then drop the compat subpackage. I suppose you could also
add both old and new libffi source to the libffi package and build them
both (old to compat), rebuild in side tag and drop the old
sources/compat.
Does that make sense?
If you don't want to/have time to do it, perhaps file a releng ticket
and we can coordinate folks to do it there.
kevin