]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
image.bbclass: preserve debugfs tarball with checksum fstype
authorManuel Leonhardt <mleonhardt@arri.de>
Tue, 9 Sep 2025 10:41:28 +0000 (12:41 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 11 Sep 2025 09:45:09 +0000 (10:45 +0100)
Previously, when adding checksum fstypes to IMAGE_FSTYPES_DEBUGFS, e.g.
IMAGE_FSTYPES_DEBUGFS = "tar.bz2 tar.bz2.sha256sum", only the checksum
file remained in DEPLOY_DIR while the tarball file was removed. The
underlying issue was that inside gen_conversion_cmds, removing the
debugfs_ prefix from type broke the comparison with alltypes where the
prefix was expected.

Signed-off-by: Manuel Leonhardt <mleonhardt@arri.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/image.bbclass
meta/lib/oeqa/selftest/cases/imagefeatures.py

index 24a19fce1ad7138b06de8dd524333e83fcbb3065..ccad308b939d0964e8ae671a1bde14cede6dfc0c 100644 (file)
@@ -481,6 +481,7 @@ python () {
             for ctype in sorted(ctypes):
                 if bt.endswith("." + ctype):
                     type = bt[0:-len(ctype) - 1]
+                    original_type = type
                     if type.startswith("debugfs_"):
                         type = type[8:]
                     # Create input image first.
@@ -493,7 +494,7 @@ python () {
                     subimage = type + "." + ctype
                     if subimage not in subimages:
                         subimages.append(subimage)
-                    if type not in alltypes:
+                    if original_type not in alltypes:
                         rm_tmp_images.add(localdata.expand("${IMAGE_NAME}.${type}"))
 
         for bt in basetypes[t]:
index 94d01ba1165c132f7c6398a07d86d17710cff33f..87c3da228aa8825cf2373be5c6141fbd0c112d19 100644 (file)
@@ -277,16 +277,19 @@ SKIP_RECIPE[busybox] = "Don't build this"
         """
       
         image = 'core-image-minimal'
-        image_fstypes_debugfs = 'tar.bz2'
-        features = 'IMAGE_GEN_DEBUGFS = "1"\n'
-        features += 'IMAGE_FSTYPES_DEBUGFS = "%s"\n' % image_fstypes_debugfs
-        self.write_config(features)
+        config = """
+IMAGE_GEN_DEBUGFS = "1"
+IMAGE_FSTYPES_DEBUGFS = "tar.bz2 tar.bz2.sha256sum"
+"""
+        self.write_config(config)
 
         bitbake(image)
         bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'], image)
 
-        dbg_tar_file = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s-dbg.%s" % (bb_vars['IMAGE_LINK_NAME'], image_fstypes_debugfs))
+        dbg_tar_file = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s-dbg.tar.bz2" % bb_vars['IMAGE_LINK_NAME'])
         self.assertTrue(os.path.exists(dbg_tar_file), 'debug filesystem not generated at %s' % dbg_tar_file)
+        dbg_tar_sha_file = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], "%s-dbg.tar.bz2.sha256sum" % bb_vars['IMAGE_LINK_NAME'])
+        self.assertTrue(os.path.exists(dbg_tar_sha_file), 'debug filesystem sha256sum not generated at %s' % dbg_tar_sha_file)
         result = runCmd('cd %s; tar xvf %s' % (bb_vars['DEPLOY_DIR_IMAGE'], dbg_tar_file))
         self.assertEqual(result.status, 0, msg='Failed to extract %s: %s' % (dbg_tar_file, result.output))
         result = runCmd('find %s -name %s' % (bb_vars['DEPLOY_DIR_IMAGE'], "udevadm"))