]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
toaster.bbclass: fix toaster error caused by tabs in BBLAYERS
authorOsose Itua <osose.itua@savoirfairelinux.com>
Wed, 11 Jun 2025 15:24:22 +0000 (11:24 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 16 Jun 2025 16:56:26 +0000 (17:56 +0100)
Users may unknowingly put tabs in BBLAYERS instead of spaces, and this is
interpreted as a literal "\t" at the start of the filepath which causes
_get_layer_dict() function to fail at finding the filepath.

Instead of using split(" "), which restricts it to split on just spaces
replace with split() as this handles spaces, tabs and newlines.

Min steps to reproduce:
- Clone the poky repo:
    git clone git://git.yoctoproject.org/poky
    cd poky
    source oe-init-build-env
- Insert tabs in the BBLAYERS variable in bblayers.conf
  - Note: tab needs to be in the recipe that is being built for the error to be observed
  - Ex: ` /home/<user>/src/poky/meta-skeleton \`
- Start toaster
  source toaster start
  bitbake hello

Error message:
FileNotFoundError: [Errno 2] No such file or directory: '\t/home/<user>/src/poky/meta-skeleton’

Fix by using split() instead of split(" ").

Suggested-by: Anakin Childerhose <anakin.childerhose@savoirfairelinux.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Osose Itua <osose.itua@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/toaster.bbclass

index 03c4f3a930c75823dd1beb158308eb2c01364bd3..af7c4578088cfbc30572f185659e89d5d3e05dfe 100644 (file)
@@ -84,7 +84,7 @@ python toaster_layerinfo_dumpdata() {
 
     llayerinfo = {}
 
-    for layer in { l for l in bblayers.strip().split(" ") if len(l) }:
+    for layer in { l for l in bblayers.strip().split() if len(l) }:
         llayerinfo[layer] = _get_layer_dict(layer)