[PATCH 01/10] build: Generate build hash
Gedare Bloom
gedare at rtems.org
Wed Feb 24 17:55:49 UTC 2021
On Wed, Feb 24, 2021 at 6:57 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Update #4265.
> ---
> wscript | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/wscript b/wscript
> index 6626fafb74..83c7c446bb 100755
> --- a/wscript
> +++ b/wscript
> @@ -1359,6 +1359,30 @@ def get_compiler(conf, cp, variant):
> return value
>
>
> +def _generate_build_hash(conf):
> + import hashlib
> + import base64
> +
> + build_hash = ""
> + for key in sorted(conf.env):
> + build_hash = build_hash + key + str(conf.env[key])
> + for discard in [
> + conf.env.PREFIX,
> + conf.bldnode.make_node(conf.env.VARIANT).abspath(),
> + conf.path.abspath(),
> + ]:
> + build_hash = build_hash.replace(discard, "")
> + state = hashlib.sha256()
> + state.update(build_hash.encode("utf-8"))
> + conf.define(
> + "RTEMS_BUILD_HASH",
> + base64.urlsafe_b64encode(state.digest()).decode("utf-8"),
> + )
> + conf.write_config_header(
> + conf.env.VARIANT + "/cpukit/include/rtems/build-hash.h"
Is this injecting a file in the source tree?
> + )
> +
> +
> def configure_variant(conf, cp, bsp_map, path_list, top_group, variant):
> conf.msg("Configure board support package (BSP)", variant, color="YELLOW")
>
> @@ -1391,9 +1415,10 @@ def configure_variant(conf, cp, bsp_map, path_list, top_group, variant):
> conf.fatal("No such base BSP: '{}'".format(variant))
> bsp_item.configure(conf, cic)
>
> - options = set([o[0].upper() for o in cp.items(variant)])
> + options = set(o[0].upper() for o in cp.items(variant))
> for o in options.difference(cic.options):
> conf.msg("Unknown configuration option", o.upper(), color="RED")
> + _generate_build_hash(conf)
>
>
> def check_forbidden_options(ctx, opts):
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list