Source: hw-detect
Version: 1.147
Severity: normal
User: de...@kali.org
Usertags: origin-kali

Dear Maintainer,

The package open-vm-tools 11.3.5, released in January 2022, depends on
fuse3 rather than fuse [1].

As a consequence, hw-detect fails to install open-vm-tools if ever the
package fuse was already installed. This is because installing fuse3
would cause the removal of fuse, and removals are not allowed.

This can be seen in the logs of the installer:

in-target: The following additional packages will be installed:
in-target:   ethtool fuse3 libatkmm-1.6-1v5 libcairomm-1.0-1v5 libfuse3-3
in-target:   libglibmm-2.4-1v5 libgtkmm-3.0-1v5 libmspack0 libpangomm-1.4-1v5
in-target:   libsigc++-2.0-0v5 open-vm-tools zerofree
in-target: Suggested packages:
in-target:   cloud-init
in-target: The following packages will be REMOVED:
in-target:   fuse
in-target: The following NEW packages will be installed:
in-target:   ethtool fuse3 libatkmm-1.6-1v5 libcairomm-1.0-1v5 libfuse3-3
in-target:   libglibmm-2.4-1v5 libgtkmm-3.0-1v5 libmspack0 libpangomm-1.4-1v5
in-target:   libsigc++-2.0-0v5 open-vm-tools open-vm-tools-desktop zerofree
in-target: 0 upgraded, 13 newly installed, 1 to remove and 0 not upgraded.
in-target: E: Packages need to be removed but remove is disabled.

In practice, it hits Kali Linux users, as reported in [2]. For some
reasons, fuse gets installed if users install the KDE desktop for Kali.

Does it happen in Debian as well? A quick check tells me that it does
NOT happen for GNOME, as gnome-core Depends on gvfs-fuse which Depends
on fuse3. But for other desktop environments I don't know.

I've seen that the script apt-install supports an option --allow-remove,
so I wonder if we could make use of it in this case, to make installing
open-vm-tools more reliable.

For example, this kind of patch:

diff --git a/hw-detect.finish-install.d/08hw-detect 
b/hw-detect.finish-install.d/08hw-detect
index a91bff07..5269f114 100755
--- a/hw-detect.finish-install.d/08hw-detect
+++ b/hw-detect.finish-install.d/08hw-detect
@@ -103,10 +103,12 @@ enable_modules_loading() {

 case "$(detect_virt)" in
     vmware)
+       # open-vm-tools depends on fuse3, which Replaces fuse,
+       # so we allow removal in case fuse is already installed.
        if detect_desktop; then
-           apt-install --with-recommends open-vm-tools-desktop || true
+           apt-install --with-recommends --allow-remove open-vm-tools-desktop 
|| true
        else
-           apt-install --with-recommends open-vm-tools || true
+           apt-install --with-recommends --allow-remove open-vm-tools || true
        fi
        ;;
     oracle)

Does anyone has an opinion on that? I can submit a patch if you think
it's a good idea.

Cheers,

Arnaud

----

NB: fuse3 seems to be a drop-in replacement for fuse:

Package: fuse3
Version: 3.11.0-1
[...]
Provides: fuse (= 3.11.0-1)
Depends: libc6 (>= 2.33), libfuse3-3 (= 3.11.0-1), adduser,
         mount (>= 2.19.1), sed (>= 4), lsb-base (>= 3.2-14)
Breaks: fuse
Replaces: fuse

----

References:

[1]: 
https://salsa.debian.org/vmware-packaging-team/pkg-open-vm-tools/-/commit/d5176b54
[2]: https://bugs.kali.org/view.php?id=7774

Reply via email to