瀏覽代碼

swupdate.bbclass: fix SWUPDATE_IMAGES_NOAPPEND_MACHINE parsing

The SWUPDATE_IMAGES_NOAPPEND_MACHINE check is incorrect and always takes
the 'elif' branch. This is because the allowed values for
SWUPDATE_IMAGES_NOAPPEND_MACHINE are "0", "1" or unset. The first two
values are strings, and getVarFlag() returns them as strings, but the code
checks for boolean.

Keep the allowed values to "0", "1" or unset as per the documentation and
to keep backward compatibility, and fix by comparing with strings instead
of booleans.

Fixes: b6534bbc2781 ("swupdate: simplify find images added to swu")
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Stefano Babic <sbabic@denx.de>
Luca Ceresoli 4 年之前
父節點
當前提交
9d96bb12eb
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      classes/swupdate.bbclass

+ 2 - 2
classes/swupdate.bbclass

@@ -137,9 +137,9 @@ python do_swuimage () {
         encrypted = (d.getVarFlag("SWUPDATE_IMAGES_ENCRYPTED", image, True) or "")
         if fstypes:
             noappend_machine = d.getVarFlag("SWUPDATE_IMAGES_NOAPPEND_MACHINE", image, True)
-            if noappend_machine == False:  # Search for a file explicitely with MACHINE
+            if noappend_machine == "0":  # Search for a file explicitely with MACHINE
                 imagebases = [ image + '-' + d.getVar('MACHINE', True) ]
-            elif noappend_machine == True:  # Search for a file explicitely without MACHINE
+            elif noappend_machine == "1":  # Search for a file explicitely without MACHINE
                 imagebases = [ image ]
             else:  # None, means auto mode. Just try to find an image file with MACHINE or without MACHINE
                 imagebases = [ image + '-' + d.getVar('MACHINE', True), image ]