From ec2c2aca3eb5c61f24c697c671cf25053653fc6d Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Wed, 14 Dec 2016 19:32:29 -0500 Subject: Fix Homebrew formula class name. Apparently Homebrew expects the formula class name to match the name of the recipe, and gets tetchy when they do not. Minimal fix, wires in assumptions about how we punctuate package names, but simple and should suffice for now. While we were at this, changed argument parsing for build-homebrew-formula.py to use named (--foo) rather than positional arguments. --- scripts/build-homebrew-formula.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/build-homebrew-formula.py b/scripts/build-homebrew-formula.py index f2f1f54..8090ea8 100755 --- a/scripts/build-homebrew-formula.py +++ b/scripts/build-homebrew-formula.py @@ -9,17 +9,18 @@ import os parser = argparse.ArgumentParser() parser.add_argument("--url-base", default = "https://brew.cryptech.is/tarballs/") -parser.add_argument("tarball") -parser.add_argument("version") -parser.add_argument("formula", type = argparse.FileType("w"), nargs = "?", default = sys.stdout) -parser.add_argument("conflicts", nargs = "*") +parser.add_argument("--tarball", required = True) +parser.add_argument("--package", required = True) +parser.add_argument("--version", required = True) +parser.add_argument("--formula", type = argparse.FileType("w"), nargs = "?", default = sys.stdout) +parser.add_argument("--conflicts", nargs = "*") args = parser.parse_args() template = '''\ # This Homebrew forumula was automatically generated by a script. # You might not want to edit it manually. -class CryptechAlpha < Formula +class {classname} < Formula desc "Software for working with Cryptech Alpha board HSM" homepage "https://cryptech.is/" @@ -92,11 +93,14 @@ end with open(args.tarball, "rb") as f: digest = hashlib.sha256(f.read()).hexdigest() -conflicts = "".join(" conflicts_with \"{}\", :because => \"firmware and pkcs11 library must match\"\n".format(i) +classname = "".join(word.capitalize() for word in args.package.split("-")) + +conflicts = "".join(" conflicts_with \"{}\", :because => \"HSM firmware and PKCS #11 library must match each other\"\n".format(i) for i in args.conflicts) args.formula.write(template.format( version = args.version, url = os.path.join(args.url_base, os.path.basename(args.tarball)), sha256 = digest, + classname = classname, conflicts = conflicts)) -- cgit v1.2.3