|  | @@ -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.
 |