On Tue, Mar 22, 2011 at 01:54:32AM -0000, Wookey wrote:
> In general the right thing for dpkg-cross to do with multiarch
> packages is nothing, at least in terms of moving files about. What you
> want here is the ability to leave the files just where they are but
> still have the 'make a package for a different arch' functionality?
> Or do you in fact want the functionality of moving files into the
> 'old' locations even if they start in the multiarch ones (because
> something about the build process needs it)? That seems very horrid
We do actually need dpkg-cross, when called on these packages, to "cross"
them - copying the contents to the /usr/armel-linux-gnueabi/ heirarchy -
because these resulting Arch: all crossed packages need to be installed on a
system, and such packages are *not* allowed to install contents to
/usr/lib/armel-linux-gnueabi, which policy reserves for packages of
Architecture: armel.
> > I've checked with dpkg-cross 2.6.2 from Debian unstable; the same
> > problem is present there.
> The multiarch behaviour of what's in cvs (2.6.3) is different from 2.6.2. It
> essentially tries to do nothing.
> $ dpkg-cross -b -a amd64 libc6_2.13-0ubuntu8_amd64.deb
> dpkg-cross: Skipping the 'libc6_2.13-0ubuntu8_amd64.deb' Multi-Arch package.
> So that's better than the previous messing it up, and is a prefectly
> reasonable way of fixing this bug. (i.e now it does something
> sensible). But that doesn't help armel-cross-toolchain-base.
I think this is probably good default behavior for dpkg-cross when faced
with a multi-arch package, but yes, we definitely need an override.
> > So the armel cross-compiler in the archive isn't buildable
> > until this is resolved.
> I think we can all agree that the _correct_ fix for this is to allow
> cross-arch dependencies and have the cross-toolchains built in a less-gross
> way, but as we're not going to be there for a bit it seems like
> allowing dpkg-cross --convert-anyway to make
> libc6_2.13-0ubuntu8_amd64.deb into
> libc6-amd64-cross_2.13-0ubuntu8_all.deb
> might be a reasonable things to do.
> --convert-anyway is currently used for 'convert when the package would
> otherwise be null'. Extending it to cover 'convert even when it
> multiarch and normally we'd do nothing' doesn't seem unreasonable. Can
> anyone think of a reason why a different option (--force-cross?) should
> be used?
I can't think of a reason for a separate option offhand.
Thanks,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
<email address hidden> <email address hidden>
On Tue, Mar 22, 2011 at 01:54:32AM -0000, Wookey wrote:
> In general the right thing for dpkg-cross to do with multiarch
> packages is nothing, at least in terms of moving files about. What you
> want here is the ability to leave the files just where they are but
> still have the 'make a package for a different arch' functionality?
> Or do you in fact want the functionality of moving files into the
> 'old' locations even if they start in the multiarch ones (because
> something about the build process needs it)? That seems very horrid
We do actually need dpkg-cross, when called on these packages, to "cross" linux-gnueabi/ heirarchy - armel-linux- gnueabi, which policy reserves for packages of
them - copying the contents to the /usr/armel-
because these resulting Arch: all crossed packages need to be installed on a
system, and such packages are *not* allowed to install contents to
/usr/lib/
Architecture: armel.
> > I've checked with dpkg-cross 2.6.2 from Debian unstable; the same
> > problem is present there.
> The multiarch behaviour of what's in cvs (2.6.3) is different from 2.6.2. It
> essentially tries to do nothing.
> $ dpkg-cross -b -a amd64 libc6_2. 13-0ubuntu8_ amd64.deb 2.13-0ubuntu8_ amd64.deb' Multi-Arch package.
> dpkg-cross: Skipping the 'libc6_
> So that's better than the previous messing it up, and is a prefectly toolchain- base.
> reasonable way of fixing this bug. (i.e now it does something
> sensible). But that doesn't help armel-cross-
I think this is probably good default behavior for dpkg-cross when faced
with a multi-arch package, but yes, we definitely need an override.
> > So the armel cross-compiler in the archive isn't buildable
> > until this is resolved.
> I think we can all agree that the _correct_ fix for this is to allow 13-0ubuntu8_ amd64.deb into cross_2. 13-0ubuntu8_ all.deb
> cross-arch dependencies and have the cross-toolchains built in a less-gross
> way, but as we're not going to be there for a bit it seems like
> allowing dpkg-cross --convert-anyway to make
> libc6_2.
> libc6-amd64-
> might be a reasonable things to do.
> --convert-anyway is currently used for 'convert when the package would
> otherwise be null'. Extending it to cover 'convert even when it
> multiarch and normally we'd do nothing' doesn't seem unreasonable. Can
> anyone think of a reason why a different option (--force-cross?) should
> be used?
I can't think of a reason for a separate option offhand.
Thanks, www.debian. org/
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://
<email address hidden> <email address hidden>