summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorThomas Waldmann <tw@waldmann-edv.de>2015-09-30 17:38:51 +0200
committerThomas Waldmann <tw@waldmann-edv.de>2015-09-30 17:38:51 +0200
commitbc9679f0e5b689ff90c7f199c6f55431743d1df4 (patch)
tree77cc82d3ce62f652dd662188bc1fe085a67bee01 /docs
parentba5fa0ba99c5f1c6a842fb9cb61d95c54630bcbe (diff)
development docs: update / fix / add Vagrant section
thanks to level323 for the vagrant docs
Diffstat (limited to 'docs')
-rw-r--r--docs/development.rst37
1 files changed, 29 insertions, 8 deletions
diff --git a/docs/development.rst b/docs/development.rst
index 1ba239370..03a4b735e 100644
--- a/docs/development.rst
+++ b/docs/development.rst
@@ -59,7 +59,7 @@ The documentation (in reStructuredText format, .rst) is in docs/.
To build the html version of it, you need to have sphinx installed::
- pip3 install sphinx
+ pip3 install sphinx # important: this will install sphinx with Python 3
Now run::
@@ -68,6 +68,28 @@ Now run::
Then point a web browser at docs/_build/html/index.html.
+Using Vagrant
+-------------
+
+We use Vagrant for the automated creation of testing environment and borgbackup
+standalone binaries for various platforms.
+
+For better security, there is no automatic sync in the VM to host direction.
+The plugin `vagrant-scp` is useful to copy stuff from the VMs to the host.
+
+Usage::
+
+ To create and provision the VM:
+ vagrant up OS
+ To create an ssh session to the VM:
+ vagrant ssh OS command
+ To shut down the VM:
+ vagrant halt OS
+ To shut down and destroy the VM:
+ vagrant destroy OS
+ To copy files from the VM (in this case, the generated binary):
+ vagrant scp OS:/vagrant/borg/borg/dist/borg .
+
Creating a new release
----------------------
@@ -106,7 +128,7 @@ Creating binary wheels
With virtual env activated::
- pip install wheel
+ pip install -U wheel
python setup.py bdist_wheel
ls -l dist/*.whl
@@ -117,16 +139,15 @@ Note: Binary wheels are rather specific for the platform they get built on.
Creating standalone binaries
----------------------------
+Make sure you have everything built and installed (including llfuse and fuse).
+
With virtual env activated::
- pip install pyinstaller==3.0.dev2 # or a later 3.x release
- pyinstaller -F -n borg-PLATFORM borg/__main__.py
+ pip install pyinstaller==3.0.dev2 # or a later 3.x release or git checkout
+ pyinstaller -F -n borg-PLATFORM --hidden-import=logging.config borg/__main__.py
ls -l dist/*
-On less good supported platforms than Linux, there might be issues with pyinstaller
-not finding the dynamic python library (libpython*) or with pyinstaller not having
-a pre-compiled "bootloader" for the platform or with not supporting the platform at
-all.
+If you encounter issues, see also our `Vagrantfile` for details.
Note: Standalone binaries built with pyinstaller are supposed to work on same OS,
same architecture (x86 32bit, amd64 64bit) without external dependencies.