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

Re: [Bug 739151] Re: [PATCH] dpkg-cross: handle multi-arch packages too



On Wed, 23 Mar 2011 09:39:04 -0700
Steve Langasek <steve.langasek@linaro.org> wrote:

> Hi Neil,
> 
> On Wed, Mar 23, 2011 at 02:55:07PM -0000, Neil Williams wrote:
> > On Wed, 23 Mar 2011 15:37:34 +0100
> > Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> wrote:
> 
> > > Ubuntu 'natty' switched to multiarch recently and my cross toolchain
> > > packages started to fail to build. Most of problems were fixed but then
> > > dpkg-cross hit us.
> 
> > > Today I looked at dpkg-cross and made attached patch to handle problem.
> > > What patch does is converting multiarch packages into old style ones.
> 
> > Are you sure you want to convert Multi-Arch paths to the old paths?
> 
> In a word: yes.  As long as we need dpkg-cross to do anything with
> Multi-Arch: same packages, the thing we need them to do is to convert them
> over to the old paths.

It wasn't initially clear that this was a temporary hack to get through
the transition. I'd hate to see this kind of support being used once
Multi-Arch-Cross is working and the toolchain is all done etc. As well
as removing dpkg-cross from the archive, there may need to be a package
which Conflicts: with it or certain cross-builds could Build-Conflict
with it. Yet it's the -cross packages that are the problem, if such a
problem actually exists.

There never was a good way of removing all -cross packages in one go -
I wrote emprunecross but it's reliant on detailed knowledge of the
toolchain.

We do have the dpkg-cross compatibility variable:

Provides: libgtk2.0-dev-armel-dcv1

Can't see that this would really help in this case, until we decide
that the transition is over but that would then need another upload of
the Multi-Arch package to conflict with the -dcv1 version but that
means adding one conflict for each arch.

Looks like this is just something else for each cross-building
developer to have to handle themselves. Current tools (like synaptic
and aptitude) do list all these cross packages in the "local or
obsolete" but there's other stuff in that list too.

> So since a developer might want to have both libc6-armel-cross and
> libc6:armel installed at the same time during the transition, the files
> still need to be moved around.
> 
> > The expected role for dpkg-cross once Multi-Arch started to be deployed
> > was only in putting non-Multi-Arch packages into old paths, letting the
> > toolchain find the other packages in their normal Multi-Arch paths.
> 
> This was also what I expected when viewing the matter from 10,000 feet.  Now
> that we're closer to the ground, I see that more involvement is still needed
> from dpkg-cross during the transition.

:-) Glad to know I hadn't misunderstood the final objective....
 
> It's not that the toolchain can't find the packages, it's that for
> bootstrapping toolchains into the archive we need to generate an installable
> libc6-armel-cross and libc6-dev-armel-cross package - and these packages
> should not use the multiarch paths, because the *real multiarch packages*
> want to use those. :)

I'll sort this out in dpkg-cross 2.6.3 this weekend.

-- 


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

Attachment: pgpzwa5VzNY5m.pgp
Description: PGP signature


Reply to: