Require.private?

Eric Faurot eric.faurot at gmail.com
Wed Jan 11 03:10:44 PST 2006


On 1/11/06, Tollef Fog Heen <tfheen at err.no> wrote:

> GTK+ and other similar libraries have had a long-standing tradition of
> pkg-config --cflags gtk+-2.0 giving you the directory includes for all
> libraries gtk+-2.0 depends on (and makes available through its headers).
>
> So, you could install glib-2.0 to /opt/glib-2.0 and gtk+-2.0 to
> /opt/gtk+-2.0.  /opt/gtk+-2.0/include/gtk/gtk.h includes (indirectly)
> <glib/glib.h>.  For this to work, -I/opt/glib-2.0/include needs to be
> added to the compilation command line when compiling gtk+-2.0-using
> applications.
>
> Hope this explains a bit.

My question is more focused on the "Require.private" change, especially
concerning linking. As I understand it, packagers are invited to change
"Require" into "Require.private" to avoid linking programs against
libraries they do not directly depend on (leaving the job to the dynamic
linker). cairo, for example, started to do this. there is also a word
about this in
http://lists.debian.org/debian-devel-announce/2005/11/msg00016.html
Is it really the new "official" way?

If yes, it would imply changing a huge number of packages; and I do
not see the real benefit of it, since it could have been handled with "Require"
by simply omitting the "-l" flags in dependencies when building dynamic code.
"Require" becomes apparently useless.

Am I missing something?

Eric.


More information about the pkg-config mailing list