On Wed, 2008-04-16 at 19:57 +0200, Gabor Gombas wrote: > On Wed, Apr 16, 2008 at 07:15:53PM +0200, Goswin von Brederlow wrote: > > > You are missing the point. > > > > What if the library says "You must call /usr/bin/foo during build"? > > But the library can't say "foo must come from a Debian package". What if > I have my local replacement?
/usr/local/bin/foo ? > Why should I be forced to install a package > that is now useless for me (and installing it would only cause confusion > as there are now two different tools with the same name present in > $PATH)? That is a problem with your replacement, not with the Debian package. If your replacement is a Debian package, you need to use Debian Policy to handle that situation - it still doesn't mean that it is the fault of the library or that the library must support your alternative. > > > The libarry does not use foo, only the user, so no depends? > > Of course no dependency is needed. To run /usr/bin/foo, if you need bar, the package containing foo must depend on bar. That, in this case, means libfoo-dev depends on pkg-config. > If the library is not used by anyone > (think about an NFS server that just exports the library), then a > missing "foo" would not hurt anyone. And if someone _does_ use the > library, then that user must depend on "foo", and everything is fine. Or more exactly, the package containing foo which will be the -dev. > > Or idoes forcing users to use foo make foo part of the API and hence > > the library should depend on it? > > You can't _force_ anyone to use foo. At most you can say "I'm not going > to give you support if I somehow find out you didn't use foo" but that's > it. I should be able to write my own tools and use the library in > whatever way I want - or the library must go into non-free. True, but you cannot dictate to the library that it must support your replacement or even not conflict with it. Your replacement needs to live with the package as-is, in accordance with Debian Policy. If Policy gets an update that "you run it, you depend on it" along the lines of my previous post, then the -dev would depend on pkg-config and most other applications using the library would depend on pkg-config *if* they need that to work with other libraries. (That's the usual case - most applications will end up running pkg-config so most applications will end up with a Build-Depends: pkg-config, ....) -- Neil Williams <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part