From 702fbba914918e1f914ea93a2e5d87baa52701d6 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 5 Mar 2018 17:10:39 -0500 Subject: [PATCH] add changes needed for self-hosted signed beta version --- .gitignore | 2 +- dist/firefox/updates.json | 14 +++++++++++++ dist/version | 1 + platform/webext/updates.template.json | 14 +++++++++++++ tools/make-chromium-meta.py | 29 +++++++++++++++------------ tools/make-webext-meta.py | 20 ++++++++---------- 6 files changed, 54 insertions(+), 26 deletions(-) create mode 100644 dist/firefox/updates.json create mode 100644 dist/version create mode 100644 platform/webext/updates.template.json diff --git a/.gitignore b/.gitignore index 849ddff..ca9e175 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -dist/ +dist/build/ diff --git a/dist/firefox/updates.json b/dist/firefox/updates.json new file mode 100644 index 0000000..580d183 --- /dev/null +++ b/dist/firefox/updates.json @@ -0,0 +1,14 @@ +{ + "addons": { + "uMatrix@raymondhill.net": { + "updates": [ + { + "version": "1.3.3b8", + "applications": { "gecko": { "strict_min_version": "56" } }, + "update_info_url": "https://github.com/gorhill/uMatrix/releases/tag/1.3.3b8", + "update_link": "https://github.com/gorhill/uMatrix/releases/download/1.3.3b8/uBlock0.webext.signed.xpi" + } + ] + } + } +} diff --git a/dist/version b/dist/version new file mode 100644 index 0000000..c03e787 --- /dev/null +++ b/dist/version @@ -0,0 +1 @@ +1.3.3.8 diff --git a/platform/webext/updates.template.json b/platform/webext/updates.template.json new file mode 100644 index 0000000..d783b72 --- /dev/null +++ b/platform/webext/updates.template.json @@ -0,0 +1,14 @@ +{ + "addons": { + "uMatrix@raymondhill.net": { + "updates": [ + { + "version": "$version", + "applications": { "gecko": { "strict_min_version": "56" } }, + "update_info_url": "https://github.com/gorhill/uMatrix/releases/tag/$version", + "update_link": "https://github.com/gorhill/uMatrix/releases/download/$version/uMatrix.webext.signed.xpi" + } + ] + } + } +} diff --git a/tools/make-chromium-meta.py b/tools/make-chromium-meta.py index 04990bf..f88dda0 100644 --- a/tools/make-chromium-meta.py +++ b/tools/make-chromium-meta.py @@ -9,24 +9,27 @@ if len(sys.argv) == 1 or not sys.argv[1]: raise SystemExit('Build dir missing.') proj_dir = os.path.join(os.path.split(os.path.abspath(__file__))[0], '..') +build_dir = os.path.abspath(sys.argv[1]) -manifest_in = {} -manifest_in_file = os.path.join(proj_dir, 'platform', 'chromium', 'manifest.json') -with open(manifest_in_file) as f1: - manifest_in = json.load(f1) +version = '' +with open(os.path.join(proj_dir, 'dist', 'version')) as f: + version = f.read().strip() + +manifest_out = {} +manifest_out_file = os.path.join(build_dir, 'manifest.json') +with open(manifest_out_file) as f: + manifest_out = json.load(f) + +manifest_out['version'] = version # Development build? If so, modify name accordingly. -match = re.search('^\d+\.\d+\.\d+\.\d+$', manifest_in['version']) +match = re.search('^\d+\.\d+\.\d+\.\d+$', version) if match: - build_dir = os.path.abspath(sys.argv[1]) dev_build = ' dev build' - manifest_out = {} - manifest_out_file = os.path.join(build_dir, 'manifest.json') - with open(manifest_out_file) as f2: - manifest_out = json.load(f2) manifest_out['name'] += dev_build manifest_out['short_name'] += dev_build manifest_out['browser_action']['default_title'] += dev_build - with open(manifest_out_file, 'w') as f2: - json.dump(manifest_out, f2, indent=2, separators=(',', ': '), sort_keys=True) - f2.write('\n') + +with open(manifest_out_file, 'w') as f: + json.dump(manifest_out, f, indent=2, separators=(',', ': '), sort_keys=True) + f.write('\n') diff --git a/tools/make-webext-meta.py b/tools/make-webext-meta.py index f0c8ff2..eb25fc9 100755 --- a/tools/make-webext-meta.py +++ b/tools/make-webext-meta.py @@ -11,20 +11,16 @@ if len(sys.argv) == 1 or not sys.argv[1]: proj_dir = os.path.join(os.path.split(os.path.abspath(__file__))[0], '..') build_dir = os.path.abspath(sys.argv[1]) -# Import data from chromium platform -chromium_manifest = {} +version = '' +with open(os.path.join(proj_dir, 'dist', 'version')) as f: + version = f.read().strip() + webext_manifest = {} - -chromium_manifest_file = os.path.join(proj_dir, 'platform', 'chromium', 'manifest.json') -with open(chromium_manifest_file) as f1: - chromium_manifest = json.load(f1) - -# WebExtension webext_manifest_file = os.path.join(build_dir, 'manifest.json') -with open(webext_manifest_file) as f2: - webext_manifest = json.load(f2) +with open(webext_manifest_file) as f: + webext_manifest = json.load(f) -match = re.search('^(\d+\.\d+\.\d+)(\.\d+)$', chromium_manifest['version']) +match = re.search('^(\d+\.\d+\.\d+)(\.\d+)$', version) if match: buildtype = int(match.group(2)[1:]) if buildtype < 100: @@ -33,7 +29,7 @@ if match: builttype = 'rc' + str(buildtype - 100) webext_manifest['version'] = match.group(1) + builttype else: - webext_manifest['version'] = chromium_manifest['version'] + webext_manifest['version'] = version with open(webext_manifest_file, 'w') as f2: json.dump(webext_manifest, f2, indent=2, separators=(',', ': '), sort_keys=True)