summaryrefslogtreecommitdiff
path: root/Makefile
blob: c9ce3a7eecdf95c6c68c92110f4f45cf87b6ffa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
DIST=dist/bitmask
NEXT_VERSION = $(shell cat pkg/next-version)
DIST_VERSION = dist/bitmask-$(NEXT_VERSION)/
include pkg/pyinst/build.mk
include pkg/thirdparty/openvpn/build.mk

dev-mail:
	pip install -e '.[mail]'

dev-gui: install_pixelated
	pip install -e '.[gui]'
dev-backend:
	pip install -e '.[backend]'

dev-latest-backend: dev-backend
	pip install -e 'git+https://0xacab.org/leap/leap_pycommon@master#egg=leap.common'
	pip install -e 'git+https://0xacab.org/leap/soledad@master#egg=leap.soledad'

dev-all: install_pixelated
	pip install -I --install-option="--bundled" pysqlcipher
	pip install -e '.[all]'

dev-latest-all: dev-all
	pip install -e 'git+https://0xacab.org/leap/leap_pycommon@master#egg=leap.common'
	pip install -e 'git+https://0xacab.org/leap/soledad@master#egg=leap.soledad'

uninstall:
	pip uninstall leap.bitmask

test:
	tox

test_e2e:
	tests/e2e/e2e-test-mail.sh
	tests/e2e/e2e-test-vpn.sh

test_functional_setup:
	pip install behave selenium

test_functional:
	xvfb-run --server-args="-screen 0 1280x1024x24" behave --tags ~@wip --tags @smoke tests/functional/features -k -D host=localhost

test_functional_graphical:
	behave --tags ~@wip --tags @smoke tests/functional/features -k -D host=localhost

install_helpers:
	cp src/leap/bitmask/vpn/helpers/linux/bitmask-root /usr/local/sbin/
	cp src/leap/bitmask/vpn/helpers/linux/se.leap.bitmask.policy /usr/share/polkit-1/actions/

install_pixelated:
	# install pixelated from our repo until assets get packaged.
	pip install requests==2.11.1 whoosh chardet
	pip install pixelated-www pixelated-user-agent --find-links https://downloads.leap.se/libs/pixelated/

qt-resources:
	pyrcc5 pkg/branding/icons.qrc -o src/leap/bitmask/gui/app_rc.py

doc:
	cd docs && make html

bundle_in_virtualenv:
	pkg/build_bundle_with_venv.sh

bundle_in_docker:
	# needs a docker container called 'mybundle', created with 'make docker_container'
	cat pkg/docker_build | docker run -i -v ~/leap/bitmask-dev:/dist -w /dist -u `id -u` mybundle bash

docker_container:
	cd pkg/docker_bundle && docker build -t mybundle .

clean:
	find . -type f -name "*.py[co]" -delete
	find . -type d -name "__pycache__" -delete