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 = []