From 261399e32c72295f238a387bcaa0f50fb76da9ed Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Tue, 9 Jan 2018 13:43:05 +0100 Subject: [bug] add missing libs to pyinstaller for qtwebengine - Resolves: #9191 --- Makefile | 2 +- docs/changelog.rst | 2 ++ docs/installation/index.rst | 2 +- pkg/build_bundle_with_venv.sh | 4 +++- pkg/bundles/build.mk | 3 +++ pkg/pyinst/app.spec | 5 +++-- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 065e990f..e57489bf 100644 --- a/Makefile +++ b/Makefile @@ -94,7 +94,7 @@ bundler_image: cd pkg/docker_bundle && docker build -t local_bundler . bundle_in_docker: - # needs a docker container called 'mybundle', created with 'make docker_container' + # needs a docker container called 'local_bundler', created with 'make bundler_image' rm -rf $(DIST_VERSION) bitmaskbuild cat pkg/docker_build | docker run -i -v ~/leap/bitmask-dev:/dist -w /dist -u `id -u` -e REPO="$(REPO)" -e BRANCH="$(BRANCH)" local_bundler bash mkdir -p dist/ diff --git a/docs/changelog.rst b/docs/changelog.rst index 975cc9a1..60f756f8 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -11,10 +11,12 @@ Features - `#9074 `_: pin provider ca certs. - `#6914 `_: expose an API to retrive message status. - `#9188 `_: try other gateways if the main one fails. +- `#9125 `_: port to use qtwebengine for rendering UI. - Set a windows title, so that Bitmask windows can be programmatically manipulated. Bugfixes ~~~~~~~~ +- `#9191 `_: workaround for missing libs needed for qtwebengine. - `#9171 `_: fix a bug in bootstrap that avoided more than one user to login. - `#9165 `_: deprecate pyqt5-webkit, use qtwebengine instead. diff --git a/docs/installation/index.rst b/docs/installation/index.rst index 90c806d7..e88747e8 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -78,7 +78,7 @@ packaging takes place:: To ensure a repeatable system-wide environment, you can build those bundles from within a docker container. First you need to create the container:: - make docker_container + make bundler_image and then you can launch the above script inside that container:: diff --git a/pkg/build_bundle_with_venv.sh b/pkg/build_bundle_with_venv.sh index d284f3f0..3b6c55af 100755 --- a/pkg/build_bundle_with_venv.sh +++ b/pkg/build_bundle_with_venv.sh @@ -22,7 +22,9 @@ echo "[+] Using venv in" $VIRTUAL_ENV $VIRTUAL_ENV/bin/pip install appdirs packaging # qt-plugins instability in develop: see https://github.com/pyinstaller/pyinstaller/issues/1906 -$VIRTUAL_ENV/bin/pip install -U pyinstaller==3.2.1 +# $VIRTUAL_ENV/bin/pip install -U pyinstaller==3.2.1 +# dev version +$VIRTUAL_ENV/bin/pip install -U git+https://github.com/pyinstaller/pyinstaller.git $VIRTUAL_ENV/bin/pip install zope.interface zope.proxy # fix for #8789 diff --git a/pkg/bundles/build.mk b/pkg/bundles/build.mk index 305b16f5..6d79103f 100644 --- a/pkg/bundles/build.mk +++ b/pkg/bundles/build.mk @@ -49,6 +49,9 @@ bundle_linux_helpers: cp src/leap/bitmask/vpn/helpers/linux/bitmask-root $(DIST_VERSION)/apps/helpers/ cp src/leap/bitmask/vpn/helpers/linux/se.leap.bitmask.bundle.policy $(DIST_VERSION)/apps/helpers/ cp /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 $(DIST_VERSION)/lib/libGL.so.1 || echo "libGL version not found" + # workaround for https://github.com/pyinstaller/pyinstaller/issues/2737 + cp /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so $(DIST_VERSION)/lib/ || echo "libsoftokn3 not found" + cp /usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so $(DIST_VERSION)/lib/ || echo "libfreeblpriv3 not found" bundle_osx_helpers: diff --git a/pkg/pyinst/app.spec b/pkg/pyinst/app.spec index db0a1212..d00d540f 100644 --- a/pkg/pyinst/app.spec +++ b/pkg/pyinst/app.spec @@ -50,9 +50,10 @@ elif IS_MAC: excludes = ['IPython', 'PySide'] else: hiddenimports.extend( - ['PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWebEngine', + ['PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWebEngineWidgets', 'leap.bitmask.gui.icons_rc']) - excludes = ['IPython', 'PySide'] + excludes = ['IPython', 'PySide', + 'PyQt5.QtPrintSupport', 'PyQt5.QtNetwork.py'] VENV = os.environ.get('VIRTUAL_ENV', '') -- cgit v1.2.3