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

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



notfound 599206 2.5.8ubuntu2
found 599206 2.5.8
severity 599206 wishlist
retitle 599206 "dpkg-cross: document file removal process
quit

On Tue, 05 Oct 2010 18:10:32 +0200
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> wrote:

> Package: dpkg-cross
> Version: 2.5.8ubuntu2

Wrong version - please report this in Launchpad only or reproduce in
Debian before filing the bug.

However, the "bug" as described is a result of how the code is
designed to work in both Debian and Ubuntu.

> dpkg-cross by default removes lot of files from converted packages.

This is to prevent file conflicts with the original package.

i.e. if you need files from a package which are removed from the cross
package by dpkg-cross, you need to ensure that the native version of
that package is installed.

dpkg-cross only cares about specific files types in the -cross package
- typically files which are architecture-dependent and which are
easily identifiable as such.

> Effect it that sqlite3 can not be cross built because
> tcl8.5-dev-armel-cross package does not contain tclConfig.sh (which was
> present in tcl8.5-dev_armel.deb).

So install tcl8.5-dev_amd64.deb and tcl8.5-dev-armel-cross.

This script is a "build-tool", it is not a "cross-build-dependency" in
that it is not a header file, it is not a pkg-config file and it is not
used when linking the cross built application. The file is therefore
not architecture-dependent and cannot be handled by dpkg-cross.

Retitling this as a documentation bug so that the manpage is clearer on
what dpkg-cross can and cannot be expected to perform.

If having the amd64 package around causes trouble, discuss with the tcl
maintainers whether the script can be put into a -dev-common package
or whether some more standard tool like pkg-config can be used instead.

This is a recurring problem in cross-building. dpkg-cross cannot leave
these files in place or the -cross package won't install. In an ideal
world, it would be nice if cross builds had a completely clean build
environment without native build-deps but that is not reality. Many
packages have architecture-independent support scripts which behave no
differently whether the build is native or cross. There is nothing
dpkg-cross can do about this except explain it in the manpage.

If the script doesn't generate the correct config when cross-building,
file a bug with Tcl to get the script to accept a parameter which can
be handled in the cross build. Simply moving the script to somewhere
under /usr/lib/arm-linux-gnueabi/ is not going to help you.

-- 


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

Attachment: pgpl2S_Rx3evV.pgp
Description: PGP signature


Reply to: