binman: Mark mkimage entry missing when its subnodes is missing
authorJonas Karlman <jonas@kwiboo.se>
Sat, 25 Feb 2023 19:01:35 +0000 (19:01 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Tue, 28 Feb 2023 10:07:26 +0000 (18:07 +0800)
commit40389c2a462256da7f2348bed791c8ba2ae6eec6
treea274f32dbab50175590fab43afa39e6087d72045
parent5fc5a840d4cf189616aba3a4a7bf10c4ac8edc83
binman: Mark mkimage entry missing when its subnodes is missing

Using the mkimage entry with the multiple-data-files prop and having a
missing external blob result in an unexpected ValueError exception using
the --allow-missing flag.

  ValueError: Filename 'missing.bin' not found in input path (...)

Fix this by using _pathname that is resolved by ObtainContents for blob
entries, ObtainContents also handles allow missing for external blobs.

Mark mkimage entry as missing and return without running mkimage when
missing entries is reported by CheckMissing.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
tools/binman/etype/mkimage.py
tools/binman/ftest.py
tools/binman/test/278_mkimage_missing_multiple.dts [new file with mode: 0644]