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

FTWCA Policy Section 7.6 (Build-Depends/Build-Depends-Indep)



Dear fellow developers,


  Section 7.6[1] is an often misunderstood/forgotten part of the Policy
that explains how Build-Depends and Build-Depends-Indep are used to
build a package. Here is almost a copy&paste:

   The dependencies and conflicts they define must be satisfied
   in order to invoke the targets in debian/rules, as follows:

   The Build-Depends and Build-Conflicts fields must be satisfied
   when any of the following targets is invoked:
      build, clean, binary, binary-arch, build-arch,
      build-indep, binary-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 particular, it means that having cdbs, yada, dbs, dh-make-php and
other packaging helpers that are included from your debian/rules in
B-D-I is wrong, and that having debhelper in B-D-I is wrong as soon as
you use dh_clean in your clean target.

  Such issues generally trigger FTBFSes as soon as the source generates
one arch:any package. Though, as autobuilders do not rebuild source
packages that only build arch:all binary packages, a lot of them are
missed. In fact, it breaks pbuilder[2] and some other autobuilding
tools.


  I've listed all the packages that list dbs, cdbs, dh-make-php,
debhelper, yada, dpatch or quilt in their Build-Depends-Indep, and ...
2106 source packages are affected, which rules out any mass bug filing.
I've instead setup a dynamic (regenerated once a day) list of the
packages with this bug on people.d.o[3]. Also note that most of those
problems are already reported by lintian (at least for the usual patch
helpers, debhelper and cdbs).

Greetings,


 [1] http://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps

 [2] pbuilder asks you to install Build-Depends if you miss them, but do
     not ask for B-D-I (and it *is* the right behaviour), and then
     builds can fail.

 [3] http://people.debian.org/~madcoder/policy_7.6_violation.txt

--·
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

Attachment: pgp6716emtLOQ.pgp
Description: PGP signature


Reply to: