@@ -70,9 +70,9 @@ IMAGE_CMD:ova() {
if [ ! ${VIRTUAL_MACHINE_IMAGE_TYPE} = "vmdk" ]; then
exit 0
fi
- rm -f '${DEPLOY_DIR_IMAGE}/${OVA_NAME}.ova'
- rm -f '${DEPLOY_DIR_IMAGE}/${OVA_NAME}.ovf'
- rm -f '${DEPLOY_DIR_IMAGE}/${OVA_NAME}.mf'
+ rm -f '${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.ova'
+ rm -f '${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.ovf'
+ rm -f '${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.mf'
export PRIMARY_MAC=$(macgen)
export LAST_CHANGE=$(date -u "+%Y-%m-%dT%H:%M:%SZ")
@@ -85,16 +85,16 @@ IMAGE_CMD:ova() {
export DISK_UUID=$(uuidgen)
export VM_UUID=$(uuidgen)
# create ovf
- cat ${PP_WORK}/${OVF_TEMPLATE_STAGE2} | envsubst > ${PP_DEPLOY}/${OVA_NAME}.ovf
- tar -cvf ${PP_DEPLOY}/${OVA_NAME}.ova -C ${PP_DEPLOY} ${OVA_NAME}.ovf
+ cat ${PP_WORK}/${OVF_TEMPLATE_STAGE2} | envsubst > ${PP_DEPLOY}/${IMAGE_FULLNAME}.ovf
+ tar -cvf ${PP_DEPLOY}/${IMAGE_FULLNAME}.ova -C ${PP_DEPLOY} ${IMAGE_FULLNAME}.ovf
# VirtualBox needs here a manifest file. VMware does accept that format.
if [ "${VMDK_SUBFORMAT}" = "monolithicSparse" ]; then
- echo "SHA${OVA_SHA_ALG}(${VIRTUAL_MACHINE_IMAGE_FILE})=$(sha${OVA_SHA_ALG}sum ${PP_DEPLOY}/${VIRTUAL_MACHINE_IMAGE_FILE} | cut -d' ' -f1)" >> ${PP_DEPLOY}/${OVA_NAME}.mf
- echo "SHA${OVA_SHA_ALG}(${OVA_NAME}.ovf)=$(sha${OVA_SHA_ALG}sum ${PP_DEPLOY}/${OVA_NAME}.ovf | cut -d' ' -f1)" >> ${PP_DEPLOY}/${OVA_NAME}.mf
- tar -uvf ${PP_DEPLOY}/${OVA_NAME}.ova -C ${PP_DEPLOY} ${OVA_NAME}.mf
+ echo "SHA${OVA_SHA_ALG}(${VIRTUAL_MACHINE_IMAGE_FILE})=$(sha${OVA_SHA_ALG}sum ${PP_DEPLOY}/${VIRTUAL_MACHINE_IMAGE_FILE} | cut -d' ' -f1)" >> ${PP_DEPLOY}/${IMAGE_FULLNAME}.mf
+ echo "SHA${OVA_SHA_ALG}(${IMAGE_FULLNAME}.ovf)=$(sha${OVA_SHA_ALG}sum ${PP_DEPLOY}/${IMAGE_FULLNAME}.ovf | cut -d' ' -f1)" >> ${PP_DEPLOY}/${IMAGE_FULLNAME}.mf
+ tar -uvf ${PP_DEPLOY}/${IMAGE_FULLNAME}.ova -C ${PP_DEPLOY} ${IMAGE_FULLNAME}.mf
fi
- tar -uvf ${PP_DEPLOY}/${OVA_NAME}.ova -C ${PP_DEPLOY} ${VIRTUAL_MACHINE_IMAGE_FILE}
+ tar -uvf ${PP_DEPLOY}/${IMAGE_FULLNAME}.ova -C ${PP_DEPLOY} ${VIRTUAL_MACHINE_IMAGE_FILE}
EOIMAGER
}
IMAGE_CMD:ova[depends] = "${PN}:do_transform_template"
Fix ownership update in do_image_ova task for custom OVA names. The do_image_ova task uses ${IMAGE_FULLNAME}.ova for ownership updates instead of ${OVA_NAME}.ova, leading to build failures in virtualbox/VMware images. Failure logs: (Here, OVA_NAME = "isar-image-base-test") | isar-image-base-test.ovf | isar-image-base-test.mf | isar-image-base-debian-bookworm-virtualbox-disk001.vmdk | Removing /etc/schroot/isar-builder-88786470-74dc-4172-8907-531a0306c699-2655 | Removing /etc/schroot/chroot.d/isar-builder-88786470-74dc-4172-8907-531a0306c699-2655 | chown: cannot access '/build/tmp/deploy/images/virtualbox/isar-image-base-debian-bookworm-virtualbox.ova': No such file or directory Fix VM image filenames: Use IMAGE_FULLNAME for VM images (.ova, .ovf, .mf) OVA_NAME is embedded in the VM's description (metadata), so the imported image retains that name, independent of the filenames. Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com> --- meta/classes/imagetypes_vm.bbclass | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)