diff options
-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)) |