Browse Source

update install docs, fixes #6180

Thomas Waldmann 3 years ago
parent
commit
faf980cb69
1 changed files with 18 additions and 15 deletions
  1. 18 15
      docs/installation.rst

+ 18 - 15
docs/installation.rst

@@ -50,7 +50,7 @@ Fedora/RHEL  `Fedora official repository`_                 ``dnf install borgbac
 FreeBSD      `FreeBSD ports`_                              ``cd /usr/ports/archivers/py-borgbackup && make install clean``
 macOS        `Homebrew`_                                   | ``brew install borgbackup`` (official formula, **no** FUSE support)
                                                            | **or**
-                                                           | ``brew install --cask macfuse`` (`private Tap`_, FUSE support) 
+                                                           | ``brew install --cask macfuse`` (`private Tap`_, FUSE support)
                                                            | ``brew install borgbackup/tap/borgbackup-fuse``
 Mageia       `cauldron`_                                   ``urpmi borgbackup``
 NetBSD       `pkgsrc`_                                     ``pkg_add py-borgbackup``
@@ -108,7 +108,7 @@ Standalone Binary
 Borg x86/x64 amd/intel compatible binaries (generated with `pyinstaller`_)
 are available on the releases_ page for the following platforms:
 
-* **Linux**: glibc >= 2.13 (ok for most supported Linux releases).
+* **Linux**: glibc >= 2.28 (ok for most supported Linux releases).
   Older glibc releases are untested and may not work.
 * **MacOS**: 10.12 or newer (To avoid signing issues download the file via
   command line **or** remove the ``quarantine`` attribute after downloading:
@@ -159,9 +159,7 @@ Dependencies
 To install Borg from a source package (including pip), you have to install the
 following dependencies first:
 
-* `Python 3`_ >= 3.6.0, plus development headers. Even though Python 3 is not
-  the default Python version on most systems, it is usually available as an
-  optional install.
+* `Python 3`_ >= 3.8.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
@@ -170,11 +168,12 @@ following dependencies first:
 
   - 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!
+  **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
   a FUSE implementation for Python:
@@ -204,7 +203,7 @@ Install the dependencies with development headers::
     sudo apt-get install python3 python3-dev python3-pip python3-virtualenv \
     libacl1-dev libacl1 \
     libssl-dev \
-    liblz4-dev libzstd-dev \
+    liblz4-dev libzstd-dev libxxhash-dev \
     build-essential \
     pkg-config python3-pkgconfig
     sudo apt-get install libfuse-dev fuse    # needed for llfuse
@@ -222,7 +221,7 @@ Install the dependencies with development headers::
     sudo dnf install python3 python3-devel python3-pip python3-virtualenv \
     libacl-devel libacl \
     openssl-devel \
-    lz4-devel libzstd-devel \
+    lz4-devel libzstd-devel xxhash-devel \
     pkgconf python3-pkgconfig
     sudo dnf install gcc gcc-c++ redhat-rpm-config
     sudo dnf install fuse-devel fuse         # needed for llfuse
@@ -239,7 +238,8 @@ Alternatively, you can enumerate all build dependencies in the command line::
 
     sudo zypper install python3 python3-devel \
     libacl-devel openssl-devel \
-    python3-Cython python3-Sphinx python3-msgpack-python \
+    libxxhash-devel \
+    python3-Cython python3-Sphinx python3-msgpack-python python3-pkgconfig pkgconf \
     python3-pytest python3-setuptools python3-setuptools_scm \
     python3-sphinx_rtd_theme gcc gcc-c++
     sudo zypper install python3-llfuse  # llfuse
@@ -252,7 +252,7 @@ dependencies manually::
 
     brew install python3 openssl zstd lz4 xxhash
     brew install pkg-config
-    pip3 install virtualenv
+    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
@@ -287,10 +287,10 @@ and commands to make FUSE work for using the mount command.
 
      pkg install -y python3 pkgconf
      pkg install openssl
-     pkg install liblz4 zstd
+     pkg install liblz4 zstd xxhash
      pkg install fusefs-libs  # needed for llfuse
      pkg install -y git
-     python3.5 -m ensurepip # to install pip for Python3
+     python3 -m ensurepip # to install pip for Python3
      To use the mount command:
      echo 'fuse_load="YES"' >> /boot/loader.conf
      echo 'vfs.usermount=1' >> /etc/sysctl.conf
@@ -344,6 +344,9 @@ 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):
@@ -394,9 +397,9 @@ If you need to use a different version of Python you can install this using ``py
 
     ...
     # create a virtual environment
-    pyenv install 3.6.0
-    pyenv global 3.6.0
-    pyenv local 3.6.0
+    pyenv install 3.8.0  # minimum, preferably use something more recent!
+    pyenv global 3.8.0
+    pyenv local 3.8.0
     virtualenv --python=${pyenv which python} borg-env
     source borg-env/bin/activate   # always before using!
     ...