summaryrefslogtreecommitdiff
path: root/pkg/docker_bundleapt
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/docker_bundleapt')
-rw-r--r--pkg/docker_bundleapt/Dockerfile73
-rw-r--r--pkg/docker_bundleapt/Makefile16
2 files changed, 89 insertions, 0 deletions
diff --git a/pkg/docker_bundleapt/Dockerfile b/pkg/docker_bundleapt/Dockerfile
new file mode 100644
index 00000000..31484156
--- /dev/null
+++ b/pkg/docker_bundleapt/Dockerfile
@@ -0,0 +1,73 @@
+FROM python:2.7-slim-stretch
+MAINTAINER kali <kali@leap.se>
+
+LABEL Description="Image for building Bitmask bundle based on python:2.7-slim-stretch" Vendor="LEAP" Version="1.0"
+
+RUN apt update && apt upgrade -y
+RUN pip install -U pip
+
+# Install bitmask-dev build deps --------------------------------
+RUN apt install -y --no-install-recommends \
+ build-essential virtualenv libpython-dev \
+ libsqlcipher-dev libssl-dev libffi-dev \
+ libsqlite3-dev libzmq3-dev \
+ python-pyqt5 python-pyqt5.qtwebkit \
+ libqt5printsupport5 \
+ qttranslations5-l10n libgl1-mesa-glx \
+ libusb-0.1-4 patchelf wget \
+ gnupg1 git libgl1-mesa-glx
+
+
+# Pyinstaller custom versions
+#ARG PYINSTALLER_TAG=v3.2
+ARG PYINSTALLER_TAG=pyqt5_fix
+#
+# TODO
+# change to pyinstaller repo when pyqt5_fix is merged
+#
+#RUN git clone --depth 1 --single-branch --branch $PYINSTALLER_TAG https://github.com/pyinstaller/pyinstaller.git /tmp/pyinstaller
+RUN git clone --depth 1 --single-branch --branch $PYINSTALLER_TAG https://github.com/bjones1/pyinstaller.git /tmp/pyinstaller
+RUN cd /tmp/pyinstaller && pip install --force-reinstall .
+
+
+# Get Bitmask code --------------------------------------------
+RUN mkdir -p /src/leap
+WORKDIR /src/leap
+
+#ARG BITMASK_BRANCH=master
+#ARG BITMASK_REPO=https://0xacab.org/leap/bitmask-dev
+ARG BITMASK_BRANCH=feat/webkit-fallback
+ARG BITMASK_REPO=https://0xacab.org/kali/bitmask-dev
+#RUN git clone https://0xacab.org/leap/bitmask-dev
+RUN git clone --depth 1 --single-branch --branch $BITMASK_BRANCH $BITMASK_REPO
+
+WORKDIR /src/leap/bitmask-dev
+RUN pip install pysqlcipher --install-option="--bundled"
+RUN pip install leap.bitmask_js
+RUN pip install -r pkg/requirements.pip
+
+RUN pip install ".[mail]"
+RUN make install_pixelated
+
+# TODO -- build on different containers and orchestrate them
+# build gnupg and openvpn binaries --------------------------
+# RUN cd pkg/thirdparty/gnupg && ./build_gnupg.sh
+# RUN cd pkg/thirdparty/openvpn && ./build_openvpn.sh
+# -----------------------------------------------------------
+
+
+# Some hacks to make dist-packages visible from the pip installation path in /usr/local
+RUN ln -s /usr/lib/python2.7/dist-packages/PyQt5/ /usr/local/lib/python2.7/site-packages/PyQt5
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtCore.x86_64-linux-gnu.so QtCore.so
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtGui.x86_64-linux-gnu.so QtGui.so
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtWidgets.x86_64-linux-gnu.so QtWidgets.so
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtWebKit.x86_64-linux-gnu.so QtWebKit.so
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtWebKitWidgets.x86_64-linux-gnu.so QtWebKitWidgets.so
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtNetwork.x86_64-linux-gnu.so QtNetwork.so
+RUN cd /usr/local/lib/python2.7/site-packages/PyQt5 && ln -s QtPrintSupport.x86_64-linux-gnu.so QtPrintSupport.so
+RUN ln -s /usr/lib/python2.7/dist-packages/sip.x86_64-linux-gnu.so /usr/local/lib/python2.7/site-packages/sip.so
+RUN ln -s /usr/lib/python2.7/dist-packages/sipconfig.py /usr/local/lib/python2.7/site-packages/
+RUN ln -s /usr/lib/python2.7/dist-packages/sipconfig_nd.py /usr/local/lib/python2.7/site-packages/
+RUN ln -s /usr/lib/python2.7/dist-packages/sip.pyi /usr/local/lib/python2.7/site-packages/
+
+RUN apt-get install bash
diff --git a/pkg/docker_bundleapt/Makefile b/pkg/docker_bundleapt/Makefile
new file mode 100644
index 00000000..a9eaa7c7
--- /dev/null
+++ b/pkg/docker_bundleapt/Makefile
@@ -0,0 +1,16 @@
+build:
+ docker build -t 0xacab.org:4567/leap/docker/bitmask-bundler:latest .
+push:
+ docker push 0xacab.org:4567/leap/docker/bitmask-bundler:latest
+login:
+ docker login 0xacab.org:4567
+
+# local tests
+
+bundler:
+ docker build -t bundler .
+shell:
+ docker run -i -t bundler bash
+bundle:
+ echo "cd /src/leap/bitmask-dev && VIRTUAL_ENV=/usr/local make bundle && cp -r dist/* /dist" | docker run -i -v /srv/bitmask-builds:/dist -w /dist bundler bash
+