[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Should -dev packages providing .pc files depend on pkg-config?



On Sun, Apr 06, 2008 at 03:18:58PM +0200, Martijn van Oosterhout wrote:
> On Sun, Apr 6, 2008 at 6:48 AM, Simon Richter <sjr@debian.org> wrote:
> >  The use case here are people downloading a tarball and building that.
> >  These people are going to use a prebuilt configure script and expect the
> >  library to be found by it if the -dev package is installed.
> 
> Then the configure script should do:
> 
> Checking for pkg-config.... no
> ERROR: Please install pkg-config
> 
> It's not the dev package's responsibility to ensure gcc/g++/binutils
> are installed, I beleive the same applies to pkg-config.

It sounds like you're suggesting to add pkg-config to build-essential?
Because that's the reason that the -dev package doesn't depend on them.
It does depend on other library's -dev packages that it needs to compile
programs, for example.  Installing a -dev package and its depends
(including the implicit build-essential dependency because it's about
building things) should be enough to build a program with the library.

The question is, can a -dev package be used for its main function
(building programs with the library) without pkg-config?  IMO that
depends on the maintainer[1].  If the maintainer defines that pkg-config is
the only supported[2] way to use the library, then it should be a Depends.
If the .pc file is shipped as a service to the user, but building
without it is supported as well, then it should not be a Depends, but
possibly a Suggests or Recommends, depending on the exact situation.

Thanks,
Bas

[1] Here, "the maintainer" is a combination of upstream and the Debian
    maintainer.  In most cases, upstream's policy will be used unchanged
    by the Debian maintainer, but if the Debian maintainer chooses to
    diverge from it, then the new policy is what counts.  That is, if
    the Debian maintainer chooses to only support pkg-config, then
    that's how it is, even if upstream supports building without it as
    well.  And if upstream doesn't support anything else, but the Debian
    maintainer does (and thus becomes upstream for that part of the
    package), then that's how it is.  In other words, the Debian
    maintainer defines the rules for the Debian package and in most
    cases he/she will copy upstream's policy.

[2] And for clarity, if building without pkg-config is "supported" is a
    non-technical thing.  It consists of a statement from the maintainer
    about the issue.  The idea is that when it's supported, it will
    continue to work in newer versions (at least for some time).  It has
    nothing to do with whether or not it will work with the current
    version.

-- 
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


Reply to: