diff options
author | Martin Pärtel <martin.partel@gmail.com> | 2025-06-08 14:26:38 +0300 |
---|---|---|
committer | Martin Pärtel <martin.partel@gmail.com> | 2025-06-08 14:26:38 +0300 |
commit | 2274c96b908d539244e6bb899297c508c286ac1f (patch) | |
tree | c80a9bd97ff211c26649ace333d840ea4b4e3e6a | |
parent | 3293dc98e37eed0fb0cbfcbd40434d3c37c69480 (diff) | |
download | bindfs-2274c96b908d539244e6bb899297c508c286ac1f.tar.gz |
Drop MacFUSE support. Apple makes things too difficult.
-rw-r--r-- | .github/workflows/tests.yml | 35 | ||||
-rw-r--r-- | README.md | 8 | ||||
-rw-r--r-- | src/bindfs.1 | 2 |
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: |- @@ -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. |