summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--README.rst66
-rw-r--r--setup.py1
3 files changed, 46 insertions, 25 deletions
diff --git a/Makefile b/Makefile
index e6e50b4..2a7fda1 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,9 @@ clean:
dev-mail:
pip install -e '.[mail]'
- make -C ui dev-install-prebuilt
+
+dev-backend:
+ pip install -e '.[backend]'
dev-all:
pip install -e '.[all]'
diff --git a/README.rst b/README.rst
index d8f6a3b..43ea0a2 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
Bitmask
-=======================================
+===========================================================
*Your internet encryption toolkit*
@@ -28,7 +28,7 @@ application.
.. _`GPL3`: http://www.gnu.org/licenses/gpl.txt
Package under development!
----------------------------------------
+-----------------------------------------------------------
This is a unified repo that has merged the following packages, previously isolated, under the leap namespace:
@@ -41,14 +41,14 @@ Note that this repo still doesn't have support for VPN: its porting will
follow soon.
Read the Docs!
----------------------------------------
+-----------------------------------------------------------
The latest documentation about Bitmask is available at `LEAP`_.
.. _`LEAP`: https://leap.se/en/docs/client
Bugs
-=======================================
+===========================================================
Please report any bugs `in our bug tracker`_.
@@ -56,10 +56,10 @@ Please report any bugs `in our bug tracker`_.
Development
-=======================================
+===========================================================
Running Tests
----------------------------------------
+-----------------------------------------------------------
You need tox to run the tests. If you don't have it in your system yet::
@@ -71,54 +71,72 @@ And then run all the tests::
Hacking
-----------------------------------
+-----------------------------------------------------------
In order to run bitmask in a development environment, you must activate a
virtualenv and install the various packages using 'pip install -e'. This
installs python packages as links to the source code, so that your code
-changes are immediately reflected in the packages installed in the virtualenv.
+changes are immediately reflected in the packages installed in the
+virtualenv.
-All this is done for you with the Makefile. For example, if you want to
-develop for the encrypted mail service::
+The ``make dev-*`` commands will run the appropriate ``pip install``
+commands for you.
+Install headless backend in development mode
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Prerequisites:
+
+ sudo apt install build-essential python-virtualenv libsqlcipher-dev
+ cd bitmask-dev
virtualenv venv
source venv/bin/activate
- make dev-mail
-If you want to develop for the gui client too, you have to have
-installed the python2 bindings for Qt5 in your system (in debian: ``apt
-install python-pyqt5 python-pyqt5.qtwebkit``). After ensuring this, you can
-do::
+All the subsequent commands assume that you have activated the virtualenv.
+
+Install python dependencies:
+
+ make dev-backend
+
+Install user interface frontend
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+If you want to run the Bitmask user interface, you additionally need the following:
+
+Prerequisites:
+
+ sudo apt install python-pyqt5 python-pyqt5.qtwebkit
+
+Install python dependencies:
make dev-all
-Note: even though the UI is in javascript. Qt is used to create a webview
+Note: even though the UI is in javascript, Qt is used to create a webview
window.
-hacking on the javascript UI
-+++++++++++++++++++++++++++++++++++++++
+Install Bitmask user interface in development mode
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
The above instructions will install a python package that contains a pre-
bundled version of the javascript UI.
-If you want to hack on the javascript UI, then it needs to be able to update the
+If you want to modify the javascript UI, then you need to be able to update the
javascript bundle whenever a javascript or CSS source file changes.
-First, install the javascript prerequisites:
+Prerequisites:
sudo apt install nodejs npm nodejs-legacy
Next, run ``dev-install``:
- source venv/bin/activate # if not already activated
cd ui
make dev-install # install JS user interface as a python package in "develop" mode.
node run watch # continually rebuild javascript bundle when source files change.
For more information, see ``ui/README.md``.
-cross-testing
-+++++++++++++++++++++++++++++++++++++++
+Cross-testing
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If you are developing against a non-published branch of ``leap.common`` or
``leap.soledad``, run instead::
@@ -130,7 +148,7 @@ parent folder.
License
-=======================================
+===========================================================
.. image:: https://raw.github.com/leapcode/bitmask_client/develop/docs/user/gpl.png
diff --git a/setup.py b/setup.py
index 961bcb4..ecc15f0 100644
--- a/setup.py
+++ b/setup.py
@@ -25,6 +25,7 @@ gui_deps = ['vext.pyqt5', 'leap.bitmask_js']
extras = {
'mail': mail_deps,
'gui': gui_deps,
+ 'backend': mail_deps,
'all': mail_deps + gui_deps
}