Mailinglist Archive: opensuse-buildservice (96 mails)

< Previous Next >
[opensuse-buildservice] the impact of 'Prefer' during dependency solving
How does a 'Prefer: x' in prjconf influence the solver which calculates
the required packages for build? Does it only affect failures like 'have
choice for x < N: A B'? Or would it also affect the selected version of
'x' if two pkgs provide 'x' in different versions?

The prjconf in Factory and 42.2 have "Prefer: -ffmpeg2-devel". This pkg
provides 'pkgconfig(x) = 1'. Another pkg "x2" in the projects above
provides 'pkgconfig(x) = 2'. There are pkgs which have "BuildRequires:
pkgconfig(x)" and I think the solver just picks the one with the higher
version number, so the "Prefer:" is likely unneeded.
Within Factory and 42.2 the "Prefer:" does not cause trouble.

In a private prj with Factory or 42.2 as base project the "Prefer:" does
cause trouble, because there is likely no "UnPrefer:".
In that private prj there is a pkg "x0" which provides "pkgconfig(x) = 0".
The private repo has "Prefer: -x0" in prjconf.
In addition there are pkgs which have one of "BuildRequires: pkgconfig(x)",
"BuildRequires: pkgconfig(x) = 0", "BuildRequires: pkgconfig(x) = 1" and
"BuildRequires: pkgconfig(x) < 2". Since "Prefer: -ffmpeg2-devel" was
added to Factory/42.2 all pkgs with "BuildRequires: pkgconfig(x) < 2"
are now in state unresolvable:
have choice for pkgconfig(x) < 2: x0 ffmpeg2-devel
This could be solved by adding 'Prefer: ffmpeg2-devel' to prjconf.
How would such change affect pkgs with "BuildRequires: pkgconfig(x)"?
Will the solver pick "ffmpeg2-devel" or "x2" for unversioned BuildRequires?

< Previous Next >
This Thread
  • No further messages