diff options
author | Paixu Aabuizia <PaixuAabuizia@users.noreply.github.com> | 2016-01-10 15:40:35 +0100 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2016-04-16 20:30:45 -0400 |
commit | 0a5d24d64b5f637038a15b01bbe1b3d4bf4108f2 (patch) | |
tree | 0a895c3a4c3d94c0cefa4fa26eabf525a824c9ad /pkg/pyinst | |
parent | 92f4b40ab48ec537aade244af3e3e4f2c17b1475 (diff) |
[pkg] reproducible windows installer for bitmask_client
provide a environment that allows automated builds of windows installers
- prepare dockerized environment with wine, python, openssl, zlib and mingw
to build windows binaries from python sourcecode
- prepare dockerized environment with nullsoft installer
to build installers from binaries
- configure pyinstaller to build binaries
- configure nsis to build distributable executables for bitmask
- configure make all in pkg/windows that results in installers
- add documentation
- ico conversion from data/images
- avoid polluting / in docker image
- install dirspec and copy to wine env
- remove obsolete comments
- fix python path
- figure out that pip install leap.a and pyinstalling a leap.b does not work - so the build script fixes that
- rename dependencies to pyinstaller and move nsis code to installer
- build openvpn, export the binaries for further processing
- correct openvpn dependencies, fetch tap installer compatible with openvpn just built
- install tap-driver with nsis
- pyinstaller-build: fix mixed mkdir / show errors if there are some
- installer-build: prepare rw-copy, do not expose nsh files
- add openvpn_leap.exe to install directory so it gets picked up by nsis
- use setup.py to install bitmask to site-packages to have a version
- separate build directories for granular make
- copy all openvpn dlls to installer
- die to signal failure to parent makefile
- cache installDependencies for quick turn-arround times
- share openssl version between openvpn and pysqlcipher/other pip builds
- collect files during prepare for installer
- default to eip:false, mail:true
- configuration in pyinstaller-build.sh
- win64 tap drivers need special care getting removed from 32bit nsis
- correct registry key that identifies if we installed TAP
- extract version from git-tree, expose to wine python
- create nsh with version for build installer
- allow clean/dirty version with patches
- cleanup / indent / remove comments
- die when pysqlchipher patch failed
- add psutil in mingw compatible version
Diffstat (limited to 'pkg/pyinst')
-rw-r--r-- | pkg/pyinst/bitmask.spec | 30 | ||||
-rw-r--r-- | pkg/pyinst/qt.conf | 2 |
2 files changed, 25 insertions, 7 deletions
diff --git a/pkg/pyinst/bitmask.spec b/pkg/pyinst/bitmask.spec index a76ccb17..cd207816 100644 --- a/pkg/pyinst/bitmask.spec +++ b/pkg/pyinst/bitmask.spec @@ -3,17 +3,32 @@ import sys block_cipher = None - -a = Analysis([os.path.join('bitmask.py')], +a = Analysis(['bitmask.py'], hiddenimports=[ - 'zope.interface', 'zope.proxy', - 'PySide.QtCore', 'PySide.QtGui', 'PySide.QtWebKit'], + 'zope.interface', 'zope.proxy', + 'PySide.QtCore', 'PySide.QtGui', + 'pysqlcipher', 'service_identity', + 'leap.common', 'leap.bitmask' + ], + binaries=None, + datas=None, hookspath=None, runtime_hooks=None, excludes=None, + win_no_prefer_redirects=None, + win_private_assemblies=None, cipher=block_cipher) -pyz = PYZ(a.pure, +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) + +# Binary files you need to include in the form of: +# (<destination>, <source>, '<TYPE>') + +# Data files you want to include, in the form of: +# (<destination>, <source>, '<TYPE>') +data = [ + ('qt.conf', 'qt.conf', 'DATA') +] exe = EXE(pyz, a.scripts, exclude_binaries=True, @@ -21,12 +36,13 @@ exe = EXE(pyz, debug=False, strip=False, upx=True, - console=False ) + console=False, + icon='../../data/images/mask-icon.ico') coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, - strip=False, + strip=None, upx=True, name='bitmask') if sys.platform.startswith("darwin"): diff --git a/pkg/pyinst/qt.conf b/pkg/pyinst/qt.conf new file mode 100644 index 00000000..7eecd342 --- /dev/null +++ b/pkg/pyinst/qt.conf @@ -0,0 +1,2 @@ +[Paths] +Plugins=qt4_plugins
\ No newline at end of file |