RFC: fuse packages

Jeremy Katz katzj at redhat.com
Sat Oct 29 18:32:48 UTC 2005


On Sat, 2005-10-29 at 19:36 +0200, Thorsten Leemhuis wrote:
> - the upstream tarball ships with three things:
>  - the kernel-module (GPL)
>  - the utils needed to (,u)mount FUSE-Filesystems (GPL)
>  - the libraries that are used by the FUSE-filesystems (LGPL)
> The kernel-module is disabled because it's in 2.6.14 already. Due to the
> different license for utils and libraries I chose to split these into
> sub-packages. This leads to several problems:

This actually isn't that uncommon from a licensing perspective.

>  - the resulting src.rpm is named fuse, the resulting binaries
> fuse-util, fuse-lib and fuse-libs-devel, but no package fuse.

I'd do one of the following:
a) Put the libraries in the fuse package, ignore the minor license
confusion[1]
b) Put the utilities in the fuse package, libs in -libs.  There are a
number of packages at least in Core which go this route

>  - where store the Docs? I chose to ship them with the utils and the
> libs.

Depends on what they're docs for -- they probably make sense in the same
subpackage as the utilities.  Programming docs obviously would go in
-devel.

>  - should the devel package named fuse-libs-devel or fuse-devel?
> Currently it's fuse-libs-devel

fuse-devel is the normal pattern followed by other things, even with a
-libs split.

> - fuse installs %{_bindir}/fusermount with 4755 -- do we allow that in
> extras? And should we add a group "fuse" and allow only members of that
> group access to fuse?

Why does fusermount need to be suid?  None of the other mount "helpers"
for things like cifs or smb are.  They get invoked by mount which is
suid and does checking to see if the user should be able to do the mount
they're asking for.  

> - Fuse needs a device file /dev/fuse that is packaged for /dev/ and
> %{_sysconfdir}/udev/devices/ (bit ugly due to a rpm-bug).  Yes, the
> module and udev can create the /dev/fuse automatically when the module
> is loaded. But it seems the FUSE-Filesystems try to autoload the module
> by accessing /dev/fuse -- if it's not there the module does not get
> loaded and the FUSE-Filesystem fails -- or did I miss any trick to solv
> that easily?

You probably want to add a fuse file to /etc/udev/makedev.d --
start_udev looks there on boot to figure out nodes which need to be made
at boot time just to deal with this sort of problems.

> - I packages sshfs-fuse, but followed the packaging-guidelines and named
> it fuse-sshfs -- that okay for everybody?

Yeah, that seems like it does follow the guidelines.

Jeremy




More information about the fedora-extras-list mailing list