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

Bug#191411: [proposal] build-depends-indep should not be satisfied during clean target

On Mon, Jun 09, 2003 at 11:45:13AM +0100, Colin Watson wrote:
> > He's right.  Lots of Arch: all packages (correctly) use
> > Build-Depends-Indep and not Build-Depends at all.  With this change to
> > policy, almost all of them will immediately cease being policy
> > compliant.  (Most have debhelper as a dependency in the clean target.)
> > So what should this policy be?  I understand the desire not to require
> > Build-Depends-Indep to clean, but this isn't quite the way to do it
> > properly.
> > 
> > Any ideas?
> How about something that conveys the following intent:
>   * If a package has only Build-Depends:, or both Build-Depends: and
>     Build-Depends-Indep:, then Build-Depends: must be satisfied for
>     clean.
>   * If a package has only Build-Depends-Indep:, then
>     Build-Depends-Indep: must be satisfied for clean.
> It's less elegant by some way, but does seem to be roughly what people
> want and still compatible. Does it have any downsides?

If you take a regular Arch: any package that has an Arch: all
component, and both the arch-dep part and the clean target have no
build-dependencies, things get complicated. You'd want an empty
Build-Depends: field, which has a non-obvious meaning and may confuse
some tools. Plus it's not what the tools currently implement.

> Alternatively, we could just special-case source packages that only
> generate "Architecture: all" binaries and say that they need to satisfy
> Build-Depends-Indep: for clean. So:
>   `Build-Depends-Indep', `Build-Conflicts-Indep'
>        The `Build-Depends-Indep' and `Build-Conflicts-Indep' fields must
>        be satisfied when any of the following targets is invoked:
>        `build', `build-indep', `binary' and `binary-indep'. In addition,
>        if the source package only generates `Architecture: all' binary
>        packages, they must be satisfied when the `clean' target is
>        invoked.

This is probably better, since it doesn't change anything that
currently works... but do we really want to do that?

Note, both of these will require changing dpkg-dev, and may cause
difficulties building new source packages on older releases.

  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ | Dept. of Computing,
 `. `'                          | Imperial College,
   `-             -><-          | London, UK

Attachment: pgpfjDcXH7Hed.pgp
Description: PGP signature

Reply to: