|
@@ -4,62 +4,79 @@
|
|
|
Installation
|
|
|
============
|
|
|
|
|
|
-|project_name| requires Python_ 3.2 or above to work. Even though Python 3 is
|
|
|
-not the default Python version on most Linux distributions, it is usually
|
|
|
-available as an optional install.
|
|
|
+|project_name| requires:
|
|
|
|
|
|
-Other dependencies:
|
|
|
-
|
|
|
-* `msgpack-python`_ >= 0.1.10
|
|
|
+* Python_ >= 3.2
|
|
|
* OpenSSL_ >= 1.0.0
|
|
|
* libacl_
|
|
|
+* some python dependencies, see install_requires in setup.py
|
|
|
+
|
|
|
+General notes
|
|
|
+-------------
|
|
|
+Even though Python 3 is not the default Python version on many systems, it is
|
|
|
+usually available as an optional install.
|
|
|
|
|
|
-The OpenSSL version bundled with Mac OS X and FreeBSD is most likey too old.
|
|
|
-Newer versions are available from homebrew_ on OS X and from FreeBSD ports.
|
|
|
+Virtualenv_ can be used to build and install |project_name| without affecting
|
|
|
+the system Python or requiring root access.
|
|
|
|
|
|
The llfuse_ python package is also required if you wish to mount an
|
|
|
-archive as a FUSE filesystem.
|
|
|
+archive as a FUSE filesystem. Only FUSE >= 2.8.0 can support llfuse.
|
|
|
|
|
|
-Virtualenv_ can be used to build and install |project_name|
|
|
|
-without affecting the system Python or requiring root access.
|
|
|
+You only need Cython to compile the .pyx files to the respective .c files
|
|
|
+when using |project_name| code from git. For |project_name| releases, the .c
|
|
|
+files will be bundled.
|
|
|
|
|
|
-Common compilation pre-requisites
|
|
|
----------------------------------
|
|
|
+Platform notes
|
|
|
+--------------
|
|
|
+FreeBSD: You may need to get a recent enough OpenSSL version from FreeBSD ports.
|
|
|
|
|
|
-The following Debian packages are generally necessary to compile
|
|
|
-|project_name|, either through pip, the tarball or git::
|
|
|
+Mac OS X: You may need to get a recent enough OpenSSL version from homebrew_.
|
|
|
|
|
|
- $ sudo apt-get install python3 python3-dev python3-msgpack python3-sphinx libssl-dev libacl1-dev
|
|
|
+Mac OS X: A recent enough FUSE implementation might be unavailable.
|
|
|
|
|
|
-Installing from PyPI using pip
|
|
|
-------------------------------
|
|
|
|
|
|
-To install |project_name| system-wide::
|
|
|
+Debian / Ubuntu installation (from git)
|
|
|
+---------------------------------------
|
|
|
+Note: this uses latest, unreleased development code from git.
|
|
|
+While we try not to break master, there are no guarantees on anything.
|
|
|
|
|
|
- $ sudo pip3 install borgbackup
|
|
|
+Some of the steps detailled below might be useful also for non-git installs.
|
|
|
|
|
|
-To install it in a user-specific account::
|
|
|
+.. parsed-literal::
|
|
|
|
|
|
- $ pip3 install --user borgbackup
|
|
|
+ # Python 3.x (>= 3.2) + Headers, Py Package Installer
|
|
|
+ apt-get install python3 python3-dev python3-pip
|
|
|
|
|
|
-Then add ``$HOME/.library/bin`` to your ``$PATH``.
|
|
|
+ # we need OpenSSL + Headers for Crypto
|
|
|
+ apt-get install libssl-dev openssl
|
|
|
|
|
|
-Installing from source tarballs
|
|
|
--------------------------------
|
|
|
-.. parsed-literal::
|
|
|
+ # ACL support Headers + Library
|
|
|
+ apt-get install libacl1-dev libacl1
|
|
|
|
|
|
- $ curl -O :targz_url:`Borg`
|
|
|
- $ tar -xvzf |package_filename|
|
|
|
- $ cd |package_dirname|
|
|
|
- $ sudo python3 setup.py install
|
|
|
+ # if you do not have gcc / make / etc. yet
|
|
|
+ apt-get install build-essential
|
|
|
|
|
|
-Installing from git
|
|
|
--------------------
|
|
|
-.. parsed-literal::
|
|
|
+ # optional: lowlevel FUSE py binding - to mount backup archives
|
|
|
+ apt-get install python3-llfuse fuse
|
|
|
+
|
|
|
+ # optional: for unit testing
|
|
|
+ apt-get install fakeroot
|
|
|
+
|
|
|
+ # install virtualenv tool, create and activate a virtual env
|
|
|
+ apt-get install python-virtualenv
|
|
|
+ virtualenv --python=python3 borg-env
|
|
|
+ source borg-env/bin/activate # always do this before using!
|
|
|
+
|
|
|
+ # install some dependencies into virtual env
|
|
|
+ pip install cython # to compile .pyx -> .c
|
|
|
+ pip install tox # optional, for running unit tests
|
|
|
+ pip install sphinx # optional, to build the docs
|
|
|
+
|
|
|
+ # get |project_name| from github, install it
|
|
|
+ git clone |git_url|
|
|
|
+ cd borg
|
|
|
+ pip install -e . # in-place editable mode
|
|
|
|
|
|
- $ git clone |git_url|
|
|
|
- $ cd borg
|
|
|
- $ sudo python3 setup.py install
|
|
|
+ # optional: run all the tests, on all supported Python versions
|
|
|
+ fakeroot -u tox
|
|
|
|
|
|
-Please note that when installing from git, Cython_ is required to generate some files that
|
|
|
-are normally bundled with the release tarball.
|