diff options
author | Ronan Le Martret <ronan.lemartret@iot.bzh> | 2018-08-30 12:16:20 +0000 |
---|---|---|
committer | Stephane Desneux <stephane.desneux@iot.bzh> | 2020-05-19 18:56:09 +0000 |
commit | 9e58bd97144ab56a7858c6cd2206d3bd793bb09e (patch) | |
tree | 8bd6471dcf63ae5056bb2760d820b964b0eff9e3 /meta-rcar-gen3/include/checksum_control.inc | |
parent | f2fdf13f3cfdb5734820bde94bb7e83c2d8e783c (diff) |
[AGL] Add driver control checksum
* As the driver files come from out of git repository,
we need to check driver file integrity.
Change-Id: I46f2a281f8da1ae606e8ae1ee55324fd5fd9b772
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Diffstat (limited to 'meta-rcar-gen3/include/checksum_control.inc')
-rw-r--r-- | meta-rcar-gen3/include/checksum_control.inc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/meta-rcar-gen3/include/checksum_control.inc b/meta-rcar-gen3/include/checksum_control.inc new file mode 100644 index 0000000..e0decc7 --- /dev/null +++ b/meta-rcar-gen3/include/checksum_control.inc @@ -0,0 +1,25 @@ +require include/checksum_control_files.inc + +python do_checksum_control() { + to_check_dico = d.getVarFlags("CTL_CHECKSUM") + if to_check_dico is None: + return 0 + + src_uri = (d.getVar('SRC_URI') or "").split() + for s in src_uri: + c_source=os.path.basename(s) + bb.note("Check source: %s " % (c_source)) + if c_source in to_check_dico: + f_data = bb.fetch2.FetchData(s, d, True) + f_data.setup_localpath(d) + if os.path.exists(f_data.localpath): + mdr5_sum=bb.utils.md5_file(f_data.localpath) + mdr5_ctl=to_check_dico[c_source] + if mdr5_sum != mdr5_ctl: + bb.fatal( "File %s hash should be %s but %s find, please update your driver files." % (c_source, mdr5_ctl, mdr5_sum)) +} + +do_checksum_control[doc] = "Do a checksum of the archives source files" +do_checksum_control[vardeps] = "CTL_CHECKSUM" + +addtask do_checksum_control before do_unpack after do_fetch |