The pixel6 kernel build fails with "lz4: command not found"
when KERNEL_IMAGETYPE is set to `Image.lz4`.
Upstream commit
0c7dc5bae1 ("bitbake.conf: Drop lz4 from HOSTTOOLS")
dropped lz4 from the global `HOSTTOOLS` variable. This meant that
the lz4 binary was no longer automatically provided to build tasks,
causing the compilation to fail.
Add a conditional dependency on `lz4-native` directly to
`kernel.bbclass`. It ties the dependency directly to the image type
that requires it, making the build more robust.
Suggested-by: André Draszik <andre.draszik@linaro.org>
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}"
+DEPENDS += "${@bb.utils.contains("KERNEL_IMAGETYPES", "Image.lz4", "lz4-native", "", d)}"
PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot"