Description of problem: The problem is that libzen update breaks dependencies for package: libmediainfo-devel-0.7.71-2.el6.x86_64 from epel-testing unresolved deps: pkgconfig(libzen) Older versions of libzen provided this, latest one on epel-testing (0.4.30-2.el6) doesn't. Proposed fix: add to %package devel Provides: pkgconfig(%{name}) Obviously rpm can't do auto provides for pc files if cmake is used - so this is really rpm problem.
I think your analysis is incorrect. If the package still provides a pkgconfig .pc files, it should get auto-provided fine, even if built with cmake. If the package does not provide a pkgconfig .pc file, then blindly adding a Provides: would also be incorrect. I'll take a closer look at the libzen package in question.
Thanks. This is work-around - Auto provides doesn't work after changes on 0.4.30-2.el6 - 0.4.30-1.el6 still has correct Provides and only change after that is change to cmake. If this is rpm bug like I think it is, there is not much we can do, this is rhel.
It would appear the real problem is that rpm cannot do automatic pkgconfig dependencies if pkg-config itself is not available during the build. The best/easiest fix would be to simply add: BuildRequires: pkgconfig This problem likely affects all branches (not just el6 builds).
I guess that theory is wrong, checking logs, pkgconfig was indeed present in the buildroot. Still looking...
May be it only in EL6? Because for Fedora and EL7 pkgconfig(libzen) is present in Provides.
OK, the real problem is that zlib-devel, ie what provides pkgconfig(zlib), is not available in the buildroot. Add, BuildRequires: pkgconfig(zlib)
For example, there's a similar problem on f20's build too: $ rpm -q libzen-devel libzen-devel-0.4.30-2.fc20.i686 $ cat /usr/lib/pkgconfig/libzen.pc | grep Requires Requires: zlib $ rpm -qR libzen-devel | grep zlib (empty) It *should* have a dep on pkgconfig(zlib)
But in F20 it Provides pkgconfig(libzen) = 0.4.30
Sure, but it's broken in a subtle different way, which I outlined in comment #7 Fwiw, I question these lines in the .pc file anyway: Libs: -L${libdir} -lzen -lpthread -lstdc++ Requires: zlib I strongly suspect that -lstdc++ is only required for static linking, and maybe zlib too, but I don't see any references to zlib in libzen headers or it's library linking, so you may want to consider adjusting those lines to something like this instead: Libs: -L${libdir} -lzen -lpthread Libs.private: -lstdc++ Regardless, these issues will get sorted out if do either of these: * add BuildRequires: pkgconfig(zlib) , this is probably the best short-term quickfix. * patch libzen.pc to not include Requires: zlib , probably ought to consult upstream about this long-term
Rex, than you for your help with this. I totally forgot to check if all pc file requirements were in build root and suspected rpm.
libzen-0.4.30-3.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/libzen-0.4.30-3.el6
Imo, you would best release updates for all branches, the manifestation of the bug is different depending on which version of rpm used. See comment #7 as to how fedora 20's pkgconfig-related deps are currently broken.
Package libzen-0.4.30-3.el6: * should fix your issue, * was pushed to the Fedora EPEL 6 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=epel-testing libzen-0.4.30-3.el6' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-4701/libzen-0.4.30-3.el6 then log in and leave karma (feedback).
libzen-0.4.30-3.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.