Am 29.10.2014 um 21:56 schrieb Olaf Hering:
After adding a patch to handle Provides/Requires: pkgconfig to the SLE_11 rpm package in the packman buildservice many packages entered the unresolvable state. Its not obvious why that happens.
First I created a long list of "Substitute: pkgconfig(x) libx-devel=" to the prjconfig. Using such 'BuildRequires: pkgconfig(x)' in a spec file substitutes the pkgconfig() properly.
But if a package gets a new 'Requires: pkgconfig(x)' it is not handled properly by the solver.
MPlayer for example: SLE_11 x86_64 unresolvable: nothing provides pkgconfig(x11) needed by libvdpau-devel nothing provides pkgconfig(libcrypto) needed by librtmp-devel nothing provides pkgconfig(libssl) needed by librtmp-devel
The new librtmp-devel has: binaries.SLE_11/librtmp-devel-2.4.git20131007-2.2.x86_64.rpm requires: pkgconfig(libcrypto) pkgconfig(libssl) provides: pkgconfig(librtmp) = v2.4
And the prjconf has: %if 0%{?suse_version} == 1110 Substitute: pkgconfig(libssl) libopenssl-devel= %endif
So I would think that something should resolve "pkgconfig(libssl)" back to libopenssl-devel when processing the BuildRequires for MPlayer. Why is that not working for the SLE_11 repo? It appears to work for the openSUSE_11.4 repo.
The substitutes mean to rewrite buildrequires not requires of buildrequires. It would also substitute the pkgconfig if it was written explicit in librtmp.spec, but not if it's generated. and openSUSE_11.4 of course works because there is a package providing pkgconfig(libssl) So to fix that you need more than substitutes, e.g. a stupid meta package that provides pkgconfig(libssl) and requires libopenssl-devel. At least as far as my understanding of subsitutes go. Greetings, Stephan -- Ma muaß weiterkämpfen, kämpfen bis zum Umfalln, a wenn die ganze Welt an Arsch offen hat, oder grad deswegn. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org