diff --git a/zcutil/make-release.py b/zcutil/make-release.py index fb397c466..a94e26f80 100755 --- a/zcutil/make-release.py +++ b/zcutil/make-release.py @@ -23,7 +23,11 @@ def main(args=sys.argv[1:]): logging.debug('argv %r parsed %r', sys.argv, opts) try: - main_logged(opts.RELEASE_VERSION, opts.RELEASE_PREV) + main_logged( + opts.RELEASE_VERSION, + opts.RELEASE_PREV, + opts.RELEASE_HEIGHT, + ) except SystemExit as e: logging.error(str(e)) raise SystemExit(1) @@ -33,10 +37,11 @@ def main(args=sys.argv[1:]): # Top-level flow: -def main_logged(release, releaseprev): +def main_logged(release, releaseprev, releaseheight): verify_releaseprev_tag(releaseprev) initialize_git(release) patch_version_in_files(release, releaseprev) + patch_release_height(releaseheight) raise NotImplementedError(main_logged) @@ -59,6 +64,11 @@ def parse_args(args): type=Version.parse_arg, help='The previously released version.', ) + p.add_argument( + 'RELEASE_HEIGHT', + type=int, + help='A block height approximately occuring on release day.', + ) return p.parse_args(args) @@ -110,6 +120,27 @@ def patch_version_in_files(release, releaseprev): patch_README(release, releaseprev) patch_clientversion_h(release) patch_configure_ac(release) + patch_gitian_linux_yml(release, releaseprev) + + +def patch_release_height(releaseheight): + rgx = re.compile( + r'^(static const int APPROX_RELEASE_HEIGHT = )\d+(;)$', + ) + with PathPatcher('src/deprecation.h') as (inf, outf): + for line in inf: + m = rgx.match(line) + if m is None: + outf.write(line) + else: + [prefix, suffix] = m.groups() + outf.write( + '{}{}{}\n'.format( + prefix, + releaseheight, + suffix, + ), + ) # Helper code: @@ -148,6 +179,20 @@ def patch_configure_ac(release): ) +def patch_gitian_linux_yml(release, releaseprev): + path = 'contrib/gitian-descriptors/gitian-linux.yml' + with PathPatcher(path) as (inf, outf): + outf.write(inf.readline()) + + secondline = inf.readline() + assert secondline == 'name: "zcash-{}"\n'.format( + releaseprev.novtext + ), repr(secondline) + + outf.write('name: "zcash-{}"\n'.format(release.novtext)) + outf.write(inf.read()) + + def _patch_build_defs(release, path, pattern): rgx = re.compile(pattern) with PathPatcher(path) as (inf, outf):