浏览代码

development docs: update / fix / add Vagrant section

thanks to level323 for the vagrant docs
Thomas Waldmann 9 年之前
父节点
当前提交
bc9679f0e5
共有 1 个文件被更改,包括 29 次插入8 次删除
  1. 29 8
      docs/development.rst

+ 29 - 8
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::
 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::
 Now run::
 
 
@@ -68,6 +68,28 @@ Now run::
 
 
 Then point a web browser at docs/_build/html/index.html.
 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
 Creating a new release
 ----------------------
 ----------------------
@@ -106,7 +128,7 @@ Creating binary wheels
 
 
 With virtual env activated::
 With virtual env activated::
 
 
-    pip install wheel
+    pip install -U wheel
     python setup.py bdist_wheel
     python setup.py bdist_wheel
     ls -l dist/*.whl
     ls -l dist/*.whl
 
 
@@ -117,16 +139,15 @@ Note: Binary wheels are rather specific for the platform they get built on.
 Creating standalone binaries
 Creating standalone binaries
 ----------------------------
 ----------------------------
 
 
+Make sure you have everything built and installed (including llfuse and fuse).
+
 With virtual env activated::
 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/*
   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,
 Note: Standalone binaries built with pyinstaller are supposed to work on same OS,
       same architecture (x86 32bit, amd64 64bit) without external dependencies.
       same architecture (x86 32bit, amd64 64bit) without external dependencies.