diff options
author | Miguel Ojeda <ojeda@kernel.org> | 2024-05-28 19:31:50 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-06-12 12:39:54 +0300 |
commit | bb253a1d65acd631eb384cbe4c6db64c9c28f6c9 (patch) | |
tree | 3cf2cf80b23c7350f7872761a1aa86a3afae21c2 | |
parent | e9250578ac6278dfd24a57c326eb805b3bdb0e31 (diff) | |
download | linux-bb253a1d65acd631eb384cbe4c6db64c9c28f6c9.tar.xz |
kheaders: use `command -v` to test for existence of `cpio`
[ Upstream commit 6e58e0173507e506a5627741358bc770f220e356 ]
Commit 13e1df09284d ("kheaders: explicitly validate existence of cpio
command") added an explicit check for `cpio` using `type`.
However, `type` in `dash` (which is used in some popular distributions
and base images as the shell script runner) prints the missing message
to standard output, and thus no error is printed:
$ bash -c 'type missing >/dev/null'
bash: line 1: type: missing: not found
$ dash -c 'type missing >/dev/null'
$
For instance, this issue may be seen by loongarch builders, given its
defconfig enables CONFIG_IKHEADERS since commit 9cc1df421f00 ("LoongArch:
Update Loongson-3 default config file").
Therefore, use `command -v` instead to have consistent behavior, and
take the chance to provide a more explicit error.
Fixes: 13e1df09284d ("kheaders: explicitly validate existence of cpio command")
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rwxr-xr-x | kernel/gen_kheaders.sh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh index 6d443ea22bb7..4ba5fd3d73ae 100755 --- a/kernel/gen_kheaders.sh +++ b/kernel/gen_kheaders.sh @@ -14,7 +14,12 @@ include/ arch/$SRCARCH/include/ " -type cpio > /dev/null +if ! command -v cpio >/dev/null; then + echo >&2 "***" + echo >&2 "*** 'cpio' could not be found." + echo >&2 "***" + exit 1 +fi # Support incremental builds by skipping archive generation # if timestamps of files being archived are not changed. |