From 3202e319a19297e3d61d6fe1db87b5ba5a940d28 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2019 11:02:45 +0100 Subject: Replace build date with Git hash and commit date The usage of a build date prevents reproducible builds. --- wscript | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'wscript') diff --git a/wscript b/wscript index 82d5eaa..1488d3a 100644 --- a/wscript +++ b/wscript @@ -9,8 +9,6 @@ path.append(abspath('common')) import waflib import waf as docs_waf -version = '5.0.0 (master)' - build_all = ['user', 'rsb', 'c-user', @@ -31,7 +29,6 @@ def options(opt): docs_waf.cmd_options(opt) def configure(conf): - conf.env.VERSION = version for b in building: conf.recurse(b) conf.env['BUILD_FROM_TOP'] = 'yes' @@ -53,7 +50,43 @@ def coverpage_js(ctx): with open(ctx.outputs[0].abspath(), 'w') as o: o.write(js.replace('@CATALOGUE', xml)) +def pretty_day(day): + if day == 3: + s = 'rd' + elif day == 11: + s = 'th' + elif day == 12: + s = 'th' + elif day == 13: + s = 'th' + elif day % 10 == 1: + s = 'st' + elif day % 10 == 2: + s = 'nd' + else: + s = 'th' + return str(day) + s + def build(ctx): + # + # Get date and version from Git + # + version = '5.0.0' + if ctx.exec_command(['git', 'diff-index', '--quiet', 'HEAD']) == 0: + modified = '' + else: + modified = '-modified' + try: + out = ctx.cmd_and_log(['git', 'log', '-1', '--format=%H,%cd', '--date=format:%e,%B,%Y']) + f = out.strip('\n').split(',') + version = version + '.' + f[0] + modified + date = pretty_day(int(f[1])) + ' ' + f[2] + ' ' + f[3] + except waflib.Build.Errors.WafError: + date = 'unknown date' + ctx.env.DATE = date + ctx.env.RELEASE = version + ' (' + date + ')' + ctx.env.VERSION = version + # # Generate any PlantUML images if enabled. # -- cgit v1.2.3