From 8b9e4eec0f9e352e15926cf9eeeddc785ea6bd8b Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 15 Apr 2020 17:40:57 +1200 Subject: [PATCH] zcutil/make-release.py: Check for release dependencies --- zcutil/make-release.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/zcutil/make-release.py b/zcutil/make-release.py index 285539ca5..1e081ff73 100755 --- a/zcutil/make-release.py +++ b/zcutil/make-release.py @@ -77,6 +77,11 @@ def parse_args(args): # Top-level flow: def main_logged(release, releaseprev, releasefrom, releaseheight, hotfix): + verify_dependencies([ + ('help2man', None), + ('debchange', 'devscripts'), + ]) + verify_tags(releaseprev, releasefrom) verify_version(release, releaseprev, hotfix) initialize_git(release, hotfix) @@ -107,6 +112,20 @@ def phase(message): return deco +@phase('Checking release script dependencies.') +def verify_dependencies(dependencies): + for (dependency, pkg) in dependencies: + try: + sh_log(dependency, '--version') + except OSError: + raise SystemExit( + "Missing dependency {}{}".format( + dependency, + " (part of {} Debian package)".format(pkg) if pkg else "", + ), + ) + + @phase('Checking tags.') def verify_tags(releaseprev, releasefrom): candidates = []