[arch-dev-public] News draft: QEMU >= 7.0.0 may need manual intervention
Hi all, with qemu 7.0.0 now in [staging] we have a more extensive split package setup (see accompanying TODO [1]). Under certain circumstances this will require manual intervention (or rather a specific upgrade) to regain the previous functionality: ``` With the update to qemu 7.0.0 the package has been turned into a more fine grained split package. The `qemu` package now only carries a few common files and tracks all of its leaf packages as optional dependencies. Much of the previous summarized functionality is now available via meta packages: * The functionality of `qemu` prior to 7.0.0 is replaced by `qemu-desktop` (**the transition to this package is manual**!) * The functionality of `qemu-headless` prior to 7.0.0 is replaced by `qemu-base` (the transition to this package is automatic). * The functionality of `qemu-arch-extra` and `qemu-headless-arch-extra` prior to 7.0.0 is replaced by `qemu-emulators-full` (the transition to this package is automatic). Furthermore, the meta package `qemu-full` provides all qemu related packages (excluding `qemu-docs`). As such, users that relied on the functionality of the `qemu` package prior to 7.0.0 should update using `sudo pacman -Syu qemu-desktop`. ``` Best, David [1] https://archlinux.org/todo/qemu-700-packaging-changes/ -- https://sleepmap.de
On 2022-04-21 23:20:32 (+0200), David Runge via arch-dev-public wrote:
with qemu 7.0.0 now in [staging] we have a more extensive split package setup (see accompanying TODO [1]). Under certain circumstances this will require manual intervention (or rather a specific upgrade) to regain the previous functionality:
Thanks to Jan I was made aware of the possibility to setup qemu-desktop to replace qemu<7, which should take care of the one manual intervention scenario. I therefore propose the following changes to the message (as the changes are quite substantial either way, a message is still warranted): Title: QEMU >= 7.0.0 changes split package setup ``` With the update to qemu 7.0.0 the package has been turned into a more fine grained split package. The `qemu` package now only carries a few common files and tracks all of its leaf packages as optional dependencies. Previous scenario functionality (e.g. "headless") is now available via meta packages. The transition to these packages should happen automatically: * The functionality of `qemu` prior to 7.0.0 is replaced by `qemu-desktop` * The functionality of `qemu-headless` is replaced by `qemu-base` * The functionality of `qemu-arch-extra` and `qemu-headless-arch-extra` is replaced by `qemu-emulators-full` Furthermore, the meta package `qemu-full` provides all qemu related packages (excluding `qemu-docs`). ``` Do note, that this message will only be posted after qemu 7.0.0 entered [testing], which will still take a little time due to the rebuild TODO revolving around it. Best, David -- https://sleepmap.de
On Fri, Apr 22, 2022 at 10:38 AM David Runge via arch-dev-public < arch-dev-public@lists.archlinux.org> wrote:
The `qemu` package now only carries a few common files and tracks all of its leaf packages as optional dependencies.
I'm still unhappy with `pacman -S qemu` not doing anything useful. Maybe we could name that `qemu-misc` or `qemu-common` instead and have our various metapackages provide `qemu`, so the user at least gets to select a provider?
On 2022-04-22 10:52:06 (+0200), Jan Alexander Steffens (heftig) wrote:
On Fri, Apr 22, 2022 at 10:38 AM David Runge via arch-dev-public < arch-dev-public@lists.archlinux.org> wrote:
The `qemu` package now only carries a few common files and tracks all of its leaf packages as optional dependencies.
I'm still unhappy with `pacman -S qemu` not doing anything useful. Maybe we could name that `qemu-misc` or `qemu-common` instead and have our various metapackages provide `qemu`, so the user at least gets to select a provider?
Hmm, that might work, too! If I understand you correctly, you would want something like: * qemu -> qemu-common * change split package dependencies from qemu to qemu-common * qemu-base provides qemu * qemu-desktop provides qemu (still replaces qemu<7) Would qemu-common still track all optional dependencies? I think the visibility of those in one place is very important, but to me it seems counterintuitive to have them on qemu-common. Do you have a better suggestion for this use-case? Best, David -- https://sleepmap.de
On 2022-04-22 11:07:26 (+0200), David Runge via arch-dev-public wrote:
On 2022-04-22 10:52:06 (+0200), Jan Alexander Steffens (heftig) wrote:
I'm still unhappy with `pacman -S qemu` not doing anything useful. Maybe we could name that `qemu-misc` or `qemu-common` instead and have our various metapackages provide `qemu`, so the user at least gets to select a provider?
Hmm, that might work, too!
If I understand you correctly, you would want something like:
* qemu -> qemu-common * change split package dependencies from qemu to qemu-common * qemu-base provides qemu * qemu-desktop provides qemu (still replaces qemu<7)
Would qemu-common still track all optional dependencies? I think the visibility of those in one place is very important, but to me it seems counterintuitive to have them on qemu-common. Do you have a better suggestion for this use-case?
After some further discussion with Jan yesterday, we evaluated a few more options to directly provide a functional qemu install experience, while still allowing for a granular setup. The solution we arrived at is: * move contents of (current) qemu to qemu-common and strip away the optdepends * make qemu a fully virtual package, provided by qemu-{base,desktop,full} * have each provider of qemu add the optdepends This setup allows for users to install qemu and choose a provider or go for a more specific solution on top of qemu-common. So I hope the below is the last iteration :) Title: QEMU >= 7.0.0 changes split package setup ``` With the update to qemu 7.0.0 the package has been turned into a more fine grained split package utilizing meta packages. * The `qemu` package is now virtually provided by the meta packages `qemu-base`, `qemu-desktop` and `qemu-full`. * The functionality of `qemu` prior to 7.0.0 is replaced by `qemu-desktop` * The functionality of `qemu-headless` is replaced by `qemu-base` * The functionality of `qemu-arch-extra` and `qemu-headless-arch-extra` is replaced by `qemu-emulators-full` * The meta package `qemu-full` provides all QEMU related packages (excluding `qemu-guest-agent`) ``` Best, David -- https://sleepmap.de
participants (2)
-
David Runge
-
Jan Alexander Steffens (heftig)