Bug 1174240 - libzen doesn't provide pkgconfig(libzen) a
Summary: libzen doesn't provide pkgconfig(libzen) a
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: libzen
Version: el6
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Vasiliy Glazov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-15 13:26 UTC by Tuomo Soini
Modified: 2015-01-12 17:40 UTC (History)
2 users (show)

Fixed In Version: libzen-0.4.30-3.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-12 17:40:32 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tuomo Soini 2014-12-15 13:26:35 UTC
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.

Comment 1 Rex Dieter 2014-12-15 13:31:26 UTC
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.

Comment 2 Tuomo Soini 2014-12-15 13:35:05 UTC
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.

Comment 3 Rex Dieter 2014-12-15 13:36:27 UTC
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).

Comment 4 Rex Dieter 2014-12-15 13:39:05 UTC
I guess that theory is wrong, checking logs, pkgconfig was indeed present in the buildroot.  Still looking...

Comment 5 Vasiliy Glazov 2014-12-15 13:41:57 UTC
May be it only in EL6? Because for Fedora and EL7 pkgconfig(libzen) is present in Provides.

Comment 6 Rex Dieter 2014-12-15 13:48:36 UTC
OK, the real problem is that zlib-devel, ie what provides pkgconfig(zlib), is not available in the buildroot.

Add,
BuildRequires: pkgconfig(zlib)

Comment 7 Rex Dieter 2014-12-15 14:06:19 UTC
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)

Comment 8 Vasiliy Glazov 2014-12-15 14:09:45 UTC
But in F20 it Provides
pkgconfig(libzen) = 0.4.30

Comment 9 Rex Dieter 2014-12-15 14:20:13 UTC
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

Comment 10 Tuomo Soini 2014-12-15 14:31:20 UTC
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.

Comment 11 Fedora Update System 2014-12-16 06:50:12 UTC
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

Comment 12 Rex Dieter 2014-12-16 13:14:26 UTC
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.

Comment 13 Fedora Update System 2014-12-17 05:36:22 UTC
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).

Comment 14 Fedora Update System 2015-01-12 17:40:32 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.