Explorar o código

buildinfohelper: discover kernel artifacts correctly

Because some image_license.manifest files contain multiple
FILES lines, and because those lines can sometimes not contain
a list of files (i.e. they look like "FILES:\n"), we were
resetting the list of kernel artifacts when we hit the second
"empty" line.

Fix by ignoring any FILES line which doesn't list files, and by
appending any files found in a valid FILES line, rather than
overwriting the existing list.

[YOCTO #10107]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Elliot Smith %!s(int64=7) %!d(string=hai) anos
pai
achega
927ec35246
Modificáronse 1 ficheiros con 7 adicións e 4 borrados
  1. 7 4
      lib/bb/ui/buildinfohelper.py

+ 7 - 4
lib/bb/ui/buildinfohelper.py

@@ -1616,7 +1616,10 @@ class BuildInfoHelper(object):
                 if line.startswith('FILES'):
                     files_str = line.split(':')[1].strip()
                     files_str = re.sub(r' {2,}', ' ', files_str)
-                    files = files_str.split(' ')
+
+                    # ignore lines like "FILES:" with no filenames
+                    if files_str:
+                        files += files_str.split(' ')
         return files
 
     def _endswith(self, str_to_test, endings):
@@ -1734,9 +1737,9 @@ class BuildInfoHelper(object):
                 real_image_name,
                 'image_license.manifest')
 
-            # if image_license.manifest exists, we can read the names of bzImage
-            # and modules files for this build from it, then look for them
-            # in the DEPLOY_DIR_IMAGE; note that this file is only produced
+            # if image_license.manifest exists, we can read the names of
+            # bzImage, modules etc. files for this build from it, then look for
+            # them in the DEPLOY_DIR_IMAGE; note that this file is only produced
             # if an image file was produced
             if os.path.isfile(image_license_manifest_path):
                 has_files = True