Bug 152486 - incomplete dependencies break pkgconfig dependency chain
Summary: incomplete dependencies break pkgconfig dependency chain
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: gamin
Version: 4
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Daniel Veillard
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-03-29 21:29 UTC by Michael Schwendt
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-03-30 10:57:03 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael Schwendt 2005-03-29 21:29:45 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.7.6) Gecko/20050323
Firefox/1.0.2 Fedora/1.0.2-1.3.1

Description of problem:
Package contains a pkgconfig template file, which lists other pkgconfig files as
requirements. When these files are included in other RPM packages, the RPM
package "Requires" must be complete. Else pkgconfig fails, prints an error
message and returns an error code for standard queries like "pkg-config --exists
foo-1.0", "pkg-config --cflags foo-1.0" or "pkg-config --list-all".

missing dependencies due to pkgconfig files:

Requires: glib2-devel


Version-Release number of selected component (if applicable):
gamin-devel-0.0.25-4

How reproducible:
Always

Steps to Reproduce:
-    

Additional info:

Comment 1 Daniel Veillard 2005-03-30 10:44:15 UTC
On Wed, Mar 30, 2005 at 12:24:13AM -1000, Warren Togami wrote:
> Daniel Veillard wrote:
> >  I don't understand what is the consequence of adding a library to
> >  pkgconfig.
> >Suppose package A requires gamin to work. It will link with gamin or fam.
> >It does not need to link with glib. But glib is needed for gamin server
> >and the server only not the library used by the client application. The
> >package of the application depending on gamin should *not* get a glib
> >dependancy, only gamin need to. It seems the bug raised break that test
> >case, but I don't understand how pkgconfig works.
> >  Do you have a clear normative description of pkgconfig which could
> >explain how that case need to be handled ? If by requiring gamin/fam
> >all KDE suddenly get a glib dependancy people will complain publicly
> >that's 100 sure. So I'm very reluctant following the advice in
> >  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=152486
> >or in your mail.
> >
> >Daniel
> >
>
> My response is only "builds fail without it", political reasons should
> not override reality.  However...
>
> https://www.redhat.com/archives/fedora-maintainers/2005-March/msg00132.html
> Michael explains here with more detail.  If you have a response, then
> please respond on that list.

  Okay I have only one normative text for what pkgconfig is all about:

man pkg-config
-------------------------
The pkg-config program is used to retrieve information about installed
libraries in the system.  It is typically used  to  compile  and  link
against  one or more libraries.  Here is a typical usage scenario in a
Makefile:
-------------------------

  pkg-config is there to get library dependancies. Program needing fam or
gamin support need it to get the libraries to link to. The output of
pkgconfig cflags or link must *NOT* show glib output, even if from a
packaging level, gamin requires glib for the server side. The fact that
KDE requires fam or gamin, does not mean it should link against glib.
So without further detailed information allowing to disambiguate using
pkgconfig for it's original goal of simplifying compiling and linking from
the added use as a packaging dependancy, bug #152486 is a WONTFIX for me.

Daniel


Comment 2 Michael Schwendt 2005-03-30 10:49:06 UTC
But you do require glib2-devel CFLAGS and LDFLAGS in your .pc file. Drop them if
they are not needed. See "pkg-config --cflags --ldflags gamin".

--- gamin.pc.orig       2005-03-01 19:06:28.000000000 +0100
+++ gamin.pc    2005-03-30 12:47:50.000000000 +0200
@@ -6,6 +6,5 @@
 Name: gamin
 Description: The gamin file monitoring system.
 Version: 0.0.25
-Requires: glib-2.0 gthread-2.0
 Libs: -L${libdir} -lgamin-1
 Cflags: -I${includedir}/fam




Comment 3 Daniel Veillard 2005-03-30 10:57:03 UTC
Okay, that make more sense then. Changed upstream,

  thanks,




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