Fw: Re: Results of the Bootstrap/Crossbuild Sprint
I got this very interesting response from help2man maintainer, which I
thought deserved a wider audience, so forwarding to debian-cross. Keep
him CC:ed on replies
----- Forwarded message from Brendan O'Dea <email@example.com> -----
Date: Mon, 22 Sep 2014 21:14:58 +1000
From: Brendan O'Dea <firstname.lastname@example.org>
Subject: Re: Results of the Bootstrap/Crossbuild Sprint
X-Spam-Status: No, score=-4.2 required=4.5 tests=BAYES_00,RCVD_IN_DNSWL_MED autolearn=ham
On 29 August 2014 19:52, <email@example.com> wrote:
> 4.2. help2man issue
> Source packages that build depend on help2man cannot be cross compiled
> because they require a build architecture binary to be executed for
> generating the man page. There exist different solutions to the problem:
> * one could build twice, first native then cross and run help2man on
> the native version of the binary.
> * one could introduce substitution variable support in Build-Depends in
> dpkg-dev so that the source package could build depend on the exact
> same version of the binary package it builds to generate the man page
> from it. This is filed as #751437.
> * one could use the nodoc profile.
> We will start using the last option for bootstrapping new architectures
> even though it does not solve the general cross compilation problem.
As the upstream and maintainer of help2man, I figured that I should
chime in here.
The recommended use of help2man is that it should be run by the
maintainer, and should not need to be run by the end user unless they
have made changes which have touched the dependencies of the manual
page. This is similar to autoconf, makeinfo, etc. where the products
are typically included in the distribution tarball.
The sprint doc (https://wiki.debian.org/Sprints/2014/BootstrapSprint)
seems to suggest that coreutils, bison and flex require help2man at
Note that the only reason that help2man is not arch:all is that it
includes a preload kludge to support building localised manual pages
using translations from the build tree rather than /usr/share/locale.
My recollection is that coreutils at least doesn't use this behaviour,
and in fact includes a copy of help2man in the source distribution so
should not require a build-dependency at all (disclaimer: I've not
looked at the Debian packaging).
The recommended use is not actually to include the program in the way
that coreutils does, but to use the "missing" program from automake
(see "Using help2man With make" in
http://www.gnu.org/software/help2man/) which should allow the program
to build, but use the version of the manual page included in the
source (which may be out of date).
----- End forwarded message -----
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM