On Tue, Dec 16, 2014 at 10:30:43AM +0100, Richard Biener wrote:
On Mon, 15 Dec 2014, Dmitriy Perlow wrote:
Christian Boltz
Mon, 15 Dec 2014 23:10:19 +0300: Try #!BuildIgnore: libgcc_s1
I seem to remember that BuildRequires: -libgcc_s1 is a newer (and recommended) version of that, but can't find a note about it in the wiki. Try it if #!BuildIgnore doesn't work ;-)
Uh, "BuildRequires: -libgcc_s1" is *not* recommended. It works because of a side effect in the spec file parser. Please use #!BuildIgnore.
The unfortunate reason for all this is that the OBS code doesn't allow same package names from multiple sources (or rather its behavior is random instead of deterministic). Thus we end up with multiple names for libgcc_s1.
It's deterministic nowadays, the package containers are ordered lexicographically and the first one wins. No randomness involved.
And of course another reason is that libgcc_s1 is in the 'Preinstall' section of the project config which doesn't seem to participate in dependency computation. So if you add BuildRequires: gcc49 then even the fact that libgcc_s1-gcc49 does satisfy a 'libgcc_s1' dependency doesn't help, because Preinstall is interpreted as a list of packages rather than an additional source of dependencies.
Not sure if any of the above can be improved to make it easier to support a BuildRequires of a non-system gcc. Michael?
I've used project-config hackery to get around this usually (but I've only had the need to switch compilers project-wide, not per package).
Yes, I think it's currently not possible to mess with the preinstalls on a per-packages basis. So you can't get rid of libgcc_s1 without changing the project config. Sorry, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org