scripts: wrap lz4c and convert to lz4

Commit fe167e082cbde1c6d186ecdda531abef610ac2ac switched to requiring
lz4 instead of lz4c which allows us to support distros dropping lz4c.
However, it wasn't only OE that was still using the legacy lz4c, there's
a number of upstreams as well.  For instance, it's only in the 6.13
kernel that CONFIG_KERNEL_LZ4 makes the switch from lz4c to lz4.

So, while this all gets ironed out, simply intercept calls to lz4c and
convert them to use lz4.  This was picked instead of adding lz4c to
HOSTTOOLS_NONFATAL due to concerns about builds becoming
non-deterministic and failing late:
https://lore.kernel.org/openembedded-core/9c3143ebb7f9e17cfbd318ef0e17994aae7264be.camel@linuxfoundation.org/

(From OE-Core rev: c10b94d82d10058a9e26f7d6919a0d6d721a7c75)

Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Justin Bronder 2024-12-16 14:51:32 -05:00 committed by Richard Purdie
parent a3c5179414
commit 4593b142d5

26
scripts/lz4c Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Wrapper to intercept legacy lz4c arguments and convert to lz4.
args=()
while [ $# -ne 0 ]; do
case ${1} in
-c0)
args+=(-0)
;;
-c1)
args+=(-9)
;;
-c2|-hc)
args+=(-12)
;;
-y)
args+=(--force)
;;
*)
args+=("${1}")
;;
esac
shift
done
exec lz4 "${args[@]}"