From ed188d528f172cc1f21afa3a0ed0790d71e7d596 Mon Sep 17 00:00:00 2001 From: Stephen Date: Sat, 13 Nov 2021 19:19:55 -0800 Subject: [PATCH 1/4] Create Brewfile --- Brewfile | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Brewfile diff --git a/Brewfile b/Brewfile new file mode 100644 index 000000000..031a3c27b --- /dev/null +++ b/Brewfile @@ -0,0 +1,6 @@ +brew 'pkg-config' +brew 'zstd' +brew 'lz4' +brew 'xxhash' +brew 'openssl@1.1' +cask 'osxfuse' # Required for Python llfuse module From bfe81ab1d79a4312b13ef4d6e7c6510f49b4597b Mon Sep 17 00:00:00 2001 From: Stephen Date: Sat, 13 Nov 2021 19:21:59 -0800 Subject: [PATCH 2/4] github CI (macOS): use brew bundle install (uses Brewfile) --- .github/workflows/ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab8f0b5f1..8897ebaf3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,11 +99,7 @@ jobs: - name: Install macOS packages if: ${{ runner.os == 'macOS' }} - run: | - brew install pkg-config || brew upgrade pkg-config - brew install zstd || brew upgrade zstd - brew install lz4 || brew upgrade lz4 - brew install openssl@1.1 || brew upgrade openssl@1.1 + run: brew bundle install - name: Install Python requirements run: | From e3ba3649334429abde7ac440fb1a2ca333f6ad1a Mon Sep 17 00:00:00 2001 From: Stephen Date: Tue, 16 Nov 2021 08:38:42 -0800 Subject: [PATCH 3/4] docs: add brew bundle instructions (macOS) --- docs/installation.rst | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index a9e5704ac..fd5cb6809 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -247,16 +247,10 @@ Alternatively, you can enumerate all build dependencies in the command line:: macOS +++++ -When installing via Homebrew_, dependencies are installed automatically. To install -dependencies manually:: +When installing borgbackup via Homebrew_, the basic dependencies are installed automatically. - brew install python3 openssl zstd lz4 xxhash - brew install pkg-config - pip3 install virtualenv pkgconfig - -For FUSE support to mount the backup archives, you need at least version 3.0 of -macFUSE, which is available via `github -`__, or Homebrew:: +For FUSE support to mount the backup archives, you need macFUSE, which is available +via `github `__, or Homebrew:: brew install --cask macfuse @@ -266,6 +260,13 @@ the installed ``openssl`` formula, point pkg-config to the correct path:: PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig" pip install borgbackup[llfuse] +When working from a borg git repo workdir, you can install dependencies using the +Brewfile:: + + brew install python@3.11 # can be any supported python3 version + brew bundle install # install requirements from borg repo's ./Brewfile + pip3 install virtualenv pkgconfig + Be aware that for all recent macOS releases you must authorize full disk access. It is no longer sufficient to run borg backups as root. If you have not yet granted full disk access, and you run Borg backup from cron, you will see From 700d588e0565d4c145377ccb6c7cd5237fd73231 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 14 Jan 2024 17:49:21 +0100 Subject: [PATCH 4/4] Brewfile: don't install osxfuse cask by default. --- Brewfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Brewfile b/Brewfile index 031a3c27b..d0ebf1e11 100644 --- a/Brewfile +++ b/Brewfile @@ -3,4 +3,10 @@ brew 'zstd' brew 'lz4' brew 'xxhash' brew 'openssl@1.1' -cask 'osxfuse' # Required for Python llfuse module + +# osxfuse (aka macFUSE) is only required for "borg mount", +# but won't work on github actions' workers. +# it requires installing a kernel extension, so some users +# may want it and some won't. + +#cask 'osxfuse'