First of all, I skipped a large part of this thread, so I'm sorry if
this has come up before.
On Wed, Apr 16, 2008 at 03:53:03PM +0100, Neil Williams wrote:
> > And by this definition, it is the package _invoking_ pkg-config that
> > should Build-Depend on it, not the package that happens to ship a .pc
> > file.
>
> I agree with that interpretation and that intention, I'm just not sure
> it covers all eventualities.
What is missed, I think, is the situation where:
- the library which ships the .pc file also ships a script which calls
pkg-config, called foo-config.
- the library provides this as an option, and lets you use other options
(for example using pkg-config directly) as well.
- the library wants the foo-config option to be opaque, that is, it may
stop using pkg-config in the future, and use some other method to
provide the flags.
According to the suggested definition, if a package using this library
chooses to use foo-config, it doesn't call pkg-config directly (and it
may not call it at all, this depends on the inner workings of
foo-config). So the package wouldn't need a Build-Depends: on
pkg-config. However, the library doesn't need a Depends: either,
because the package can well be used without pkg-config.
While I agree that the proposed solution is probably best (the caller
needs the dependency), this situation isn't solved by it. Then again,
this seems to be a broken dependency specification by upstream ("what do
you need to compile programs with this library?"), and I'm not sure if
this is solved by anything other than "you need to depend on everything
you directly or indirectly use", and we certainly don't want that.
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
Attachment:
signature.asc
Description: Digital signature