From 6de3b4b1fb22a503fe04b3e5678a45aa81657c55 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Mon, 19 Feb 2018 19:14:22 +0100 Subject: [pkg] osx packaging changes for riseupvpn --- pkg/bundles/build.mk | 46 ++++++++++++++++++++++++++++++++++++++++++---- pkg/osx/makeicons.sh | 19 +++++++++++++++++++ pkg/pyinst/anonvpn.spec | 13 +++++++++++-- 3 files changed, 72 insertions(+), 6 deletions(-) create mode 100755 pkg/osx/makeicons.sh (limited to 'pkg') diff --git a/pkg/bundles/build.mk b/pkg/bundles/build.mk index 3458354c..a91c771d 100644 --- a/pkg/bundles/build.mk +++ b/pkg/bundles/build.mk @@ -1,7 +1,9 @@ # This makefile should be called from the topmost bitmask folder -# + OSX_RES = dist/Bitmask.app/Contents/Resources OSX_CON = dist/Bitmask.app/Contents/MacOS +OSX_ANON_RES= dist/RiseupVPN.app/Contents/Resources +OSX_ANON_CON= dist/RiseupVPN.app/Contents/MacOS OSX_CERT = "Developer ID Installer: LEAP Encryption Access Project" BUILD_RELEASE?=no @@ -128,7 +130,7 @@ bundle_headless: mkdir -p $(HEADLESS_DIST)/leap/soledad/client/_db cp $(VIRTUAL_ENV)/lib/python2.7/site-packages/leap/soledad/client/_db/dbschema.sql $(HEADLESS_DIST)/leap/soledad/client/_db/ echo `git describe` > $(HEADLESS_DIST)/version - mv $(HEADLESS_DIST) _bundlelib && mkdir $(HEADLESS_DIST_VERSION) && mv _bundlelib $(HEADLESS_DIST_VERSION)lib/ + mv $(HEADLESS_DIST) _bundlelib && mkdir -p $(HEADLESS_DIST_VERSION) && mv _bundlelib $(HEADLESS_DIST_VERSION)lib/ ln $(HEADLESS_DIST_VERSION)lib/bitmask-nox $(HEADLESS_DIST_VERSION)lib/bitmask mkdir -p $(HEADLESS_DIST_VERSION)apps/mail test -f /usr/bin/gpg1 && cp /usr/bin/gpg1 $(HEADLESS_DIST_VERSION)apps/mail/gpg || cp /usr/bin/gpg $(HEADLESS_DIST_VERSION)apps/mail/gpg @@ -136,14 +138,22 @@ bundle_headless: cp release-notes.rst $(HEADLESS_DIST_VERSION) cp pkg/launcher/bitmask $(HEADLESS_DIST_VERSION) +icons_riseup: + pkg/osx/makeicons.sh pkg/branding/riseupvpn.svg + mv icon.icns pkg/branding/riseupvpn.icns + bundle_anonvpn: pyinstaller -y pkg/pyinst/anonvpn.spec + rm pkg/branding/riseupvpn.icns + rm -rf icon.iconset cp src/leap/bitmask/core/bitmaskd.tac $(ANONVPN_DIST) cp $(VIRTUAL_ENV)/lib/python2.7/site-packages/leap/common/cacert.pem $(ANONVPN_DIST)/ echo `git describe` > $(ANONVPN_DIST)/version - mv $(ANONVPN_DIST) _bundlelib && mkdir $(ANONVPN_DIST_VERSION) && mv _bundlelib $(ANONVPN_DIST_VERSION)lib/ + mv $(ANONVPN_DIST) _bundlelib && mkdir -p $(ANONVPN_DIST_VERSION) && mv _bundlelib $(ANONVPN_DIST_VERSION)lib/ mkdir -p $(ANONVPN_DIST_VERSION)/apps/providers cp -r src/leap/bitmask/bonafide/providers/* $(ANONVPN_DIST_VERSION)/apps/providers/ + +bundle_anonvpn_helpers_linux: # openvpn mkdir -p $(ANONVPN_DIST_VERSION)/apps/vpn wget https://downloads.leap.se/thirdparty/linux/openvpn/openvpn-x64 -O $(ANONVPN_DIST_VERSION)/apps/vpn/openvpn.leap @@ -153,4 +163,32 @@ bundle_anonvpn: cp src/leap/bitmask/vpn/helpers/linux/bitmask-root $(ANONVPN_DIST_VERSION)/apps/helpers/ cp src/leap/bitmask/vpn/helpers/linux/se.leap.bitmask.bundle.policy $(ANONVPN_DIST_VERSION)/apps/helpers/ -bundle_anonvpn_linux: bundle_anonvpn +bundle_anonvpn_osx_missing: + mv $(OSX_ANON_CON)/anonvpn $(OSX_ANON_CON)/bitmask-app + cp pkg/osx/bitmask-wrapper $(OSX_ANON_CON)/anonvpn + mkdir -p $(OSX_ANON_RES)/bitmask-helper + cp -r pkg/osx/daemon $(OSX_ANON_RES)/bitmask-helper/ + cp -r pkg/osx/openvpn $(OSX_ANON_RES)/bitmask-helper/ + mkdir -p $(OSX_ANON_RES)/../apps/providers + cp -r src/leap/bitmask/bonafide/providers/* $(OSX_ANON_RES)/../apps/providers/ + cp -r $(ANONVPN_DIST_VERSION)/apps/providers/* $(OSX_ANON_RES)/../apps/providers + cp src/leap/bitmask/vpn/helpers/osx/bitmask-helper $(OSX_ANON_RES)/bitmask-helper/ + cp src/leap/bitmask/vpn/helpers/osx/bitmask.pf.conf $(OSX_ANON_RES)/bitmask-helper/ + cp pkg/osx/scripts/se.leap.bitmask-helper.plist $(OSX_ANON_RES)/bitmask-helper/ + wget https://downloads.leap.se/thirdparty/osx/openvpn/openvpn -O $(OSX_ANON_RES)/openvpn.leap + chmod +x $(OSX_ANON_RES)/openvpn.leap + +bundle_anonvpn_osx_pkg: + cp src/leap/bitmask/core/bitmaskd.tac $(OSX_ANON_CON)/ + cp ../bitmask-systray/bitmask-systray $(OSX_ANON_CON)/bitmask-systray + pkg/osx/quickpkg --output dist/RiseupVPN-$(NEXT_VERSION)_pre.pkg --scripts pkg/osx/scripts/ dist/RiseupVPN.app/ + @if [ $(BUILD_RELEASE) = no ]; then\ + echo "[!] BUILD_RELEASE=no, skipping signature";\ + else\ + echo "[+] Signing the bundle";\ + productsign --sign $(OSX_CERT) dist/RiseupVPN-$(NEXT_VERSION)_pre.pkg dist/RiseupVPN-$(NEXT_VERSION).pkg;\ + fi + +bundle_anonvpn_linux: bundle_anonvpn bundle_anonvpn_helpers_linux + +bundle_anonvpn_osx: icons_riseup bundle_anonvpn bundle_anonvpn_osx_missing bundle_anonvpn_osx_pkg diff --git a/pkg/osx/makeicons.sh b/pkg/osx/makeicons.sh new file mode 100755 index 00000000..823af826 --- /dev/null +++ b/pkg/osx/makeicons.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +sizes=(16 32 64 128 256 512) +largfile='icon_512x512@2x.png' +if [ ! -f "$largfile" ]; then + convert -background none -resize 1024x1024 "$1" "$largfile" +fi +for s in "${sizes[@]}"; do + echo $s + convert -background none -resize ${s}x${s} "$largfile" "icon_${s}x$s.png" +done + +cp 'icon_32x32.png' 'icon_16x16@2x.png' +mv 'icon_64x64.png' 'icon_32x32@2x.png' +cp 'icon_256x256.png' 'icon_128x128@2x.png' +cp 'icon_512x512.png' 'icon_256x256@2x.png' + +mkdir icon.iconset +mv icon_*x*.png icon.iconset +iconutil -c icns icon.iconset diff --git a/pkg/pyinst/anonvpn.spec b/pkg/pyinst/anonvpn.spec index 98624dd4..ec61f04e 100644 --- a/pkg/pyinst/anonvpn.spec +++ b/pkg/pyinst/anonvpn.spec @@ -25,6 +25,7 @@ hiddenimports = [ VENV = os.environ.get('VIRTUAL_ENV', '') ENTRYPOINT = ['../../src/leap/bitmask/gui/anonvpn.py'] +excludes = ['PyQt5', 'pysqlcipher', 'scrypt', 'leap.soledad', 'IPython'] a = Analysis(ENTRYPOINT, binaries=None, @@ -32,8 +33,7 @@ a = Analysis(ENTRYPOINT, hiddenimports=hiddenimports, hookspath=[], runtime_hooks=[], - excludes=[], - + excludes=excludes, win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher) @@ -55,3 +55,12 @@ coll = COLLECT(exe, strip=False, upx=True, name='anonvpn') +if IS_MAC: + app = BUNDLE( + coll, + name=os.path.join( + 'dist', 'RiseupVPN.app'), + appname='RiseupVPN', + version=BITMASK_VERSION, + icon='pkg/branding/riseupvpn.icns', + bundle_identifier='RiseupVPN-' + BITMASK_VERSION) -- cgit v1.2.3