summaryrefslogtreecommitdiff
path: root/osx/generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'osx/generate.py')
-rw-r--r--osx/generate.py76
1 files changed, 28 insertions, 48 deletions
diff --git a/osx/generate.py b/osx/generate.py
index 8982d94..57aa11e 100644
--- a/osx/generate.py
+++ b/osx/generate.py
@@ -6,15 +6,20 @@ import shutil
import sys
import stat
+from string import Template
+
# Variables ----------------------------
# TODO consolidate version string for all builds.
VERSION = "0.0.1"
APP_NAME = "RiseupVPN"
BUNDLE_IDENTIFIER = "se.leap.riseupvpn"
-ENTRYPOINT = "bitmask-systray"
# Do not edit below --------------------
+TEMPLATE = 'template-info.plist'
+ENTRYPOINT = 'bitmask-systray'
+HELPER = 'bitmask_helper'
+
here = os.path.split(os.path.abspath(__file__))[0]
APP_PATH = os.path.abspath(here + '/../dist/' + APP_NAME + ".app")
@@ -22,57 +27,32 @@ STAGING = os.path.abspath(here + '/../staging/')
os.makedirs(APP_PATH + "/Contents/MacOS", exist_ok=True)
+INFO_PLIST = APP_PATH + '/Contents/Info.plist'
+
+vardict = {
+ 'entrypoint': ENTRYPOINT,
+ 'info_string': APP_NAME + " " + VERSION,
+ 'bundle_identifier': BUNDLE_IDENTIFIER,
+ 'bundle_name': APP_NAME,
+ 'version': VERSION
+}
+
+template = Template(open(TEMPLATE).read())
+with open(INFO_PLIST, 'w') as output:
+ output.write(template.safe_substitute(vardict))
-f = open(APP_PATH + "/Contents/Info.plist", "w")
-f.write("""<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>%s</string>
- <key>CFBundleGetInfoString</key>
- <string>%s</string>
- <key>CFBundleIconFile</key>
- <string>app.icns</string>
- <key>CFBundleIdentifier</key>
- <string>%s</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>%s</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>%s</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>%s</string>
- <key>NSAppleScriptEnabled</key>
- <string>YES</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
-""" % (
- ENTRYPOINT,
- APP_NAME + " " + VERSION,
- BUNDLE_IDENTIFIER,
- APP_NAME,
- APP_NAME + " " + VERSION,
- VERSION))
-f.close()
f = open(APP_PATH + "/Contents/PkgInfo", "w")
f.write("APPL????")
f.close()
-entrypoint_file = APP_PATH + "/Contents/MacOS/" + ENTRYPOINT
-shutil.copyfile(STAGING + '/' + ENTRYPOINT, entrypoint_file)
-oldmode = os.stat(entrypoint_file).st_mode
-os.chmod(entrypoint_file, oldmode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
+def copy_payload(filename):
+ destfile = APP_PATH + "/Contents/MacOS/" + filename
+ shutil.copyfile(STAGING + '/' + filename, destfile)
+ cmode = os.stat(destfile).st_mode
+ os.chmod(destfile, cmode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
+
+copy_payload(ENTRYPOINT)
+copy_payload(HELPER)
+