diff options
author | Rob Austein <sra@hactrn.net> | 2016-12-14 19:32:29 -0500 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2016-12-14 19:32:29 -0500 |
commit | ec2c2aca3eb5c61f24c697c671cf25053653fc6d (patch) | |
tree | 1a0b2dfd50867c353f003a4e0e7ce352a0c2f0bf | |
parent | 05b269a88a47d3f9cb3d22d1d638cdff8f012da5 (diff) |
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.
-rw-r--r-- | Makefile | 3 | ||||
-rwxr-xr-x | scripts/build-homebrew-formula.py | 16 |
2 files changed, 12 insertions, 7 deletions
@@ -119,7 +119,8 @@ homebrew: umask ${REPO_UMASK}; \ git clone ${REPO_BASE}/brew/tap tap; \ cd tap; \ - ../scripts/build-homebrew-formula.py ${REPO_BASE}/brew/tarballs/${PACKAGE_NAME}_${PACKAGE_VERSION}.tar.xz ${PACKAGE_VERSION} ${PACKAGE_NAME}.rb ${PACKAGE_CONFLICT}; \ + ../scripts/build-homebrew-formula.py --tarball ${REPO_BASE}/brew/tarballs/${PACKAGE_NAME}_${PACKAGE_VERSION}.tar.xz --formula ${PACKAGE_NAME}.rb \ + --package ${PACKAGE_NAME} --version ${PACKAGE_VERSION} --conflicts ${PACKAGE_CONFLICT}; \ git add ${PACKAGE_NAME}.rb; \ git commit -S${GPG_KEYID} --author='${GPG_USER}' -m '${PACKAGE_NAME} ${PACKAGE_VERSION}'; \ git push 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)) |