Public bug reported:

Reported by Julian

In [1], a user runs apt install qemu-system-gui installs qemu-system-
riscv with the old solver and qemu-system-aarch64 with the new one;
because it only Depends: qemu-system-any but it should depend on
something like qemu-system-native | qemu-system-any, it's a bit
unexpected to pick a random system to emulate

And yes, it should be "the native one".

This behavior was that way since 1:8.0+dfsg-2 and is only now becoming a
true problem due to the new resolver. See [2]


If someone wonders where in d/control qemu-system-any is, it is not :-)
As you can see in an example build [3] it is generated at build time in [4] 
like:

...
rm -f debian/tmp/usr/lib/x86_64-linux-gnu/qemu/accel-qtest-*.so
# ==== installing qemu-system-arm ===
echo 'qemu:Provides=  qemu-system-any (=1:10.1.0+ds-5ubuntu2), 
qemu-system-aarch64 (=1:10.1.0+ds-5ubuntu2), qemu-system-arm64 
(=1:10.1.0+ds-5ubuntu2), qemu-system-armel (=1:10.1.0+ds-5ubuntu2), 
qemu-system-armhf (=1:10.1.0+ds-5ubuntu2),' | tr _ - >> 
debian/qemu-system-arm.substvars
...

This gets added to all system emulators.

That also creates `qemu-system-native` in the same run.

on amd64 buildlog:
echo 'qemu:Provides=qemu-system-native (=1:10.1.0+ds-5ubuntu2), qemu-kvm 
(=1:10.1.0+ds-5ubuntu2), qemu-system-any (=1:10.1.0+ds-5ubuntu2), 
qemu-system-i386 (=1:10.1.0+ds-5ubuntu2), qemu-system-x86_64 
(=1:10.1.0+ds-5ubuntu2), qemu-system-amd64 (=1:10.1.0+ds-5ubuntu2),' | tr _ - 
>> debian/qemu-system-x86.substvars

vs the same on arm64
echo 'qemu:Provides=qemu-system-native (=1:10.1.0+ds-5ubuntu2), qemu-kvm 
(=1:10.1.0+ds-5ubuntu2), qemu-system-any (=1:10.1.0+ds-5ubuntu2), 
qemu-system-aarch64 (=1:10.1.0+ds-5ubuntu2), qemu-system-arm64 
(=1:10.1.0+ds-5ubuntu2), qemu-system-armel (=1:10.1.0+ds-5ubuntu2), 
qemu-system-armhf (=1:10.1.0+ds-5ubuntu2),' | tr _ - >> 
debian/qemu-system-arm.substvars

With all that provided for general background on the topic I agree to Julian.
In hindsight and thinking about the problem I'd have expected htat to pull in 
`qemu-system-native` and not `qemu-system-any`.

While the new apt resolver might expose this more it seems to need a
change in general unless I'm missing something. Need to look deeper and
ask Michael if he remembers another reason why that should be -any.

[1]: https://errors.ubuntu.com/oops/917ce5fe-4076-11f0-bbf0-fa163ec44ecd
[2]: 
https://salsa.debian.org/qemu-team/qemu/-/commit/7dccf57c635a55a5164d253b3fa17127600a9a9b
[3]: 
https://launchpadlibrarian.net/821807358/buildlog_ubuntu-questing-amd64.qemu_1%3A10.1.0+ds-5ubuntu2_BUILDING.txt.gz
[4]: 
https://salsa.debian.org/qemu-team/qemu/-/blob/master/debian/rules?ref_type=heads#L135

** Affects: qemu (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: server-todo

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2127053

Title:
  qemu-system-any brings in any system emulator with the new solver -
  should it be qemu-system-native?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/2127053/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to