libguestfs-tools shouldn't have hard dependency on zfs-fuse daemon

Bug #1053911 reported by Marti
96
This bug affects 21 people
Affects Status Importance Assigned to Milestone
libguestfs (Debian)
Fix Released
Unknown
libguestfs (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

As it stands, libguestfs-tools has hard dependency on lots of file system tools:
% sudo apt-get install --no-install-recommends libguestfs-tools
[...]
The following NEW packages will be installed:
  augeas-lenses btrfs-tools cryptsetup febootstrap jfsutils libaugeas0 libconfig8 libguestfs-perl libguestfs-tools
  libguestfs0 libhivex0 libintl-perl libstring-shellquote-perl libsys-virt-perl libwin-hivex-perl libxml-xpath-perl
  ntfsprogs scrub zerofree zfs-fuse

However, as far as I can tell, these are technically recommended dependencies -- libguestfs just doesn't support certain file systems if the relevant package is not installed.

The most annoying of these is zfs-fuse, which insists on starting a hefty daemon by default -- even though most people in a Linux environment don't want to deal with ZFS file systems. zfs-fuse doesn't even provide any libraries, so it doesn't make sense as a hard dependency.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: libguestfs-tools (not installed)
ProcVersionSignature: Ubuntu 3.2.0-30.48-generic 3.2.27
Uname: Linux 3.2.0-30-generic x86_64
ApportVersion: 2.0.1-0ubuntu13
Architecture: amd64
Date: Fri Sep 21 12:34:34 2012
InstallationMedia: Ubuntu-Server 11.04 "Natty Narwhal" - Release amd64 (20110426)
ProcEnviron:
 LANGUAGE=en_US:en
 TERM=xterm
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/usr/bin/zsh
SourcePackage: libguestfs
UpgradeStatus: Upgraded to precise on 2012-09-17 (3 days ago)

Revision history for this message
Richard W.M. Jones (rich-annexia) wrote :

Because of the way the appliance is built in Debian/Ubuntu, I suspect that none of these are dependencies (hard or otherwise). Check update-guestfs-appliance script -- it downloads the dependencies it needs when it builds the appliance.

Note also this works differently in Fedora. We ship a supermin appliance, so the dependencies are required there.

Revision history for this message
Richard W.M. Jones (rich-annexia) wrote :

Actually my comment there is wrong. Currently update-guestfs-appliance builds
a supermin appliance, so the packages have to be installed on the host system
in order for febootstrap-supermin-helper to grab the right files.

However two things:

(1) febootstrap-supermin-helper skips files it doesn't find (this is intentional).
So you can have optional bits of appliance. Although it gets pretty hairy.

(2) Could use libguestfs-make-fixed-appliance instead and build a real appliance.

Revision history for this message
Marti (intgr) wrote :

To be clear, I don't even know what all the fuss about appliances/supermin/febootstrap is.

I just want virt-sparsify to compact my libvirt ext4 disk images. Would be nice if I could do that without all these dependencies.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libguestfs (Ubuntu):
status: New → Confirmed
Revision history for this message
Jon Proulx (jproulx) wrote :

My issue with the dependency on zfs-fuse is that I'm running linux-zfs (kernel not fuse) so 'apt-get install libguestfs0' actually wants to remove packages I need to boot my zfs rooted system:

The following packages will be REMOVED:
  ubuntu-zfs zfs-auto-snapshot zfs-initramfs zfsutils

I understand zfs root on linux is pretty far from a common situation at this point so which terribly incovinient for me I doubt this is as urgent for the larger world.

Also this may simply be a packaging issue?

Revision history for this message
Jon Proulx (jproulx) wrote :

probably should have tested this before commenting...but here's some additional info

manually installing all stated dependencies other than zfs-fuse and then installing libguestfs0 with --force-depends (and guestfish to provide a client that uses the library) it does seem to work as expected

so pretty sure that would make it a packaging bug, is this the right place for packaging bugs or is there a different place for that?

Changed in libguestfs (Debian):
status: Unknown → New
Revision history for this message
Richard Jones (rjones-redhat) wrote :

Although you can force install stuff, it would be better to drop the zfs-fuse dependency from the Debian/Ubuntu package. You will lose some functionality (the ability to handle ZFS disks).

Revision history for this message
Hajo Möller (dasjoe) wrote :

Maybe "recommends" would be a better relationship than "depends" for most packages, at least for zfs-fuse.

Revision history for this message
David Reitz (dreitz) wrote :

I'm running ZFS on linux as well and this bug affects me. It would be great if this could be addressed! Thanks!

Revision history for this message
Richard Jones (rjones-redhat) wrote :

This has been essentially solved upstream for a while now. If Ubuntu upgrades to libguestfs 1.26 / supermin 5.1.6, then you can split the dependencies into subpackages.

For further information, see:

https://www.redhat.com/archives/libguestfs/2014-March/msg00171.html
http://rwmj.wordpress.com/2014/02/26/new-in-libguestfs-1-25-38/#content
http://rwmj.wordpress.com/2014/03/20/analysis-of-the-size-of-libguestfs-dependencies/#content
Fedora split: http://pkgs.fedoraproject.org/cgit/libguestfs.git/tree/libguestfs.spec?id=be0e44eab5b015b78373c15f07c9cbdb127ebfb1#n858

I'm still waiting on Hilko to include the patch above in the Debian package, but it certainly worked for me when I tried it.

Changed in libguestfs (Debian):
status: New → Fix Released
Revision history for this message
Richard Jones (rjones-redhat) wrote :

People following this bug may also be interested in this Debian bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747440

Revision history for this message
K1773R (k1773r) wrote :

Unfortunately this still isnt fixed...

Revision history for this message
Richard Jones (rjones-redhat) wrote :

It is fixed in the Debian package vrrsion >= 1.26. Ubuntu just needs to import the latest Debian package.

Revision history for this message
Jim Salter (jrssnet) wrote :

This is still not fixed in Ubuntu Trusty, and it's biting me in the ass today. Another ZFS on Linux user here, as well, so the dependency on zfs-fuse - which is essentially a completely dead project AFAICT - is especially rankling.

Revision history for this message
Richard Jones (rjones-redhat) wrote :

It's fixed in Ubuntu 14.10 onwards.

Revision history for this message
K1773R (k1773r) wrote :

What a shame...
What is the point of an LTS if fixes go into unstable + the new LTS...

Revision history for this message
Jim Salter (jrssnet) wrote :
Revision history for this message
Jim Salter (jrssnet) wrote :

> It's fixed in Ubuntu 14.10 onwards.

I wouldn't really say it's "fixed"; the hard dependency is moved downward a package to libguestfs-zfs, but it's still a hard dependency on zfs-fuse there, which still conflicts with zfsutils from ZFS on Linux, which is still by far the preferred method to install ZFS under Ubuntu. Does literally *anyone* still use or develop zfs-fuse?

Revision history for this message
K1773R (k1773r) wrote :

Thanks Jim :)
I also encountered this when installing Kimchi.

Revision history for this message
Richard Jones (rjones-redhat) wrote :

libguestfs-zfs is an optional package. Don't install it if you don't require ZFS support. So yes, I believe it is genuinely fixed in 14.10 onwards.

As for LTS, you'll need to persuade the Ubuntu maintainers to fix this bug.

Revision history for this message
Hajo Möller (dasjoe) wrote :

I requested libguestfs to be backported from vivid/utopic to trusty, see https://bugs.launchpad.net/trusty-backports/+bug/1454740

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.