mount: disable mount for freebsd

The upstream library rclone uses for rclone mount no longer supports
freebsd. Not only is it broken, but it no longer compiles.

This patch disables rclone mount for freebsd.

However all is not lost for freebsd users - compiling rclone with the
`cmount` tag, so `go install -tags cmount` will install a working
`rclone mount` command which uses cgofuse and the libfuse C library
directly.

Note that the binaries from rclone.org will not have mount support as
we don't have a freebsd build machine in CI and it is very hard to
cross compile cmount.

See: https://github.com/bazil/fuse/issues/280
Fixes #5843
This commit is contained in:
Nick Craig-Wood 2023-10-29 14:15:34 +00:00
parent 0b90dd23c1
commit af8ba18580
8 changed files with 15 additions and 17 deletions

View File

@ -25,7 +25,7 @@ import (
func init() { func init() {
name := "cmount" name := "cmount"
cmountOnly := ProvidedBy(runtime.GOOS) cmountOnly := runtime.GOOS != "linux" // rclone mount only works for linux
if cmountOnly { if cmountOnly {
name = "mount" name = "mount"
} }

View File

@ -1,5 +1,5 @@
//go:build linux || freebsd //go:build linux
// +build linux freebsd // +build linux
package mount package mount

View File

@ -1,5 +1,5 @@
//go:build linux || freebsd //go:build linux
// +build linux freebsd // +build linux
package mount package mount

View File

@ -1,7 +1,7 @@
// FUSE main Fs // FUSE main Fs
//go:build linux || freebsd //go:build linux
// +build linux freebsd // +build linux
package mount package mount

View File

@ -1,5 +1,5 @@
//go:build linux || freebsd //go:build linux
// +build linux freebsd // +build linux
package mount package mount

View File

@ -1,5 +1,5 @@
//go:build linux || freebsd //go:build linux
// +build linux freebsd // +build linux
// Package mount implements a FUSE mounting system for rclone remotes. // Package mount implements a FUSE mounting system for rclone remotes.
package mount package mount

View File

@ -1,5 +1,5 @@
//go:build linux || freebsd //go:build linux
// +build linux freebsd // +build linux
package mount package mount

View File

@ -1,10 +1,8 @@
//go:build !linux && !freebsd //go:build !linux
// +build !linux,!freebsd // +build !linux
// Package mount implements a FUSE mounting system for rclone remotes. // Package mount implements a FUSE mounting system for rclone remotes.
// //
// Build for mount for unsupported platforms to stop go complaining // Build for mount for unsupported platforms to stop go complaining
// about "no buildable Go source files". // about "no buildable Go source files".
//
// Invert the build constraint: linux freebsd
package mount package mount