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

Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

On Tue, May 05, 2009 at 07:13:23PM +0200, Julien Cristau wrote:

> arch-specific builds run 'debian/rules build && $rootcmd
> debian/rules binary-arch' (where rootcmd is fakeroot or sudo).  They
> can't do anything else, because the build-arch target is (still) not
> required.

Sure they can:

 debian/rules build-arch
 if [ "$?" -eq 2 ] then
   debian/rules build
 $rootcmd debian/rules binary-arch

Not wanting to do something as convoluted / brittle is another matter
altogether and something I'd support. (Returning error code 2 is
mandatory for debian/rules when called on a non-existing target, if I
remember well.) So, pbuilder can call "build" unconditionally (that in
itself is not a bug), but then it _must_ respect Build-Depends-Indep
and Build-Conflicts-Indep.

> Whatever's needed for this needs to be in Build-Depends.

No, policy is very clear on that: if you call the "build" target, you
_must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:


I quote (emphasis mine):

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.

If you make "build-arch" or "binary-arch", you need Build-Depends. If
you make "build-indep" or "binary-indep", you need Build-Depends and
Build-Depends-Indep. If you make "*build*" or "binary", you need

Under the current policy it is a bug for pbuilder to not install the


Reply to: