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

Re: Bug#216492: FTBFS (unstable/all) missing build-dep



Scott James Remnant <scott@netsplit.com> wrote:
> On Sun, 2003-10-19 at 09:51, Adam Conrad wrote:
[...] 
>> libtool fails to build from source on all the buildds[1] due to a missing
>> build-dep on texi2html.

> libtool (and libtool1.4) *have* a build-dep on texi2html (and texinfo):

> Build-Depends-Indep: debhelper (>= 4.0), texi2html, texinfo
> Build-Depends: debhelper (>= 4.0), file, g77 | fortran77-compiler, gcj [!hppa !mips !mipsel]

> My reading of policy suggests that this is correct:

> ----8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<----
>     `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'.
> 
> [1]  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 both.
> ---->8-------->8-------->8-------->8-------->8-------->8-------->8-------->8----

> texinfo and texi2html are used in the "build" target.  As far as I can
> tell this means that the buildd should be ensuring both Build-Depends
> and Build-Depends-Indep are installed before running it.

> Have I read policy wrong, or is policy not entirely in accord with
> reality?
[...]

Afaik the latter, the buildds don't build the binary-all target and
won't install Build-Depends-Indep.

This works:
* If your package only builds arch-dependent packages, don't use
  Build-Depends-Indep

* If your package only builds binary-all packages, you can choose
  whether to use Build-Depends-Indep or Build-Depends. However many
  packages need Build-Dependencies for the clean target (dh_clean), if
  this applies you must use "Build-Depends".

* If your package builds both binary-arch and binary-all packages,
  list anything needed for build, clean, build-arch and binary-arch in
  "Build-Depends" and anything _additionally_ needed for binary-indep
  in "Build-Depends-Indep".

It is noteworthy that the split build-arch/build-all seems to be next
to useless, as dpkg-buildpackage invokes build (because the former two
a optional) and "the build target should depend on those of the
targets build-arch and build-indep that are provided in the rules
file."

If you want to keep the buildds from running/requiring texi2html do it
in the binary-all target.
              cu andreas



Reply to: