Bug#456335: gtk+2.0: pkg-config files should use private depends on libraries

Bas Wijnen wijnen at debian.org
Fri Dec 14 17:51:23 UTC 2007


Package: gtk+2.0
Version: 2.12.3-2
Severity: minor

The *.pc files of the libraries have a "Requires:" relation to the
libraries they need themselves.  This is not the proper way to do this.
"Requires:" is meant for libraries which need to be directly linked by
any program linking the library.  This can happen, for example, when
inline functions in header files reference symbols from the other
library.  Those references then end up in the executable, and so it
should link directly to said library (if the inline function is actually
called.  Pkg-config can't actually find this out, so that's a problem in
itself).

For the usual case, where the library uses the other library internally,
the relation should be written as "Requires.private:".  This lets
pkg-config figure out if the system's ld can handle implicit recursive
dependencies, and if so, omit the direct link.  This is good, because it
makes it easier to transition the depended-on library (it has fewer
dependencies).

The result of using "Requires.private:" in all .pc files instead of
"Requires:" would mean:

- Programs which really use Gdk/Atk/... directly must link to these as
  well.  I think it will not even fail on Debian, because they are
  linked in through Gtk (both with dynamic and static linking), but at
  least theoretically they should specify this dependency themselves.

- dpkg_shlibdeps stops giving loads of warnings about linking to
  libraries that aren't used.  This is a good thing, because the problem
  that it warned about was real, and will have been solved.

I hope I have convinced you that this is a good change. :-)

Thanks,
Bas

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://pcbcn10.phys.rug.nl/e-mail.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20071214/54bb4ccb/attachment.pgp 


More information about the pkg-gnome-maintainers mailing list