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

Bug#599206: dpkg-cross should leave files in converted package



On Wed, 6 Oct 2010 15:38:37 +0200
Loïc Minier <loic.minier@linaro.org> wrote:

> On Wed, Oct 06, 2010, Neil Williams wrote:
> > Non-standard build configuration - you'll need to discuss with upstream
> > just how this is meant to support cross-compilation. Probably just have
> > to patch the source to make this script truly cross-platform by having
> > all the variables defined and selecting according to the
> > dpkg-architecture environment variables.
> 
>  Telling upstream that the fix is calling a Debian specific utility to
>  fix cross-builds is not going to work; but they could check some
>  triplet location
> 
> > .... a wdiff would have been a lot more helpful here. Exactly what
> > changed on those long, long lines?
> 
> from amd64 to armel
> 
> [--DTCL_WIDE_INT_IS_LONG=1-] {+-DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1+}

So those need to be picked up from whatever passes as a configure stage
but picked from a standard location - either using m4 tests
like ./configure or from the files that exist courtesy of dpkg-cross,
per architecture.

/etc/dpkg-cross/cross-config.amd64
/etc/dpkg-cross/cross-config.armel

I can put Tcl stuff into those files but those must be picked up *at
build time* as pkg-config and configure would pick them up, not from
the -cross package itself.

> > Carrying build meta data inside a package is dumb. It's one thing to
> > have libtool and Makefile hanging around in the source package, it's
> > quite another to package something like config.h in the binary -dev
> > package. That is what this -dev package is trying to do - include
> > buildd meta-data into a runtime -dev package. That data needs to come
> > from somewhere else, as with the pkg-config system, not from the -dev
> > package.
> 
>  Uh, pkg-config is exactly the same thing;

No. pkg-config specifies architecture-independent metadata which is
static within any single source release, not architecture-dependent
variables deduced at build time.

> it's fair enough to say they
>  should be using pkg-config, but they could as well dismiss their own
>  implementation as superior, or just dislike the pkg-config dep.

The build metadata needs to be determined at build time and that means
cross-build and native builds determining their data during the build,
not reading data arbitrarily read in from some previous build.

The machine preparing the -dev package does not necessarily have the
same configuration as the target device of the cross-build - these
things need to be *calculated* not retrieved from some previous build
somewhere else.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpJ9vmREVb_Z.pgp
Description: PGP signature


Reply to: