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>
This commit is contained in:
parent
1f83bd21e4
commit
2f0464118f
|
@ -60,9 +60,12 @@ def list_links_list():
|
||||||
|
|
||||||
|
|
||||||
def list_git():
|
def list_git():
|
||||||
with os.popen("git ls-files") as git_files:
|
git_files = os.popen("git ls-files")
|
||||||
for line in git_files:
|
for line in git_files:
|
||||||
yield line.rstrip("\n")
|
yield line.rstrip("\n")
|
||||||
|
|
||||||
|
if git_files.close():
|
||||||
|
sys.stderr.write("W: git file listing failed, skipping some validation\n")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -135,7 +138,7 @@ def main():
|
||||||
)
|
)
|
||||||
ret = 1
|
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)
|
sys.stderr.write("E: %s listed in WHENCE does not exist\n" % name)
|
||||||
ret = 1
|
ret = 1
|
||||||
|
|
||||||
|
@ -151,10 +154,10 @@ def main():
|
||||||
break
|
break
|
||||||
valid_targets.add(dirname)
|
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:
|
if target not in valid_targets:
|
||||||
sys.stderr.write(
|
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
|
ret = 1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue