qemu-system-* Recommends qemu-system-gui
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qemu (Ubuntu) |
Won't Fix
|
Wishlist
|
Unassigned |
Bug Description
On cosmic as of 2018-08-29:
qemu-system-$arch packages appear to Recommend qemu-system-gui.
In turn, this means qemu-system-gui pulls in libgtk-3-0, which will pull in icon themes and all kinds of other things that probably shouldn't have to be on a server:
mtrudel@kuebiko:~$ sudo apt install libvirt-bin libvirt-daemon libvirt0
Reading package lists... Done
Building dependency tree
Reading state information... Done
libvirt0 is already the newest version (4.6.0-2ubuntu2).
The following additional packages will be installed:
adwaita-
glib-
gstreamer1.0-x gtk-update-
libaa1 libaio1 libasound2 libasound2-data libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavc1394-0
libbluetooth3 libbrlapi0.6 libcaca0 libcacard0 libcairo-gobject2 libcairo2 libcdparanoia0 libcolord2 libcroco3 libcups2 libdatrie1
libdconf1 libdv4 libepoxy0 libfdt1 libflac8 libgdk-pixbuf2.0-0 libgdk-
libgstreamer-
libharfbuzz0b libibverbs1 libiec61883-0 libiscsi7 libjack-jackd2-0 libjson-glib-1.0-0 libjson-
libncursesw5 libnl-route-3-200 libnspr4 libnss3 libogg0 libopus0 liborc-0.4-0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpciaccess0 libpcsclite1 libpixman-1-0 libproxy1v5 libpulse0 librados2 libraw1394-11 librbd1 librdmacm1 librest-0.7-0 librsvg2-2
librsvg2-common libsamplerate0 libshout3 libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libspice-server1 libtag1v5
libtag1v5-vanilla libthai-data libthai0 libtheora0 libtinfo5 libtwolame0 libusbredirparser1 libv4l-0 libv4lconvert0
libvirt-
libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libxcb-render0 libxcb-shm0 libxcomposite1 libxcursor1 libxdamage1
libxen-4.9 libxenstore3.0 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxml2-utils libxrandr2 libxrender1 libxtst6 libxv1 msr-tools
qemu-block-extra qemu-kvm qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios sharutils ubuntu-mono
x11-common
Suggested packages:
ifupdown gvfs libasound2-plugins alsa-utils colord cups-common libdv-bin oss-compat libvisual-
opus-tools pcscd pulseaudio libraw1394-doc librsvg2-bin speex libvirt-
libvirt-
sharutils-doc bsd-mailx | mailx
The following NEW packages will be installed:
adwaita-
glib-
gstreamer1.0-x gtk-update-
libaa1 libaio1 libasound2 libasound2-data libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavc1394-0
libbluetooth3 libbrlapi0.6 libcaca0 libcacard0 libcairo-gobject2 libcairo2 libcdparanoia0 libcolord2 libcroco3 libcups2 libdatrie1
libdconf1 libdv4 libepoxy0 libfdt1 libflac8 libgdk-pixbuf2.0-0 libgdk-
libgstreamer-
libharfbuzz0b libibverbs1 libiec61883-0 libiscsi7 libjack-jackd2-0 libjson-glib-1.0-0 libjson-
libncursesw5 libnl-route-3-200 libnspr4 libnss3 libogg0 libopus0 liborc-0.4-0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
libpciaccess0 libpcsclite1 libpixman-1-0 libproxy1v5 libpulse0 librados2 libraw1394-11 librbd1 librdmacm1 librest-0.7-0 librsvg2-2
librsvg2-common libsamplerate0 libshout3 libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libspice-server1 libtag1v5
libtag1v5-vanilla libthai-data libthai0 libtheora0 libtinfo5 libtwolame0 libusbredirparser1 libv4l-0 libv4lconvert0 libvirt-bin
libvirt-daemon libvirt-
libvte-
libxdamage1 libxen-4.9 libxenstore3.0 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxml2-utils libxrandr2 libxrender1 libxtst6 libxv1
msr-tools qemu-block-extra qemu-kvm qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios sharutils
ubuntu-mono x11-common
0 upgraded, 147 newly installed, 0 to remove and 0 not upgraded.
Need to get 36.6 MB/38.1 MB of archives.
After this operation, 166 MB of additional disk space will be used.
tags: | added: qemu-19.04 |
Hi Mathieu,
I know about that but taking it down to a suggest would be too much of a regression for users of local vrtiualization with gui.
Even I not really being a UI user often enough run it on a server with X forwarding to check bugs/features due to reports we get - so UI is used often enough (on servers as well).
== Dependencies == icon-cache common- data glib-1. 0-common
Lets make a diff of the depends first so that I can see what it exactly pulls on top of the old one:
$ diff old new
0a1,2
> adwaita-icon-theme
> at-spi2-core
13a16,18
> gtk-update-
> hicolor-icon-theme
> humanity-icon-theme
21a27,33
> libatk-bridge
> libatk
> libatk1.0-data
> libatspi
> libavahi-client
> libavahi-
> libavahi-common
29a42,44
> libcolord
> libcroco
> libcups
32a48
> libepoxy
42a59,61
> libgtk
> libgtk-3-bin
> libgtk-3-common
51a71,73
> libjson-glib
> libjson-
> liblcms
53a76
> libncursesw
63a87
> libpcsclite
70a95,97
> librest
> librsvg
> librsvg2-common
72d98
< libsdl1.2debian
74a101
> libsoup-gnome
83a111
> libtinfo
91a120,121
> libvte
> libvte-2.91-common
92a123,125
> libwayland-client
> libwayland-cursor
> libwayland-egl
94a128,129
> libxcomposite
> libxcursor
98a134,137
> libxi
> libxinerama
> libxkbcommon
> libxrandr
99a139
> libxtst
102a143,152
> qemu-block-extra
> qemu-system-common
> qemu-system-data
> qemu-system-gui
> qemu-system-x
> qemu-utils
> seabios
> sharutils
> ubuntu-mono
> x11-common
Yeah I agree that is a lot :-/
== Reasons ==
Let me explain the reasons behind all of it.
The UI backend was SDL1 based.
But SDL1 support will be dropped upstream and GTK just is better in so many ways.
SDL2 is not yet in main and seems to take a while (and GTK is better for users)
This is the reasons why Debian chose gtk and we followed on that, to have something working well (better than SDL1) and being supportable (gtk in main)
== Recommends ==
In fact before the switch from SDL to GTK this wasn't a dependency at all - it was built in and you had no option but pulling in Deps - yet back then it was almost only libsdl1.2debian which obviously had a smaller footprint than now.
The separation into an extra package was done to allow size sensitive people e.g. minimized images to have qemu-system-gui (and due to that its depends) uninstallable.
But to further drop it to not be installed by default seems too much to me.
Not late in the cycle and not after Feature Freeze.
== What can we do ==
Well I can be convinced, so far it is just the two of us and our opinions :-)
For now I'd suggest:
- keep 18.10 as it is
- early in 19.04 drop the dependency to a suggest
- identify packages we know needing it badly (e.g. virt-manager) and add explicit dependencies to
-gui.
But this can be hard e.g. virt-manager never depended on qemu (as it can be remote) it
only recommends libvirt which recommends qemu-kvm.
Neither adding qemu to virt-manager (incorrect) nor adding qemu-system-gui to libvirt (same
problem as we have now) seems to make this any better.
=> Due to that I'm not even sure we should do it in early 18.10 :-/
At the moment I'm not yet sure how to make this much better cyphermox, I'm afraid to me the current Recommend dependency seems to be the b...