installation.rst 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. .. include:: global.rst.inc
  2. .. _installation:
  3. Installation
  4. ============
  5. |project_name| requires:
  6. * Python_ >= 3.2
  7. * OpenSSL_ >= 1.0.0
  8. * libacl_
  9. * some python dependencies, see install_requires in setup.py
  10. General notes
  11. -------------
  12. Even though Python 3 is not the default Python version on many systems, it is
  13. usually available as an optional install.
  14. Virtualenv_ can be used to build and install |project_name| without affecting
  15. the system Python or requiring root access.
  16. The llfuse_ python package is also required if you wish to mount an
  17. archive as a FUSE filesystem. Only FUSE >= 2.8.0 can support llfuse.
  18. You only need Cython to compile the .pyx files to the respective .c files
  19. when using |project_name| code from git. For |project_name| releases, the .c
  20. files will be bundled, so you won't need Cython to install a release.
  21. Platform notes
  22. --------------
  23. FreeBSD: You may need to get a recent enough OpenSSL version from FreeBSD ports.
  24. Mac OS X: You may need to get a recent enough OpenSSL version from homebrew_.
  25. Mac OS X: You need OS X FUSE >= 3.0.
  26. Debian / Ubuntu installation (from git)
  27. ---------------------------------------
  28. Note: this uses latest, unreleased development code from git.
  29. While we try not to break master, there are no guarantees on anything.
  30. Some of the steps detailled below might be useful also for non-git installs.
  31. .. parsed-literal::
  32. # Python 3.x (>= 3.2) + Headers, Py Package Installer
  33. apt-get install python3 python3-dev python3-pip
  34. # we need OpenSSL + Headers for Crypto
  35. apt-get install libssl-dev openssl
  36. # ACL support Headers + Library
  37. apt-get install libacl1-dev libacl1
  38. # if you do not have gcc / make / etc. yet
  39. apt-get install build-essential
  40. # optional: lowlevel FUSE py binding - to mount backup archives
  41. apt-get install python3-llfuse fuse
  42. # optional: for unit testing
  43. apt-get install fakeroot
  44. # get |project_name| from github, install it
  45. git clone |git_url|
  46. apt-get install python-virtualenv
  47. virtualenv --python=python3 borg-env
  48. source borg-env/bin/activate # always before using!
  49. # install borg + dependencies into virtualenv
  50. pip install cython # compile .pyx -> .c
  51. pip install tox pytest # optional, for running unit tests
  52. pip install sphinx # optional, to build the docs
  53. cd borg
  54. pip install -e . # in-place editable mode
  55. # optional: run all the tests, on all supported Python versions
  56. fakeroot -u tox
  57. Korora / Fedora 21 installation (from git)
  58. ------------------------------------------
  59. Note: this uses latest, unreleased development code from git.
  60. While we try not to break master, there are no guarantees on anything.
  61. Some of the steps detailled below might be useful also for non-git installs.
  62. .. parsed-literal::
  63. # Python 3.x (>= 3.2) + Headers, Py Package Installer
  64. sudo dnf install python3 python3-devel python3-pip
  65. # we need OpenSSL + Headers for Crypto
  66. sudo dnf install openssl-devel openssl
  67. # ACL support Headers + Library
  68. sudo dnf install libacl-devel libacl
  69. # optional: lowlevel FUSE py binding - to mount backup archives
  70. sudo dnf install python3-llfuse fuse
  71. # optional: for unit testing
  72. sudo dnf install fakeroot
  73. # get |project_name| from github, install it
  74. git clone |git_url|
  75. dnf install python3-virtualenv
  76. virtualenv --python=python3 borg-env
  77. source borg-env/bin/activate # always before using!
  78. # install borg + dependencies into virtualenv
  79. pip install cython # compile .pyx -> .c
  80. pip install tox pytest # optional, for running unit tests
  81. pip install sphinx # optional, to build the docs
  82. cd borg
  83. pip install -e . # in-place editable mode
  84. # optional: run all the tests, on all supported Python versions
  85. fakeroot -u tox
  86. Cygwin (from git)
  87. -----------------
  88. Please note that running under cygwin is rather experimental.
  89. You'll need at least (use the cygwin installer to fetch/install these):
  90. ::
  91. python3
  92. python3-setuptools
  93. python3-cython
  94. binutils
  95. gcc-core
  96. git
  97. libopenssl
  98. make
  99. openssh
  100. openssl-devel
  101. You can then install ``pip`` and ``virtualenv``:
  102. ::
  103. easy_install pip
  104. pip install virtualenv
  105. And now continue as for Linux (see above).