using pkg-config for dynamic release packaging

Enrico Weigelt weigelt at
Tue Aug 24 18:29:41 PDT 2010

* Tollef Fog Heen <tfheen at> schrieb:

> | Well, that only doesn't give a precise description. It requires more
> | deep analysis. For examples, binaries have to be examined for which
> | libraries they're linked against. But that yet doesn't tell 
> | everything, eg. files that get loaded at runtime.
> This is true, but as I understand this, it's not about what a program
> links to.  It's about if you have a foo-devel package that has a foo.pc
> file which Requires: bar, foo-devel should depend on bar-devel (or
> whichever package contains bar.pc). If you don't have this dependency in
> place, pkg-config can't traverse the dependency graph and gets unhappy.

Yes, but still pkg-config can't help much here. As already said:
you need to have the proper packages in system/sysroot image,
long before you can go into configure stage. (okay, you could 
perhaps try to run it twice, but DONT forget to clean up properly,
or you'll risk really nasty misconfigs ;-o).

And again: no reliable information whatsoever. It only might help
in an half-automatic assistance system, which could tell you things
you *could* have forgotten.

One thing you could do is to put a wrapper around pkgconfig which
tells the packager if there was an attempt to query an missing
package. If that pops up we then either have a missing dependency
(in the spec files) or an broken package (eg. silently switching
features on existence of certain deps).

> | In the end there's no _reliable_ automatic way to do it, unless
> | we have some precise declaration coming from the package itself.
> | I'm currently working on an file classifier and dependency detector,
> | for use in package management and QM, but this is damned to be 
> | imcomplete simply due lack of information.
> You might want to take a look at how Debian does it with shlibs and
> symbols files.  This is not an automatic thing, but it seems to get it
> right, which is as/more important. :-)

No, it's just an assistance to the packagings system, IMHO, which
might help a bit in QM. But you can't retrieve reliable dependency
information this way. (this can only come from the developers).

 Enrico Weigelt, metux IT service --

 phone:  +49 36207 519931  email: weigelt at
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme

More information about the pkg-config mailing list