From 481bd7db1d9c3937373c643d6d6aa3164b179839 Mon Sep 17 00:00:00 2001 From: "kali kaneko (leap communications)" Date: Fri, 9 Oct 2020 22:35:45 +0200 Subject: [pkg] some extra branding refactor --- branding/scripts/gen-providers-json | 62 +++++++++++++++++++++++++++++++ branding/scripts/gen-providers-json.py | 64 -------------------------------- branding/scripts/generate-debian | 37 ++++++++++++++++++ branding/scripts/generate-debian.py | 43 --------------------- branding/scripts/generate-osx.py | 44 ---------------------- branding/scripts/generate-snap | 38 +++++++++++++++++++ branding/scripts/generate-snap.py | 43 --------------------- branding/scripts/generate-vendor-make | 53 ++++++++++++++++++++++++++ branding/scripts/generate-vendor-make.py | 58 ----------------------------- branding/scripts/generate-win.py | 44 ---------------------- branding/scripts/provider.py | 9 +++-- 11 files changed, 195 insertions(+), 300 deletions(-) create mode 100755 branding/scripts/gen-providers-json delete mode 100644 branding/scripts/gen-providers-json.py create mode 100755 branding/scripts/generate-debian delete mode 100755 branding/scripts/generate-debian.py delete mode 100755 branding/scripts/generate-osx.py create mode 100755 branding/scripts/generate-snap delete mode 100755 branding/scripts/generate-snap.py create mode 100755 branding/scripts/generate-vendor-make delete mode 100755 branding/scripts/generate-vendor-make.py delete mode 100755 branding/scripts/generate-win.py (limited to 'branding') diff --git a/branding/scripts/gen-providers-json b/branding/scripts/gen-providers-json new file mode 100755 index 0000000..0c95cb9 --- /dev/null +++ b/branding/scripts/gen-providers-json @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 + +import configparser +import json +import os +import sys + + +from provider import getDefaultProvider +from provider import getProviderData + +OUTFILE = 'providers.json' +SCRIPT_NAME = 'gen-providers-json' + + +def generateProvidersJSON(configPath, outputJSONPath): + print("output:", outputJSONPath) + config = configparser.ConfigParser() + config.read(configPath) + + # TODO as a first step, we just get the defaultProvider. + # For multi-provider, just add more providers to the dict + + providers = {} + defaultProvider = getDefaultProvider(config) + + providers['default'] = defaultProvider + providers['providers'] = [] + providerData = getProviderData(defaultProvider, config) + addCaData(providerData, configPath) + + providers['providers'].append(providerData) + with open(outputJSONPath, 'w', encoding='utf-8') as f: + json.dump(providers, f, ensure_ascii=False, indent=4) + +def addCaData(data, configfile): + provider = data.get('name').lower() + folder, f = os.path.split(configfile) + caFile = os.path.join(folder, provider, provider + '-ca.crt') + if not os.path.isfile(caFile): + bail('[!] Cannot find CA file in {path}'.format(path=caFile)) + with open(caFile) as ca: + data['caCertString'] = ca.read().strip() + +def bail(msg=None): + if not msg: + print("ERROR: not enough arguments!") + print('Usage: {scriptname}.py '.format( + scriptname=SCRIPT_NAME)) + else: + print(msg) + sys.exit(1) + +if __name__ == "__main__": + print("[+] Generating providers.json...") + if len(sys.argv) != 2: + bail() + + VENDOR_PATH = os.environ.get('VENDOR_PATH') + conf = os.path.join(VENDOR_PATH, 'vendor.conf') + output = sys.argv[1] + generateProvidersJSON(conf, output) diff --git a/branding/scripts/gen-providers-json.py b/branding/scripts/gen-providers-json.py deleted file mode 100644 index c89217a..0000000 --- a/branding/scripts/gen-providers-json.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 - -import configparser -import json -import os -import sys - - -from provider import getDefaultProvider -from provider import getProviderData - -OUTFILE = 'providers.json' -SCRIPT_NAME = 'gen-providers-json' - - -def generateProvidersJSON(configPath, outputJSONPath): - print("output:", outputJSONPath) - config = configparser.ConfigParser() - config.read(configPath) - - # TODO as a first step, we just get the defaultProvider. - # For multi-provider, just add more providers to the dict - - providers = {} - defaultProvider = getDefaultProvider(config) - providers['default'] = defaultProvider - providers['providers'] = [] - providerData = getProviderData(defaultProvider, config) - addCaData(providerData, configPath) - - providers['providers'].append(providerData) - with open(outputJSONPath, 'w', encoding='utf-8') as f: - json.dump(providers, f, ensure_ascii=False, indent=4) - -def addCaData(data, configfile): - provider = data.get('name').lower() - folder, f = os.path.split(configfile) - caFile = os.path.join(folder, provider + '-ca.crt') - if not os.path.isfile(caFile): - bail('[!] Cannot find CA file in {path}'.format(path=caFile)) - with open(caFile) as ca: - data['caCertString'] = ca.read().strip() - -def bail(msg=None): - if not msg: - print("ERROR: not enough arguments!") - print('Usage: {scriptname}.py '.format( - scriptname=SCRIPT_NAME)) - else: - print(msg) - sys.exit(1) - -if __name__ == "__main__": - print("[+] Generating providers.json...") - if len(sys.argv) != 3: - bail() - # TODO get BITMASK_BRANDING folder - get config from there, if possible. - env_provider_conf = os.environ.get('PROVIDER_CONFIG') - if env_provider_conf: - if os.path.isfile(env_provider_conf): - print("[+] Overriding provider config per " - "PROVIDER_CONFIG variable") - configfile = env_provider_conf - generateProvidersJSON(sys.argv[1], sys.argv[2]) diff --git a/branding/scripts/generate-debian b/branding/scripts/generate-debian new file mode 100755 index 0000000..0db1fde --- /dev/null +++ b/branding/scripts/generate-debian @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 + +import json +import os +import sys + +import configparser + +from provider import getDefaultProvider +from provider import getProviderData + + +VERSION = os.environ.get('VERSION', 'unknown') +SCRIPT = 'generate-debian.py' + + +def writeOutput(data, outfile): + + with open(outfile, 'w') as outf: + outf.write(json.dumps(data)) + +if __name__ == "__main__": + VENDOR_PATH = os.environ.get('VENDOR_PATH') + configFile = os.path.join(VENDOR_PATH, 'vendor.conf') + config = configparser.ConfigParser() + config.read(configFile) + provider = getDefaultProvider(config) + data = getProviderData(provider, config) + + if len(sys.argv) != 2: + print('Usage: {} '.format(SCRIPT)) + sys.exit(1) + + outputf = sys.argv[1] + + data['version'] = VERSION + writeOutput(data, outputf) diff --git a/branding/scripts/generate-debian.py b/branding/scripts/generate-debian.py deleted file mode 100755 index 56e533b..0000000 --- a/branding/scripts/generate-debian.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python3 - -import json -import os -import sys - -import configparser - -from provider import getDefaultProvider -from provider import getProviderData - - -VERSION = os.environ.get('VERSION', 'unknown') -SCRIPT = 'generate-debian.py' - - -def writeOutput(data, outfile): - - with open(outfile, 'w') as outf: - outf.write(json.dumps(data)) - - -if __name__ == "__main__": - env_provider_conf = os.environ.get('PROVIDER_CONFIG') - if env_provider_conf: - if os.path.isfile(env_provider_conf): - print("[+] Overriding provider config per " - "PROVIDER_CONFIG variable") - configfile = env_provider_conf - - config = configparser.ConfigParser() - config.read(configfile) - provider = getDefaultProvider(config) - data = getProviderData(provider, config) - - if len(sys.argv) != 2: - print('Usage: {} '.format(SCRIPT)) - sys.exit(1) - - outputf = sys.argv[1] - - data['version'] = VERSION - writeOutput(data, outputf) diff --git a/branding/scripts/generate-osx.py b/branding/scripts/generate-osx.py deleted file mode 100755 index 4430762..0000000 --- a/branding/scripts/generate-osx.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python3 - -import json -import os -import sys - -import configparser - -from provider import getDefaultProvider -from provider import getProviderData - - -VERSION = os.environ.get('VERSION', 'unknown') - - -def writeOutput(data, outfile): - - with open(outfile, 'w') as outf: - outf.write(json.dumps(data)) - - -if __name__ == "__main__": - env_provider_conf = os.environ.get('PROVIDER_CONFIG') - if env_provider_conf: - if os.path.isfile(env_provider_conf): - print("[+] Overriding provider config per " - "PROVIDER_CONFIG variable") - configfile = env_provider_conf - - config = configparser.ConfigParser() - config.read(configfile) - provider = getDefaultProvider(config) - data = getProviderData(provider, config) - - if len(sys.argv) != 2: - print('Usage: generate-osx.py ') - sys.exit(1) - - outputf = sys.argv[1] - - data['applicationNameLower'] = data.get('applicationName').lower() - data['URL'] = data.get('infoURL') - data['version'] = VERSION - writeOutput(data, outputf) diff --git a/branding/scripts/generate-snap b/branding/scripts/generate-snap new file mode 100755 index 0000000..3271d9e --- /dev/null +++ b/branding/scripts/generate-snap @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 + +import json +import os +import sys + +import configparser + +from provider import getDefaultProvider +from provider import getProviderData + + +VERSION = os.environ.get('VERSION', 'unknown') +SCRIPT = 'generate-snap.py' + + +def writeOutput(data, outfile): + + with open(outfile, 'w') as outf: + outf.write(json.dumps(data)) + + +if __name__ == "__main__": + VENDOR_PATH = os.environ.get('VENDOR_PATH') + configFile = os.path.join(VENDOR_PATH, 'vendor.conf') + config = configparser.ConfigParser() + config.read(configFile) + provider = getDefaultProvider(config) + data = getProviderData(provider, config) + + if len(sys.argv) != 2: + print('Usage: {} '.format(SCRIPT)) + sys.exit(1) + + outputf = sys.argv[1] + + data['version'] = VERSION + writeOutput(data, outputf) diff --git a/branding/scripts/generate-snap.py b/branding/scripts/generate-snap.py deleted file mode 100755 index c3c5419..0000000 --- a/branding/scripts/generate-snap.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python3 - -import json -import os -import sys - -import configparser - -from provider import getDefaultProvider -from provider import getProviderData - - -VERSION = os.environ.get('VERSION', 'unknown') -SCRIPT = 'generate-snap.py' - - -def writeOutput(data, outfile): - - with open(outfile, 'w') as outf: - outf.write(json.dumps(data)) - - -if __name__ == "__main__": - env_provider_conf = os.environ.get('PROVIDER_CONFIG') - if env_provider_conf: - if os.path.isfile(env_provider_conf): - print("[+] Overriding provider config per " - "PROVIDER_CONFIG variable") - configfile = env_provider_conf - - config = configparser.ConfigParser() - config.read(configfile) - provider = getDefaultProvider(config) - data = getProviderData(provider, config) - - if len(sys.argv) != 2: - print('Usage: {} '.format(SCRIPT)) - sys.exit(1) - - outputf = sys.argv[1] - - data['version'] = VERSION - writeOutput(data, outputf) diff --git a/branding/scripts/generate-vendor-make b/branding/scripts/generate-vendor-make new file mode 100755 index 0000000..60dc180 --- /dev/null +++ b/branding/scripts/generate-vendor-make @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +# Generates a simplified file with variables that +# can be imported from the main vendorized Makefile. + +import os +import sys + +import configparser + +from provider import getDefaultProvider +from provider import getProviderData + + +VERSION = os.environ.get('VERSION', 'unknown') + +TEMPLATE = """ +# Variables for the build of {applicationName}. +# Generated automatically. Do not edit. +APPNAME := {applicationName} +BINNAME := {binaryName} +VERSION := {version} +""" + + +def writeOutput(data, outfile): + + configString = TEMPLATE.format( + binaryName=data['binaryName'], + applicationName=data['applicationName'], + version=data['version'], + ) + + with open(outfile, 'w') as outf: + outf.write(configString) + + +if __name__ == "__main__": + VENDOR_PATH = os.environ.get('VENDOR_PATH') + configFile = os.path.join(VENDOR_PATH, 'vendor.conf') + config = configparser.ConfigParser() + config.read(configFile) + provider = getDefaultProvider(config) + data = getProviderData(provider, config) + + if len(sys.argv) != 2: + print('Usage: generate-vendor-make ') + sys.exit(1) + + outputf = sys.argv[1] + data['version'] = VERSION + + writeOutput(data, outputf) diff --git a/branding/scripts/generate-vendor-make.py b/branding/scripts/generate-vendor-make.py deleted file mode 100755 index e7794c3..0000000 --- a/branding/scripts/generate-vendor-make.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 - -# Generates a simplified file with variables that -# can be imported from the main vendorized Makefile. - -import os -import sys - -import configparser - -from provider import getDefaultProvider -from provider import getProviderData - - -VERSION = os.environ.get('VERSION', 'unknown') - -TEMPLATE = """ -# Variables for the build of {applicationName}. -# Generated automatically. Do not edit. -APPNAME := {applicationName} -BINNAME := {binaryName} -VERSION := {version} -""" - - -def writeOutput(data, outfile): - - configString = TEMPLATE.format( - binaryName=data['binaryName'], - applicationName=data['applicationName'], - version=data['version'], - ) - - with open(outfile, 'w') as outf: - outf.write(configString) - - -if __name__ == "__main__": - env_provider_conf = os.environ.get('PROVIDER_CONFIG') - if env_provider_conf: - if os.path.isfile(env_provider_conf): - print("[+] Overriding provider config per " - "PROVIDER_CONFIG variable") - configfile = env_provider_conf - - config = configparser.ConfigParser() - config.read(configfile) - provider = getDefaultProvider(config) - data = getProviderData(provider, config) - - if len(sys.argv) != 2: - print('Usage: generate-vendor-make.py ') - sys.exit(1) - - outputf = sys.argv[1] - data['version'] = VERSION - - writeOutput(data, outputf) diff --git a/branding/scripts/generate-win.py b/branding/scripts/generate-win.py deleted file mode 100755 index fb15f22..0000000 --- a/branding/scripts/generate-win.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python3 - -import json -import os -import sys - -import configparser - -from provider import getDefaultProvider -from provider import getProviderData - - -VERSION = os.environ.get('VERSION', 'unknown') - - -def writeOutput(data, outfile): - - with open(outfile, 'w') as outf: - outf.write(json.dumps(data)) - - -if __name__ == "__main__": - env_provider_conf = os.environ.get('PROVIDER_CONFIG') - if env_provider_conf: - if os.path.isfile(env_provider_conf): - print("[+] Overriding provider config per " - "PROVIDER_CONFIG variable") - configfile = env_provider_conf - - config = configparser.ConfigParser() - config.read(configfile) - provider = getDefaultProvider(config) - data = getProviderData(provider, config) - - if len(sys.argv) != 2: - print('Usage: generate-win.py ') - sys.exit(1) - - outputf = sys.argv[1] - - data['applicationNameLower'] = data.get('applicationName').lower() - data['URL'] = data.get('infoURL') - data['version'] = VERSION - writeOutput(data, outputf) diff --git a/branding/scripts/provider.py b/branding/scripts/provider.py index ec8c80a..9f6bb08 100644 --- a/branding/scripts/provider.py +++ b/branding/scripts/provider.py @@ -3,12 +3,13 @@ import os def getDefaultProvider(config): - provider = os.environ.get('PROVIDER') - if provider: - print('[+] Got provider {} from environment'.format(provider)) - else: + if os.environ.get('VENDOR_PATH'): print('[+] Using default provider from config file') provider = config['default']['provider'] + else: + provider = os.environ.get('PROVIDER') + if provider: + print('[+] Got provider {} from environment'.format(provider)) return provider -- cgit v1.2.3