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

Re: Bug#180128: state of integration of dpkg-cross into dpkg



On Wed, 18 Jul 2012 19:11:38 +0200
Guillem Jover <guillem@debian.org> wrote:

> > The bulk of the patch is now out of date but rather than spend time
> > updating the patch, work is ongoing to merge the existing dpkg-cross
> > package (which includes all the cache values and architecture support)
> > into dpkg itself, sometime after Lenny.
> >
> > Far better, in my view, to remove the 'patch' tag from this report, keep
> > it open as wishlist and I'll merge it with the eventual bug report that
> > implements an updated patch (arranged with Guillem) that fully merges
> > dpkg-cross into dpkg and then remove dpkg-cross (and apt-cross) from
> > unstable.
> 
> So, was checking this (and also the dpkg roadmap) and was wondering what
> else is still missing to be merged from dpkg-cross? If the only problem
> is the listed below, then it'd seem this bug has been resolved and it
> can be closed.

One unresolved issue is the cache values and architecture support:
where to put the cross- config settings currently implemented
in /etc/dpkg-cross/cross* which pass the architecture-specific values
to autotools projects. CC'ing debian-embedded for more input on
that. 

e.g. /usr/share/perl5/Dpkg/Shlibs.pm contains numerous references to
dpkg-cross-style paths which pick up these files as well as allow
dpkg-cross'd libraries to be usable whilst MultiArch is still being
rolled out. 

This parallel support needs to be retained until some "critical mass"
of libraries and -dev packages are completely MultiArch compliant. At
that point (and not before) dpkg-cross would change into a transitional
package which is merely a configuration shell with no command-line
interface (and no perl module) but which just provides the
existing /etc/dpkg-cross/cross* data. At that point, xapt would have to
be removed from Debian.

My proposal would be that this transition is marked as dpkg-cross 3.0.0
and xapt gains a Depends: dpkg-cross (<= 3) immediately Wheezy is
released. dpkg-cross 3.0.0 would then have a Breaks: xapt and xapt
would be removed once dpkg-cross 3.0.0 arrived in unstable, possibly
not until after Wheezy +1, depending on the resolution of -dev
MultiArch package issues. To allow final removal of the transitional
dpkg-cross 3.0.0 and closure of this bug, dpkg-dev would adopt the
arch-specific metadata in dpkg-cross 3.0.0. Packages which currently
rely on package-specific metadata in /etc/dpkg-cross/cross* will have
to be patched to continue any cross-building support before dpkg-cross
can finally be removed.

The rest of this problem comes down to individual packages:

0: packages using custom config scripts instead of pkg-config

1: packages which have m4 macros which don't handle cross-building
cleanly, e.g. AC_TRY_RUN without fallbacks.

I think having dpkg-cross 3.0.0 is a useful interim stage which allows
the problems with -dev MultiArch packages to be resolved after Wheezy,
allows packages to migrate whilst retaining what cross-build support we
already have and provides a somewhat smooth path to eventual removal of
dpkg-cross.

Therefore, I think this bug will need to remain open, unless dpkg
maintainers do not wish to integrate the cross architecture-specific
metadata at all. (This data does not change until a new port is
accepted by dpkg or an old port removed, at which point it is just a
single file addition/removal containing data provided by the porters.)

e.g. for armel:
ac_cv_c_bigendian=no
ac_cv_c_char_unsigned=yes
ac_cv_sizeof_long_long=8
ac_cv_sizeof_unsigned_long_long=8
ac_cv_sizeof_long=4

> > The main issue unresolved in this bug report is the mapping
> > of /usr/lib/foo.so to /usr/arm-linux-gnu/lib/foo.so for packages that do
> > not use pkg-config (e.g. I'm having upstream problems trying to
> > configure a package that build-depends on Postgres and ODBC using
> > pg_config and iodbc-config respectively).
> 
> This should be solved by making those packages multi-arch ready.

Yes, this part of it is resolved as far as dpkg is concerned and the
work is now with package maintainers to implement MultiArch support but
there remains the issues around MultiArch and -dev packages which may
yet require some dpkg support - and thereby block this bug.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

Attachment: pgp9C15iaInB2.pgp
Description: PGP signature


Reply to: