Bug#782803: perl: DEB_BUILD_* vs. DEB_HOST_*
Niko Tyni
ntyni at debian.org
Sat Apr 18 07:50:25 UTC 2015
Package: perl
Version: 5.20.2-3
debian/config.debian has this, dating from at least 5.8.4-8:
arch_cpu=${DEB_BUILD_ARCH_CPU:-$(dpkg-architecture -qDEB_BUILD_ARCH_CPU)}
gnu_type=${DEB_BUILD_GNU_TYPE:-$(dpkg-architecture -qDEB_BUILD_GNU_TYPE)}
These are used to choose a few build options and set
the archname Configure argument.
There's also this comment in debian/README.source:
[...] To bootstrap a new architecture, use:
DEB_BUILD_GNU_TYPE=<arch> debian/rules binary-arch
OTOH, the multiarch installation path for architecture dependent
modules and the like is determined by
archtriplet=`dpkg-architecture -qDEB_HOST_MULTIARCH`
There seems to be a discrepancy here.
Now, as I understand this, DEB_BUILD_* give the properties of machine
we're building on, and DEB_HOST_* the properties of the machinge we're
building for (the target). These can differ when cross-compiling.
We don't really support cross-compiling atm, but there's no reason
to actually make it harder than necessary.
I think replacing the DEB_BUILD_* properties with corresponding DEB_HOST_*
ones is the right thing to do, but I'm not sure how the bootstrapping part
should read. I suppose it doesn't apply to a crosscompiling scenario,
but rather to a situation where a porter is building the perl package
on a mostly empty host where things like dpkg-architecture (which is
actually written in perl) and the like do not exist/work yet. So just
using DEB_HOST_* there will probably do.
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list