]> git.ipfire.org Git - thirdparty/linux-firmware.git/commitdiff
check_whence.py: skip some validation if git ls-files fails
authorEmil Velikov <emil.l.velikov@gmail.com>
Fri, 18 Oct 2024 12:58:01 +0000 (13:58 +0100)
committerMario Limonciello <superm1@gmail.com>
Fri, 18 Oct 2024 15:08:24 +0000 (15:08 +0000)
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>
check_whence.py

index c3d4a2e38f095ec806a150bf25c5065445ff393f..1fece4f4920a1fdcce7589e54cdc37e1b4c2100c 100755 (executable)
@@ -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