On Thu, Jun 14, 2012 at 05:24:49PM +0200, Alexander Kurtz wrote:
> Thanks to multiarch, this is actually possible nowadays:
> 
>       $ dpkg --print-architecture 
>       amd64
>       $ file /usr/bin/hello 
>       /usr/bin/hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), 
> dynamically linked (uses shared libs), for GNU/Linux 2.6.26, 
> BuildID[sha1]=0xa70889bfecf2965db6078601790c2cfdc34c146a, stripped
>       $ qemu-arm /usr/bin/hello
>       Hello, world!
>       $ 

Indeed!
 
> This means that it is no longer necessary to keep foreign executables in
> their own dedicated chroot. It would therefore be really great if you
> could also include binfmt-support files in the qemu-user package and not
> just in the qemu-user-static package.

Yup, I've been giving this some thought recently...


> The positive aspect is that this would greatly reduce the need to
> install the statically compiled version. However, the downside is that
> qemu-user and qemu-user-static would probably need to Conflicts: because
> only one interpreter can be registered for any given binary format in
> the kernel.

> I think introducing a Conflicts: wouldn't matter since qemu-user-static
> actually provides a superset of qemu-user (the only difference being the
> ability to handle chroots) and there should be no need to have both
> versions installed a the same time. Any thoughts?

A Conflicts/Breaks would mean that qemu-user-static and the qemu metapackage 
wouldn't be installable at the same time, although you could manually install 
qemu-system separately, there are a few dependencies in the archive that 
should really depend on qemu-system (I mean to file more bugs about this).


I've thought about making a separate qemu-binfmts package, that could register 
alternatives, so that qemu-arm-static or qemu-arm could register a symlink, say 
qemu-arm-binfmt, and then the binfmt files would register the qemu-arm-binfmt 
symlink.

qemu-debootstrap would need to copy the appropriate qemu-FOO-static binary into
the chroot as it does now and also create a symlink (or install it directly to
the qemu-FOO-binfmt location).

This would allow both qemu-user variants to be installable simultaneously. 
Also, splitting the binfmt handling from the qemu-user-static package would 
allow you to install the appropriate qemu-user or qemu-user-static package into
the chroot, so that upgrades of the chroot would also be able to upgrade the 
qemu-user/qemu-user-static binaries.

I'm not sure I could make this happen in time for wheezy's freeze, 
unfortunately... but was hoping to put some time into this during Debconf12.


live well,
  vagrant



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to