Package: qemu-user-static Version: 1:9.0.2+ds-1 Severity: normal Currently, there are 2 packages providing exactly the same functionality which differs slightly internally: it is qemu-user (with qemu-user-binfmt) and qemu-user-static.
qemu-user is linked dynamically, so cannot be used in a foreign chroot (which is the most common usage of user- mode qemu emulation), because the dynamic libraries are usually not available. The only manageable scenario where non-static qemu-user can be used is when foreign executables are run directly on the host system where all required libraries are available. For example, when a foreign binary is installed on the host system in a multi-arch setup as now possible in debian, or when a statically-linked foreign app is run (again, on the regular host system). Once any form of a foreign chroot is involved, non-static version can't work. The static version is much more universal, it can be used in any possible scenario. One disadvantage of the static version is that it is significantly larger since all libraries are linked directly into every executable. I don't think this is a problem in practice. For users, having two packages to choose from is confusing, and often users install the wrong one (the non-static version), which doesn't work in their scenario. The intention is to rename qemu-user-static into qemu-user (making qemu-user to be the only user-mode qemu emulation package, statically linked), make qemu-user-static to be a transitional package which depends on qemu-user, and make qemu-user Provides: qemu-user-static. qemu-user-binfmt becomes just an empty transitional package. Both transitional pkgs will be removed after trixie. /mjt