GNOME Bugzilla – Bug 626952
libnotify.pc: Requires should be Requires.private
Last modified: 2011-08-19 06:46:28 UTC
Currently, libnotify's pkg-config file specifies a lot of dependant library packages in 'Requires'. This means that each application being linked against libnotify has to be linked against all of them which isn't true. In fact, such an app works completely fine with just '-lnotify'. The pkg-config manpage clearly states that: 'The difference from Requires is that the packages listed under Requires.private are not taken into account when a flag list is computed for dynamically linked executable (i.e., when --static was not specified). In the situation where each .pc file corresponds to a library, Requires.private shall be used exclusively to specify the dependencies between the libraries.' Thus, I think that all current 'Requires' of libnotify should be specified as 'Requires.private'.
Created attachment 167887 [details] [review] Patch against the git HEAD
not really, it just has gdk-pixbuf, glib and gio in the Requires line nowadays. gdk-pixbuf is needed, since we use it in the public api, and glib and gio are dependencies of gdk-pixbuf anyway.
*** Bug 656476 has been marked as a duplicate of this bug. ***
Still, glib & gio should not be directly linked.
GLib is also used in the public API (at least GVariant, GList and GError), so the only candidate for moving to Requires.private is GIO.