[Build-common-hackers] Bug#450483: Bug#450483: cdbs: Stop setting DEB_CONFIGURE_SCRIPT_ENV in order to enable cross-building

Neil Williams codehelp at debian.org
Wed Nov 7 17:48:36 UTC 2007


On Wed, 7 Nov 2007 17:53:38 +0100
Peter Eisentraut <peter_e at gmx.net> wrote:

> Am Mittwoch, 7. November 2007 schrieb Neil Williams:
> > It is only when cross-compiling and all those packages need to be fixed
> > anyway because the cross compiling support no longer provides anything
> > useful for CDBS to pass to this variable.
> 
> But there are many other situations in which useful things are passed around 
> that way, which packages need in order to build properly.

No. MAKEFLAGS should not be overwritten by the build tools. *packages*
may need MAKEFLAGS and the package should ensure that MAKEFLAGS is
suitably set. The build tools cannot take over MAKEFLAGS and set it in
a generalised manner. Keep it package specific.

You appear to be confused here because CDBS IS clobbering MAKEFLAGS and
yet you're saying that packages need it - yet CDBS tramples all over it!
 
Let the packages set the environment and everything is good.

Please note: I have rewritten the cross building support in Debian
(about 75% of it) and I specifically *removed* these overrides because
they break packages in a way that cannot be overridden.

> > Please check the patch - it only sets DEB_CONFIGURE_SCRIPT_ENV to empty
> > when cross-compiling.
> 
> Thus making the affected packages fail to build properly when cross-compiling, 

Actually, packages fail to cross compile with it set because CDBS sets
'gcc' when I need to set arm-linux-gnu-gcc etc. That is set by
dpkg-architecture and debian/rules but CDBS goes and tramples all over
it.

When CDBS sets CC=gcc I cannot unset or override that anymore because
the cross compiling tools (like CDBS) must *NOT* override it or things
like CC_FOR_BUILD will fail.

That's where this whole thing started: libx11
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=425445

> which appears to be contrary to your intentions.
> 
> Which part of the contents of DEB_CONFIGURE_SCRIPT_ENV are you objecting to, 
> specifically?

All of it.

CDBS has no business setting DEB_CONFIGURE_SCRIPT_ENV.

Any package that "needs" it is simply broken because there is no way of
providing useful information by that method.

CDBS already sets DEB_HOST_GNU_TYPE when specified by dpkg-architecture
- as set by the cross build itself - but then DEB_CONFIGURE_SCRIPT_ENV
goes and CLOBBERS IT!

Only if DEB_CONFIGURE_SCRIPT_ENV is empty can DEB_HOST_GNU_TYPE
actually get passed on to the package build.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/build-common-hackers/attachments/20071107/d8d91a17/attachment.pgp 


More information about the Build-common-hackers mailing list