aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/tests.yml35
-rw-r--r--README.md8
-rw-r--r--src/bindfs.12
3 files changed, 15 insertions, 30 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index ff5242c..c50d7b0 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -56,18 +56,6 @@ jobs:
clang_major_version: null
runs-on: macos-15
fuse_package: fuse-t
- # macFUSE, gcc
- - cc: gcc
- cxx: g++
- clang_major_version: null
- runs-on: macos-15
- fuse_package: macfuse
- # macFUSE, clang
- - cc: clang
- cxx: clang++
- clang_major_version: null
- runs-on: macos-15
- fuse_package: macfuse
steps:
- name: Add Clang/LLVM repositories
if: "${{ runner.os == 'Linux' && contains(matrix.cxx, 'clang') }}"
@@ -94,9 +82,10 @@ jobs:
run: |-
set -x
- if [[ ${{ matrix.fuse_package }} = macfuse ]]; then
- brew install --cask macfuse
- elif [[ ${{ matrix.fuse_package }} = fuse-t ]]; then
+ # Installing MacFUSE requires visiting the MacOS recovery environment,
+ # so testing it in CI seems to be hopeless. Therefore we only test with fuse-t.
+ # Apparently the best security is making it so inconvenient that you can't run the thing at all.
+ if [[ ${{ matrix.fuse_package }} = fuse-t ]]; then
sudo mkdir -p /usr/local/include # https://github.com/macos-fuse-t/fuse-t/issues/77
brew tap macos-fuse-t/homebrew-cask
brew install fuse-t
@@ -147,26 +136,14 @@ jobs:
- name: 'Test as non-root'
run: |-
- if [[ ${{ runner.os }} = macOS ]]; then
- ignore_errors=true # while unfixed
- else
- ignore_errors=false
- fi
-
set -x
whoami
- make check || ${ignore_errors}
+ make check
- name: 'Test as root'
run: |-
- if [[ ${{ runner.os }} = macOS ]]; then
- ignore_errors=true # while unfixed
- else
- ignore_errors=false
- fi
-
set -x
- sudo make check || ${ignore_errors}
+ sudo make check
- name: 'Install'
run: |-
diff --git a/README.md b/README.md
index b3239b4..ffe11a3 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,10 @@ Some things bindfs can be used for:
Non-root users can use almost all features, but most interesting
use-cases need `user_allow_other` to be defined in `/etc/fuse.conf`.
+bindfs is developed and tested primarily on Linux with [FUSE 3](https://github.com/libfuse/libfuse).
+
+Support for Linux with FUSE 2, for MacOS with [fuse-t](https://www.fuse-t.org/) and for FreeBSD with [fuse4bsd](http://www.freshports.org/sysutils/fusefs-kmod/) is best-effort.
+[MacFUSE](https://macfuse.github.io/) might work, but is not properly supported, since it's impossible to test it without access to a physical Mac. Volunteer maintenance of MacFUSE support is welcome.
## Installation ##
@@ -25,7 +29,9 @@ FUSE 3 is supported. When using FUSE 3, libfuse 3.10.2 or newer is
recommended to avoid a [bug with readdir](https://github.com/libfuse/libfuse/issues/583),
though it only seems to affect a few applications.
-To compile from source on Linux, first `apt install build-essential pkg-config libfuse3-dev` (or `libfuse-dev` on older systems). On MacOS, install XCode (and let it install Developer Tools), [pkg-config](https://formulae.brew.sh/formula/pkg-config#default) and either [MacFuse](https://osxfuse.github.io/) or [fuse-t](https://www.fuse-t.org/).
+To compile from source on Linux, first `apt install build-essential pkg-config libfuse3-dev` (or `libfuse-dev` on older systems).
+On MacOS, install XCode (and let it install Developer Tools), [pkg-config](https://formulae.brew.sh/formula/pkg-config#default)
+and [fuse-t](https://www.fuse-t.org/) ([MacFuse](https://osxfuse.github.io/) support is highly best-effort).
Download a [release](https://bindfs.org/downloads/) or clone this repository.
diff --git a/src/bindfs.1 b/src/bindfs.1
index e89ba2d..ceda806 100644
--- a/src/bindfs.1
+++ b/src/bindfs.1
@@ -551,6 +551,8 @@ MacFuse caches file contents by default.
This means that changes in source files are not always immediately visible under the mount point.
\fB\-o nolocalcaches\fP can be used to disable the cache.
+With fuse-t, \fB\-o noattrcache\fP is recommended.
+
When using \fB\-\-mirror[-only] @somegroup\fP, bindfs won't see changes to the group's member list.
Sending bindfs a \fBSIGUSR1\fP signal will make it reread the user database.