summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes-global/insane.bbclass26
1 files changed, 16 insertions, 10 deletions
diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index f7a2c392cf..6f3cd3026d 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -1353,16 +1353,22 @@ python do_qa_patch() {
###########################################################################
def match_line_in_files(toplevel, filename_glob, line_regex):
import pathlib
- toppath = pathlib.Path(toplevel)
- for entry in toppath.glob(filename_glob):
- try:
- with open(entry, 'r', encoding='utf-8', errors='ignore') as f:
- for line in f.readlines():
- if re.match(line_regex, line):
- return True
- except FileNotFoundError:
- # Broken symlink in source
- pass
+ try:
+ toppath = pathlib.Path(toplevel)
+ for entry in toppath.glob(filename_glob):
+ try:
+ with open(entry, 'r', encoding='utf-8', errors='ignore') as f:
+ for line in f.readlines():
+ if re.match(line_regex, line):
+ return True
+ except FileNotFoundError:
+ # Broken symlink in source
+ pass
+ except FileNotFoundError:
+ # pathlib.Path.glob() might throw this when file/directory
+ # disappear while scanning.
+ bb.note("unimplemented-ptest: FileNotFoundError exception while scanning (disappearing file while scanning?). Check was ignored." % d.getVar('PN'))
+ pass
return False
srcdir = d.getVar('S')