summaryrefslogtreecommitdiffstats
path: root/scripts/windows/choco/choco_packager.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/windows/choco/choco_packager.py')
-rw-r--r--scripts/windows/choco/choco_packager.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/windows/choco/choco_packager.py b/scripts/windows/choco/choco_packager.py
new file mode 100644
index 00000000..daf3f15f
--- /dev/null
+++ b/scripts/windows/choco/choco_packager.py
@@ -0,0 +1,51 @@
+# Because choco is a special case and I'm too lazy to make my
+# packaging script robust enough, so whatever, hard-code time.
+
+import hashlib
+import sys
+from string import Template
+import os
+
+args = sys.argv
+deployment_file_path_64 = args[1]
+version = args[2]
+nuspec_template = args[3]
+ps1_template = args[4]
+generated_nuspec = args[5]
+generated_ps1 = args[6]
+generated_ps1_dir = args[7]
+
+print("Generating Chocolatey package for:")
+print(" 64-bit: %s" % deployment_file_path_64)
+print(" VERSION: %s" % version)
+print(" NUSPEC TEMPLATE: %s" % nuspec_template)
+print(" PS1 TEMPLATE: %s" % ps1_template)
+print(" GENERATED NUSPEC: %s" % generated_nuspec)
+print(" GENERATED PS1: %s" % generated_ps1)
+print(" GENERATED PS1 DIR: %s" % generated_ps1_dir)
+
+with open(deployment_file_path_64, "rb") as deployment_file_64:
+ hash_64 = hashlib.sha1(deployment_file_64.read()).hexdigest()
+
+ print("Generated hash for 64-bit program: %s" % str(hash_64))
+
+ with open(nuspec_template, "r") as template_file:
+ template = Template(template_file.read())
+ substitute = template.safe_substitute(version=version)
+ print("\n================== Generated nuspec file ==================\n")
+ print(substitute)
+ print("\n============================================================\n")
+
+ with open(generated_nuspec, "w") as generated_file:
+ generated_file.write(substitute)
+
+ os.makedirs(generated_ps1_dir)
+ with open(ps1_template, "r") as template_file:
+ template = Template(template_file.read())
+ substitute = template.safe_substitute(version=version, hash_64=hash_64)
+ print("\n================== Generated chocolatey-install file ==================\n")
+ print(substitute)
+ print("\n============================================================\n")
+
+ with open(generated_ps1, "w") as generated_file:
+ generated_file.write(substitute)