zephyr/scripts/west_commands
Steve Winslow c2ae5b3bbf west: spdx: Exclude files not present after build
The list of files which are included in the `build.spdx` SPDX SBOM document
is based on the files recorded as build artifacts based on the CMake
file-based API metadata response.

In some situations, such as the case indicated in #42072, a build artifact
may be reported by CMake but no such file is present on the system
following the build. This results in the `build.spdx` SPDX SBOM being
invalid, as a result of trying to provide metadata for a non-existent
file (and specifically being unable to provide its checksum).

This commit fixes this bug by omitting files from `build.spdx` if they
do not exist on disk after the build is complete, even if the CMake
metadata claims that they should. The resulting SPDX document should
then be valid.

Fixes #42072

Signed-off-by: Steve Winslow <steve@swinslow.net>
2022-03-24 14:54:20 +01:00
..
completion boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
runners scripts: runners: spi_burn: replaced delay by wait for response 2022-03-23 18:33:24 +01:00
tests west: runners: Fix verify warning from nrfjprog 2022-03-01 08:41:40 -08:00
zspdx west: spdx: Exclude files not present after build 2022-03-24 14:54:20 +01:00
boards.py scripts: west: boards: support listing out-of-tree boards 2021-07-16 07:17:35 -04:00
build.py scripts: add board revision help text for west build 2022-02-24 13:44:01 -08:00
build_helpers.py west build: fix --pristine on early build system failure 2020-10-14 07:22:32 -05:00
completion.py boards/shields: re-work handling in cmake and west 2021-01-15 15:07:49 -05:00
debug.py scripts: clean up west build/flash/debug help 2020-06-29 08:47:04 -04:00
export.py cmake: Zephyr CMake package clean-up and minor fix 2020-08-19 12:52:33 -04:00
flash.py scripts: clean up west build/flash/debug help 2020-06-29 08:47:04 -04:00
mypy.ini scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
README.txt scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
run_common.py scripts: runners: openocd: Enable thread awareness 2021-08-27 06:44:45 -04:00
run_tests.py scripts: runners: add type checking for west_commands 2020-09-03 16:49:09 -05:00
sign.py sign.py: pass west -v flag(s) to rimage 2022-03-11 11:52:38 -08:00
spdx.py doc: add docs for west spdx 2021-06-01 07:26:33 -05:00
zcmake.py scripts: zcmake: fix for prerelease cmake versions 2021-02-09 09:14:37 -05:00
zephyr_ext_common.py scripts: west_commands: Remove no longer needed load_dot_config(path) 2021-04-08 16:38:28 +02:00

This directory contains implementations for west commands which are
tightly coupled to the zephyr tree. This includes the build, flash,
and debug commands.

Before adding more here, consider whether you might want to put new
extensions in upstream west. For example, any commands which operate
on the multi-repo need to be in upstream west, not here. Try to limit
what goes in here to Zephyr-specific features.

When extending this code, please keep the unit tests (in tests/) up to
date. The mypy static type checker is also run on the runners package.

To run these tests locally on Windows, run:

   py -3 run_tests.py

On macOS and Linux:

   ./run_tests.py

Note that these tests are run as part of Zephyr's CI when submitting
an upstream pull request, and pull requests which break the tests
cannot be merged.

Thanks!