From: Mike Looijmans Date: Tue, 15 Sep 2015 09:50:39 +0000 (+0200) Subject: image_types.bbclass: Don't try to create ubi symlink twice X-Git-Tag: 2015-10~337 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=fce257892488b9ef537526ccf412e9deda37c439;p=openembedded-core.git image_types.bbclass: Don't try to create ubi symlink twice Fixes b6e64de541b37 "Restore compatibility with previous UBI filesystems" The multivolume UBI code creates symlinks for each volume. If the volume name is empty, it will create a symlink that the rootfs code will attempt to create again later, resulting in a crash like this (unless IMAGE_LINK_NAME is blank): ERROR: Error executing a python function in .../recipes-core/images/my-image.bb: File: '.../oe-core/meta/lib/oe/image.py', lineno: 203, function: _create_symlinks *** 0203: os.symlink(src, dst) Exception: OSError: [Errno 17] File exists To prevent this from happening, only create symlinks to volumes that have a name, and let the rootfs script create the default symlink later. Signed-off-by: Mike Looijmans Signed-off-by: Ross Burton --- diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 306403e310..afa2e8eb8f 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -139,17 +139,19 @@ multiubi_mkfs() { # Cleanup cfg file mv ubinize${vname}.cfg ${DEPLOY_DIR_IMAGE}/ - # Create own symlink - cd ${DEPLOY_DIR_IMAGE} - if [ -e ${IMAGE_NAME}${vname}.rootfs.ubifs ]; then - ln -sf ${IMAGE_NAME}${vname}.rootfs.ubifs \ - ${IMAGE_LINK_NAME}${vname}.ubifs - fi - if [ -e ${IMAGE_NAME}${vname}.rootfs.ubi ]; then - ln -sf ${IMAGE_NAME}${vname}.rootfs.ubi \ - ${IMAGE_LINK_NAME}${vname}.ubi + # Create own symlinks for 'named' volumes + if [ -n "$vname" ]; then + cd ${DEPLOY_DIR_IMAGE} + if [ -e ${IMAGE_NAME}${vname}.rootfs.ubifs ]; then + ln -sf ${IMAGE_NAME}${vname}.rootfs.ubifs \ + ${IMAGE_LINK_NAME}${vname}.ubifs + fi + if [ -e ${IMAGE_NAME}${vname}.rootfs.ubi ]; then + ln -sf ${IMAGE_NAME}${vname}.rootfs.ubi \ + ${IMAGE_LINK_NAME}${vname}.ubi + fi + cd - fi - cd - } IMAGE_CMD_multiubi () {