Dne 28.8.2018 v 13:47 Nicolas Mailhot napsal(a):
Le 2018-08-07 17:33, Adam Jackson a écrit :
> Consider a library like libGL. At runtime, you want the drivers it
> might load to be installed. But when building an application, you just
> need the library itself. If the drivers themselves have non-trivial
> dependencies, the buildroot is more likely to fail to compose.
That's a boostraping problem. The general solution is to make our
build tools bootstrap aware, so they activate bootstrap mode as needed
automatically, instead of forcing packagers to switch the conditional
manually in spec files each time a bootstraping situation arises.
Just FTR, the logic is more or less there.
https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping
https://pagure.io/packaging-committee/issue/789
together with:
https://src.fedoraproject.org/rpms/fedora-release/pull-request/7
So as long as you do the boostrapping iteration first with "%global
boostrap 1", then the packages have the "~bootstrap" suffix, if you do
subsequent build without the %{boostrap} macro defined, the suffix is
omitted.
Now the only issue is how to inject the "bootstrap 1" macro into the
buildroot. Obviously the tooling does not support it directly, but:
1) Modules can do this AFAIK
2) It is not that hard to adjust some basic RPM package shipping some
%{_rpmconfigdir}/macros.d/macros.* file to have this macro set.
V.