|  | @@ -155,30 +155,26 @@ Dependencies
 | 
	
		
			
				|  |  |  ~~~~~~~~~~~~
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  To install Borg from a source package (including pip), you have to install the
 | 
	
		
			
				|  |  | -following dependencies first:
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -* `Python 3`_ >= 3.9.0, plus development headers.
 | 
	
		
			
				|  |  | -* OpenSSL_ >= 1.0.0, plus development headers.
 | 
	
		
			
				|  |  | -* libacl_ (which depends on libattr_), both plus development headers.
 | 
	
		
			
				|  |  | -* We have bundled code of the following packages, but borg by default (see
 | 
	
		
			
				|  |  | -  setup.py if you want to change that) prefers a shared library if it can
 | 
	
		
			
				|  |  | -  be found on the system (lib + dev headers) at build time:
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  - liblz4_ >= 1.7.0 (r129)
 | 
	
		
			
				|  |  | -  - libzstd_ >= 1.3.0
 | 
	
		
			
				|  |  | -  - libxxhash >= 0.8.1 (0.8.0 might work also)
 | 
	
		
			
				|  |  | -* pkg-config (cli tool) and pkgconfig python package (borg uses these to
 | 
	
		
			
				|  |  | -  discover header and library location - if it can't import pkgconfig and
 | 
	
		
			
				|  |  | -  is not pointed to header/library locations via env vars [see setup.py],
 | 
	
		
			
				|  |  | -  it will fall back to using the bundled code, see above).
 | 
	
		
			
				|  |  | -  **These must be present before invoking setup.py!**
 | 
	
		
			
				|  |  | -* some other Python dependencies, pip will automatically install them for you.
 | 
	
		
			
				|  |  | -* optionally, if you wish to mount an archive as a FUSE filesystem, you need
 | 
	
		
			
				|  |  | +following dependencies first. For the libraries you will also need their
 | 
	
		
			
				|  |  | +development header files (sometimes in a separate `-dev` or `-devel` package).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* `Python 3`_ >= 3.9.0
 | 
	
		
			
				|  |  | +* OpenSSL_ >= 1.0.0
 | 
	
		
			
				|  |  | +* libacl_ (which depends on libattr_)
 | 
	
		
			
				|  |  | +* libxxhash_ >= 0.8.1
 | 
	
		
			
				|  |  | +* liblz4_ >= 1.7.0 (r129)
 | 
	
		
			
				|  |  | +* libzstd_ >= 1.3.0
 | 
	
		
			
				|  |  | +* pkg-config (cli tool) - Borg uses this to discover header and library
 | 
	
		
			
				|  |  | +  locations automatically. Alternatively, you can also point to them via some
 | 
	
		
			
				|  |  | +  environment variables, see setup.py.
 | 
	
		
			
				|  |  | +* Some other Python dependencies, pip will automatically install them for you.
 | 
	
		
			
				|  |  | +* Optionally, if you wish to mount an archive as a FUSE filesystem, you need
 | 
	
		
			
				|  |  |    a FUSE implementation for Python:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  - Either pyfuse3_ (preferably, newer and maintained) or llfuse_ (older,
 | 
	
		
			
				|  |  | -    unmaintained now). See also the BORG_FUSE_IMPL env variable.
 | 
	
		
			
				|  |  | -  - See pyproject.toml about the version requirements.
 | 
	
		
			
				|  |  | +  - pyfuse3_ >= 3.1.1 (for fuse 3, use `pip install borgbackup[pyfuse3]`), or
 | 
	
		
			
				|  |  | +  - llfuse_ >= 1.3.8 (for fuse 2, use `pip install borgbackup[llfuse]`).
 | 
	
		
			
				|  |  | +  - Additionally, your OS will need to have FUSE support installed
 | 
	
		
			
				|  |  | +    (e.g. a package `fuse` for fuse 2 or a package `fuse3` for fuse 3 support).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  If you have troubles finding the right package names, have a look at the
 | 
	
		
			
				|  |  |  distribution specific sections below or the Vagrantfile in the git repository,
 | 
	
	
		
			
				|  | @@ -186,9 +182,7 @@ which contains installation scripts for a number of operating systems.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  In the following, the steps needed to install the dependencies are listed for a
 | 
	
		
			
				|  |  |  selection of platforms. If your distribution is not covered by these
 | 
	
		
			
				|  |  | -instructions, try to use your package manager to install the dependencies.  On
 | 
	
		
			
				|  |  | -FreeBSD, you may need to get a recent enough OpenSSL version from FreeBSD
 | 
	
		
			
				|  |  | -ports.
 | 
	
		
			
				|  |  | +instructions, try to use your package manager to install the dependencies.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  After you have installed the dependencies, you can proceed with steps outlined
 | 
	
		
			
				|  |  |  under :ref:`pip-installation`.
 | 
	
	
		
			
				|  | @@ -199,11 +193,10 @@ Debian / Ubuntu
 | 
	
		
			
				|  |  |  Install the dependencies with development headers::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      sudo apt-get install python3 python3-dev python3-pip python3-virtualenv \
 | 
	
		
			
				|  |  | -    libacl1-dev libacl1 \
 | 
	
		
			
				|  |  | +    libacl1-dev \
 | 
	
		
			
				|  |  |      libssl-dev \
 | 
	
		
			
				|  |  |      liblz4-dev libzstd-dev libxxhash-dev \
 | 
	
		
			
				|  |  | -    build-essential \
 | 
	
		
			
				|  |  | -    pkg-config python3-pkgconfig
 | 
	
		
			
				|  |  | +    build-essential pkg-config
 | 
	
		
			
				|  |  |      sudo apt-get install libfuse-dev fuse    # needed for llfuse
 | 
	
		
			
				|  |  |      sudo apt-get install libfuse3-dev fuse3  # needed for pyfuse3
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -217,10 +210,10 @@ Fedora
 | 
	
		
			
				|  |  |  Install the dependencies with development headers::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      sudo dnf install python3 python3-devel python3-pip python3-virtualenv \
 | 
	
		
			
				|  |  | -    libacl-devel libacl \
 | 
	
		
			
				|  |  | +    libacl-devel \
 | 
	
		
			
				|  |  |      openssl-devel \
 | 
	
		
			
				|  |  |      lz4-devel libzstd-devel xxhash-devel \
 | 
	
		
			
				|  |  | -    pkgconf python3-pkgconfig
 | 
	
		
			
				|  |  | +    pkgconf
 | 
	
		
			
				|  |  |      sudo dnf install gcc gcc-c++ redhat-rpm-config
 | 
	
		
			
				|  |  |      sudo dnf install fuse-devel fuse         # needed for llfuse
 | 
	
		
			
				|  |  |      sudo dnf install fuse3-devel fuse3       # needed for pyfuse3
 | 
	
	
		
			
				|  | @@ -263,7 +256,7 @@ 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
 | 
	
		
			
				|  |  | +    pip3 install virtualenv
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  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
 | 
	
	
		
			
				|  | @@ -314,7 +307,7 @@ Cygwin
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Use the Cygwin installer to install the dependencies::
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    python39 python39-devel python39-pkgconfig
 | 
	
		
			
				|  |  | +    python39 python39-devel
 | 
	
		
			
				|  |  |      python39-setuptools python39-pip python39-wheel python39-virtualenv
 | 
	
		
			
				|  |  |      libssl-devel libxxhash-devel liblz4-devel libzstd-devel
 | 
	
		
			
				|  |  |      binutils gcc-g++ git make openssh
 | 
	
	
		
			
				|  | @@ -345,9 +338,6 @@ This will use ``pip`` to install the latest release from PyPi::
 | 
	
		
			
				|  |  |      # might be required if your tools are outdated
 | 
	
		
			
				|  |  |      pip install -U pip setuptools wheel
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    # pkgconfig MUST be available before borg is installed!
 | 
	
		
			
				|  |  | -    pip install pkgconfig
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      # install Borg + Python dependencies into virtualenv
 | 
	
		
			
				|  |  |      pip install borgbackup
 | 
	
		
			
				|  |  |      # or alternatively (if you want FUSE support):
 |