On Monday, May 26, 2003, at 02:54 PM, Branden Robinson wrote:
what dependencies of -dev packages really mean. There are at least three possibilities, and no Policy on which is controlling: 1) just what the package actually needs to install successfully (which is usually nothing); 2) just packages containing header files referenced by the headers in the package; 3) 2), plus -dev packages of any libraries that would necessarily belinked against when people compile something linked with an object inthe -dev.
I'm a very strong believer that any header file which requires another header file should include it. I think that most Debian developers are with me on this issue; the old-style "make the client include what I need" headers are losing favour, I think.
So, given this idea of making header files include what they need, it seems pretty natural to extend that idea to -dev packages. Thus, -dev packages should depend on what they need to work; this includes all header files they include. I imagine a dpkg-shlibdeps workalike could be created for this purpose if it became an issue.
w.r.t point 3, I think it's pretty natural to extend earlier ideas to symbols needed at link time. In most cases this will probably have a fairly large intersection with the set of packages depended upon for their headers. I think it makes sense to Depend upon -dev packages which are required (most of the time?) when building a program using the library in question.
The idea is to make -dev packages as useful as possible, so a person doesn't get a rude shock when they have to install a whole whack of other packages just to get their GLU-using programs to compile.