]> code.ossystems Code Review - openembedded-core.git/commitdiff
image_types.bbclass: Restore compatibility with previous UBI filesystems
authorMike Looijmans <mike.looijmans@topic.nl>
Fri, 11 Sep 2015 17:06:40 +0000 (19:06 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 12 Sep 2015 22:01:55 +0000 (23:01 +0100)
Support for multiple ubi images has broken dozens of machine deployment scripts
in two ways:
Previously, ubi filesystems would be named $IMAGE_NAME as one would expect. The
current version would append "_rootfs" to that name for no reason. Fix it so that
the name for ubi images remains unchanged if there is only one image to build.
Machines would append to IMAGE_CMD_ubi, adding extra image processing of their
own. This is broken now that IMAGE_CMD_ubi became a variable instead of a function.
Make IMAGE_CMD_ubi a function again, this also makes for more logical quotes (I
was surprised to find that " within " would even work).

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image_types.bbclass

index ecb066bf99c2b9a21325013a22e83651e8adf693..306403e310826d0d004fdd1cea68e241f4e8fddb 100644 (file)
@@ -120,7 +120,11 @@ UBI_VOLNAME ?= "${MACHINE}-rootfs"
 multiubi_mkfs() {
        local mkubifs_args="$1"
        local ubinize_args="$2"
-       local vname="_$3"
+       if [ -z "$3" ]; then
+               local vname=""
+       else
+               local vname="_$3"
+       fi
 
        echo \[ubifs\] > ubinize${vname}.cfg
        echo mode=ubi >> ubinize${vname}.cfg
@@ -158,7 +162,9 @@ IMAGE_CMD_multiubi () {
        done
 }
 
-IMAGE_CMD_ubi = "multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}" "${UBI_VOLNAME}""
+IMAGE_CMD_ubi () {
+       multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}"
+}
 
 IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs ${MKUBIFS_ARGS}"