Bug 638938 - missing dependencies in libgnomeui-devel
Summary: missing dependencies in libgnomeui-devel
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libgnomeui
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Parag AN(पराग)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-30 12:47 UTC by Christian Krause
Modified: 2010-10-06 04:41 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-06 04:41:06 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Christian Krause 2010-09-30 12:47:13 UTC
Description of problem:
/usr/lib/pkgconfig/libgnomeui-devel provides the following cflags:
Libs: -L${libdir} -lgnomeui-2 -lSM -lICE  
but the dependency of the -devel package does not require lib libICE-devel and libSM-devel anymore.

So if another package requires libgnomeui-devel as BR (but neither libICE-devel nor libSM-devel directly) the build fails.

IMHO in this case if the pkgconfig file requires certain libraries in the Libs variable the devel package should require the according devel packages as well.

Version-Release number of selected component (if applicable):
2.24.4-1.fc15, but the bug may be in F14 or F13 as well - most likely it was caused by this commit:

http://pkgs.fedoraproject.org/gitweb/?p=libgnomeui.git;a=commitdiff;h=bb6f70bae8df0483764f5a8e30d93de271bd4457;hp=518b996e0995eca6e50f25101951c6477ccd4b9c

How reproducible:
100%

  
Actual results:
$ rpm -qp --requires ~/Download/libgnomeui-devel-2.24.4-1.fc15.x86_64.rpm |grep -E '(libSM-devel|libICE-devel)'
$

Expected results:
still ok in libgnomeui-devel-2.24.3-1.fc13.i686:
rpm -q --requires libgnomeui-devel|grep -E '(libSM-devel|libICE-devel)'
libICE-devel  
libSM-devel

Comment 1 Parag AN(पराग) 2010-09-30 13:38:28 UTC
Thanks for adding me here.

As per Guidelines, http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires, I removed them. I think if other package is having libgnomeui-devel as BR but neither libICE-devel nor libSM-devel then that package should BR libICE-devel and libSM-devel.

Comment 2 Christian Krause 2010-10-05 21:05:27 UTC
Parag,

I'm not 100% sure that this was the intention of the Guidelines. ;-)

If a package's pkgconfig file defines explicitly additional libraries which should be linked, then this package must ensure, that it requires all necessary other -devel package to build.

It may be debatable whether it is correct to link explicitely additional libraries using the "Libs: " entry in pkgconfig, but _if_ a package uses this, then the corresponding -devel packages should be required.

I've just check a couple of other packages do this as well:
- libxslt:
$ cat /usr/lib/pkgconfig/libxslt.pc |grep Libs
Libs: -L${libdir} -lxslt  -lxml2 -lz -lm -lm
$ rpm -q --requires libxslt-devel|grep xml2-devel
libxml2-devel >= 2.6.27

or libgnome:
$ cat libgnome-2.0.pc |grep Libs
Libs: -L${libdir} -lgnome-2 -lpopt
$ rpm -q --requires libgnome-devel|grep pop
popt-devel  

I'm very sure that adding the BR in the package which uses the libraries in question is not the correct way.

Would you agree in this case?

Comment 3 Parag AN(पराग) 2010-10-06 04:41:06 UTC
I have added back following in spec
Requires: libSM-devel
Requires: libICE-devel

and now new build libgnomeui-2.24.4-2.fc15 shows
rpm -qp --requires ~/Downloads/libgnomeui-devel-2.24.4-2.fc15.x86_64.rpm |grep -E '(libSM-devel|libICE-devel)'

libICE-devel  
libSM-devel


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