summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkali <kali@leap.se>2017-10-11 08:05:05 -0700
committerKali Kaneko <kali@leap.se>2017-10-11 18:40:32 +0200
commit6648d03c81d2c7281c9553340835fa2880777a4c (patch)
treedb4366f53c1a3aaf2a2c0f269ee108f18ff577ed
parentc63cd6a993a5ae4e5ca9b2516facab19cc2fadd2 (diff)
[feat] add gpg and pemfile in osx builds
These two details were blocking mail service from working in osx.
-rw-r--r--pkg/bundles/build.mk4
-rw-r--r--pkg/pyinst/headless.spec65
-rw-r--r--src/leap/bitmask/util.py3
3 files changed, 70 insertions, 2 deletions
diff --git a/pkg/bundles/build.mk b/pkg/bundles/build.mk
index 54eb737..8349a61 100644
--- a/pkg/bundles/build.mk
+++ b/pkg/bundles/build.mk
@@ -46,6 +46,7 @@ bundle_linux_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"
+
bundle_osx_helpers:
mkdir -p $(DIST_VERSION)/apps/helpers
cp src/leap/bitmask/vpn/helpers/osx/bitmask-helper $(DIST_VERSION)/apps/helpers/
@@ -59,6 +60,7 @@ bundle_osx_missing:
install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib "@loader_path/libcrypto.1.0.0.dylib" $(DIST_VERSION)/lib/_scrypt.so
cp $(DIST_VERSION)/lib/_scrypt.so $(OSX_CON)/
cp $(DIST_VERSION)/lib/bitmaskd.tac $(OSX_CON)/
+ cp $(DIST_VERSION)/lib/cacert.pem $(OSX_CON)/
cp $(DIST_VERSION)/lib/version $(OSX_CON)/
cp -r $(DIST_VERSION)/lib/leap $(OSX_CON)/
mv dist/Bitmask.app/Contents/MacOS/bitmask $(OSX_CON)/bitmask-app
@@ -70,6 +72,8 @@ bundle_osx_missing:
cp -r $(DIST_VERSION)/apps/helpers/openvpn/* $(OSX_RES)/
wget https://downloads.leap.se/thirdparty/osx/openvpn/openvpn -O $(OSX_RES)/openvpn.leap
chmod +x $(OSX_RES)/openvpn.leap
+ cp ~/src/gnupg-1.4.20/g10/gpg $(OSX_RES)/gpg
+ chmod +x $(OSX_RES)/gpg
bundle_osx_pkg:
pkg/osx/quickpkg --output dist/Bitmask-$(NEXT_VERSION)_pre.pkg --scripts pkg/osx/scripts/ dist/Bitmask.app/
diff --git a/pkg/pyinst/headless.spec b/pkg/pyinst/headless.spec
new file mode 100644
index 0000000..d7a6f34
--- /dev/null
+++ b/pkg/pyinst/headless.spec
@@ -0,0 +1,65 @@
+# -*- mode: python -*-
+import os
+import sys
+import platform
+
+block_cipher = None
+
+IS_MAC = sys.platform.startswith('darwin')
+IS_WIN = platform.system() == 'Windows'
+
+BITMASK_VERSION = open('pkg/next-version').read()
+if IS_MAC:
+ # launchd chokes because more digits are added to the version string,
+ # so let's skip the patch part of the version.
+ BITMASK_VERSION = '.'.join(BITMASK_VERSION.split('.')[:-1])
+
+hiddenimports = [
+ 'appdirs',
+ 'scrypt._scrypt',
+ 'scrypt', 'zope.interface', 'zope.proxy',
+ 'pysqlcipher', 'service_identity',
+ 'leap.common', 'leap.bitmask',
+ 'leap.bitmask.core.logs',
+ 'leap.soledad.common',
+ 'leap.soledad.common.document',
+ 'leap.soledad.common.l2db',
+ 'leap.soledad.client.events',
+ 'packaging', 'packaging.version', 'packaging.specifiers',
+ 'packaging.requirements']
+
+excludes = ['PyQt5', 'IPython', 'PySide']
+VENV = os.environ.get('VIRTUAL_ENV', '')
+ENTRYPOINT = ['../../src/leap/bitmask/core/launcher.py']
+
+a = Analysis(ENTRYPOINT,
+ pathex=[
+ '/usr/lib/python2.7/dist-packages/'],
+ binaries=None,
+ datas=None,
+ hiddenimports=hiddenimports,
+ hookspath=[],
+ runtime_hooks=[],
+ excludes=excludes,
+
+ win_no_prefer_redirects=False,
+ win_private_assemblies=False,
+ cipher=block_cipher)
+pyz = PYZ(a.pure, a.zipped_data,
+ cipher=block_cipher)
+exe = EXE(pyz,
+ a.scripts,
+ exclude_binaries=True,
+ name='bitmask-nox',
+ debug=True,
+ strip=False,
+ upx=True,
+ # TODO remove console for win
+ console=True)
+coll = COLLECT(exe,
+ a.binaries,
+ a.zipfiles,
+ a.datas,
+ strip=False,
+ upx=True,
+ name='bitmask-nox')
diff --git a/src/leap/bitmask/util.py b/src/leap/bitmask/util.py
index 6971ca0..2cbea6e 100644
--- a/src/leap/bitmask/util.py
+++ b/src/leap/bitmask/util.py
@@ -85,8 +85,7 @@ def get_gpg_bin_path():
gpgbin = os.path.abspath(
os.path.join(here(), "apps", "mail", "gpg.exe"))
elif platform.system() == "Darwin":
- gpgbin = os.path.abspath(
- os.path.join(here(), "apps", "mail", "gpg"))
+ gpgbin = '/Applications/Bitmask.app/Contents/Resources/gpg'
else:
gpgbin = os.path.abspath(
os.path.join(here(), "..", "apps", "mail", "gpg"))