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
signature.asc
Description: Digital signature