Re: migration to testing
Cc'ing to -devel, as it is a more general problem and I'd like to hear
feedback from other fellow developers.
On Sat, Mar 27, 2010 at 01:05:37PM +0100, Simon Paillard wrote:
> On Sat, Mar 27, 2010 at 02:16:58PM +0300, Stanislav Maslovski wrote:
> > One of my packages, fuse-convmvfs (uploaded by a sponsor), cannot
> > migrate to testing. The migration is blocked by kfreebsd:
> > * fuse-convmvfs/kfreebsd-amd64 unsatisfiable Depends: fuse-utils
> > * fuse-convmvfs/kfreebsd-i386 unsatisfiable Depends: fuse-utils
> > What is the recommended way of solving this?
> fuse-utils is not build on kfreebsd-(amd64|i386) since it's
> Linux-specific, see #528537:
> | Please find below a patch to add GNU/kFreeBSD support to fuse. On this
> | system, the kernel module and the utilities are provided in a separate
> | source package called fuse4bsd. That's why the patch disable fuse-utils
> | on non Linux systems.
> Given previous versions of fuse-convmvfs exist in testing, I guess the
> package is meant to be usable on kfreebsd even without fuse-utils
> available. That would mean fuse-utils is actually a recommend ?
> You might ask kfreebsd porters on debian-bsd list for details.
There is a general problem with fuse, actually. fuse-utils is needed by
any program using libfuse and allowing users (i.e not root) to mount a
filesystem: In this case, libfuse uses fusemount to do the mount, since
mount(2) is unfortunately a CAP_SYS_ADMIN syscall, and fusemount is
suid root, allowing the fs to be mounted.
So, actually, the one that requires fuse-utils is not technically the
end package, but libfuse itself.
There are users of libfuse that don't (indirectly) require fusemount,
such as zfs-fuse, since it is only intended to be run as root, as a
daemon and thus can call mount(2) itself.
Anyways, on kfreebsd, fusemount is provided by another package (fusebsd,
iirc), which means that except if the freebsd kernel allows the mount
syscall for users, all packages currently depending on fuse-utils should
now depend on fuse-utils | fusebsd.
This just sounds plain wrong, and IMHO, libfuse itself should do the
depend, though arguably, some libfuse rdepends don't need them.