From b6e64de541b37bc5c558c4ad362a0467291a5609 Mon Sep 17 00:00:00 2001 From: Mike Looijmans Date: Fri, 11 Sep 2015 19:06:40 +0200 Subject: image_types.bbclass: Restore compatibility with previous UBI filesystems 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 Signed-off-by: Richard Purdie --- meta/classes/image_types.bbclass | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index ecb066bf99..306403e310 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -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}" -- cgit 1.2.3-korg