new file mode 100644
@@ -0,0 +1,66 @@
+From 2f0464118f404b8adc4e245a4903c9a1385e00b0 Mon Sep 17 00:00:00 2001
+From: Emil Velikov <emil.l.velikov@gmail.com>
+Date: Fri, 18 Oct 2024 13:58:01 +0100
+Subject: [PATCH] check_whence.py: skip some validation if git ls-files fails
+
+Recently we started running check_whence.py to validate WHENCE before
+installing files with copy-firmware.sh. It did not consider the fact
+that people may be using the distribution tarball, which lacks the
+relevant git metadata.
+
+Throw a warning and skip the relevant validation.
+
+Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=2f0464118f404b8adc4e245a4903c9a1385e00b0]
+
+Signed-off-by: Vivek Puar <quic_vpuar@quicinc.com>
+---
+ check_whence.py | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/check_whence.py b/check_whence.py
+index c3d4a2e3..1fece4f4 100755
+--- a/check_whence.py
++++ b/check_whence.py
+@@ -60,9 +60,12 @@ def list_links_list():
+
+
+ def list_git():
+- with os.popen("git ls-files") as git_files:
+- for line in git_files:
+- yield line.rstrip("\n")
++ git_files = os.popen("git ls-files")
++ for line in git_files:
++ yield line.rstrip("\n")
++
++ if git_files.close():
++ sys.stderr.write("W: git file listing failed, skipping some validation\n")
+
+
+ def main():
+@@ -135,7 +138,7 @@ def main():
+ )
+ ret = 1
+
+- for name in sorted(list(known_files - git_files)):
++ for name in sorted(list(known_files - git_files) if len(git_files) else list()):
+ sys.stderr.write("E: %s listed in WHENCE does not exist\n" % name)
+ ret = 1
+
+@@ -151,10 +154,10 @@ def main():
+ break
+ valid_targets.add(dirname)
+
+- for link, target in sorted(links_list):
++ for link, target in sorted(links_list if len(git_files) else list()):
+ if target not in valid_targets:
+ sys.stderr.write(
+- "E: target %s of link %s in WHENCE" " does not exist\n" % (target, link)
++ "E: target %s of link %s in WHENCE does not exist\n" % (target, link)
+ )
+ ret = 1
+
+--
+2.34.1
+
similarity index 99%
rename from meta/recipes-kernel/linux-firmware/linux-firmware_20240909.bb
rename to meta/recipes-kernel/linux-firmware/linux-firmware_20241017.bb
@@ -158,7 +158,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
"
# WHENCE checksum is defined separately to ease overriding it if
# class-devupstream is selected.
-WHENCE_CHKSUM = "6ae5ffd807c84809977286ad0b37acdb"
+WHENCE_CHKSUM = "f82849fb6325a8a14e21a4feacc5ebb0"
# These are not common licenses, set NO_GENERIC_LICENSE for them
# so that the license files will be copied from fetched source
@@ -240,6 +240,7 @@ PE = "1"
SRC_URI = "\
${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz \
+ file://0001-check_whence.py-skip-some-validation-if-git-ls-files.patch \
"
BBCLASSEXTEND = "devupstream:target"
@@ -247,7 +248,7 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw
# Pin this to the 20220509 release, override this in local.conf
SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
-SRC_URI[sha256sum] = "943fbd19883cf8eadf89e0b22422549db056557b1ecd30a56400615971369671"
+SRC_URI[sha256sum] = "a26c38ef5a83272f2b98ce8bf8ca1865a852a3deea49ce5a8dd804b914351273"
inherit allarch
@@ -256,7 +257,7 @@ CLEANBROKEN = "1"
# Use PACKAGECONFIG_CONFARGS to set the Makefile target
PACKAGECONFIG ??= ""
# Enabling dedup will turn duplicate firmware files into links
-PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native"
+PACKAGECONFIG[deduplicate] = "install dedup,install,rdfind-native"
do_compile() {
:
License-Update: additional firmwares The commit [1] fixes the error when people will use the distribution tarball during compilation, so adding the commit as a patch. Installation of firmware and deduplication are now separate targets, so we can run install. Target install no more runs de-duplication. De-duplication is a separate target. Hence, this recipe can rely on install target. If de-duplication is desired following can be done in a bbappend file: PACKAGECONFIG = "deduplicate" [1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=2f0464118f404b8adc4e245a4903c9a1385e00b0 Signed-off-by: Vivek Puar <quic_vpuar@quicinc.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> --- ...skip-some-validation-if-git-ls-files.patch | 66 +++++++++++++++++++ ...20240909.bb => linux-firmware_20241017.bb} | 7 +- 2 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-kernel/linux-firmware/linux-firmware/0001-check_whence.py-skip-some-validation-if-git-ls-files.patch rename meta/recipes-kernel/linux-firmware/{linux-firmware_20240909.bb => linux-firmware_20241017.bb} (99%)