From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7198076072096694272 X-Received: by 2002:ac2:41da:0:b0:4d3:7687:e7bc with SMTP id d26-20020ac241da000000b004d37687e7bcmr1770367lfi.94.1675932684028; Thu, 09 Feb 2023 00:51:24 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:a178:0:b0:293:32ba:16c6 with SMTP id u24-20020a2ea178000000b0029332ba16c6ls87296ljl.3.-pod-prod-gmail; Thu, 09 Feb 2023 00:51:22 -0800 (PST) X-Google-Smtp-Source: AK7set87IV1IvM82flxp5W4u5wBbRK07+XMeOyl41QzK16PZuujsPaYrxBnC0ryDvBb5IVfnYlg0 X-Received: by 2002:a2e:b7d4:0:b0:293:2e06:8444 with SMTP id p20-20020a2eb7d4000000b002932e068444mr737035ljo.10.1675932682030; Thu, 09 Feb 2023 00:51:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675932682; cv=none; d=google.com; s=arc-20160816; b=PzpmgrcyfG1GL01XwLIshrpnAVFw6J+9fVB+ZZ98Ux7J+EqXg0WAVuuFl7+WKiiqeS 67b6RS7Ldk3Q7Giqq2VHbEb3W1SqqEptemQP3Jo+RQkfpJyqW6sBXsy+l66gi3D6P+vb 4q5msrDdfaOptktK/fjWLyKWHyYUkj8xnf6heacbS4bo3MLir37Yv1nhG+kHSqZfUpRV JFO51BnkpPwHkxXUV6xg6U31YgSC55z/uodYFLozP5CHGTNNqbPym+CF987R7RWRKz2u n95paSJHf4UG5KSXnTQJ5kA/FNzjapKqGJlFlJ7JZIoS54DdxRGJ8rJ79ehBAHvW/SR4 FxVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=UVqwWQS3jIEziQyWEZu0SPe3sQTk0ZPcrSCx13GJd34=; b=xvCEjBtHZd5uau30lcuxsuTwfOs73Wk1rq+m6gXbbppRS9ONJJt3UUrQR6FK5w+XS+ PMRPHoAW3zwWqIjXQTdtEMdFKkvLduBk+bVnuy/7Y7T6x37y7V0P9LCYmu1hg9y+0Rlm 8jUYKCP4X4ssgdnrNP6ObqzaXL/Oluzi4JFUjoraoSH1Z+UJr6k6ydRAw4TJVFTTAOFT YMTWV9TfZAY/Zx2CX7EOOcJGt42xUOldDAOjyO+5tEFeBlgfL9I/spMtteqBk5tiogAk V3nCo0DybaFfmJGF9CQceFc2BSQAm4+MHM0oYL8AL58KHwONjvf0hfe+aNEGJtXQia1P 7a9w== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hyDifd+T; spf=pass (google.com: domain of fm-72506-202302090851212242073de3755083b5-pdazs3@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-72506-202302090851212242073de3755083b5-PdAzs3@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id b30-20020a05651c0b1e00b0028d88cd79a3si33783ljr.8.2023.02.09.00.51.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Feb 2023 00:51:22 -0800 (PST) Received-SPF: pass (google.com: domain of fm-72506-202302090851212242073de3755083b5-pdazs3@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hyDifd+T; spf=pass (google.com: domain of fm-72506-202302090851212242073de3755083b5-pdazs3@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-72506-202302090851212242073de3755083b5-PdAzs3@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202302090851212242073de3755083b5 for ; Thu, 09 Feb 2023 09:51:21 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=felix.moessbauer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc; bh=UVqwWQS3jIEziQyWEZu0SPe3sQTk0ZPcrSCx13GJd34=; b=hyDifd+TuE1I6MZJvaZM4LX4xi6uwyrBfZTlKHcXRuEIYabS1FsITvFhT0xCbX49QSeSBV FM7XjQ1AcDwa5MMruRFJHCfvV1nb5IfZHBG7A6YBCYm/k0aEXJRYufLkVDxrUadlzocJYgj9 r+Kr2ov+9fxpuTj1lkpizLJedMpq0=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com, henning.schild@siemens.com, Felix Moessbauer Subject: [PATCH 1/1] replace custom OVA logic with imagetype logic Date: Thu, 9 Feb 2023 08:50:42 +0000 Message-Id: <20230209085042.420572-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer X-TUID: ArV0vnpftrud This patch refactors the imagetypes_vm class for virtualbox and vmware images. The existing manual implementation does not work anymore when referencing ova config files across layers. Instead, we now use the imagetypes logic, which avoids the problematic changes of FILESEXTRAPATHS and SRC_URI. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 10 ++++++++++ .../images/virtualbox}/vm-img-virtualbox.ovf.tmpl | 0 .../images/vmware}/vm-img-vmware.ovf.tmpl | 0 meta/classes/imagetypes_vm.bbclass | 11 ++++------- 4 files changed, 14 insertions(+), 7 deletions(-) rename {meta/classes/vm-img => meta-isar/recipes-core/images/virtualbox}/vm-img-virtualbox.ovf.tmpl (100%) rename {meta/classes/vm-img => meta-isar/recipes-core/images/vmware}/vm-img-vmware.ovf.tmpl (100%) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index e48c98c7..b66a4441 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -476,3 +476,13 @@ Bitbake 2.0 for better performance. It also requires isar-sstate script to be migrated to zstd. Mixing old Gzip-based and new ZStandatd-based sstate cache is not recommended and should be avoid for correct compatibility. + +### VM Image + +As a result of the Bitbake 2.0 migration, the vm image type has to be reworked: +Previously, a path to the `OVF_TEMPLATE_FILE` had to be somehow injected so +that the description file was located. This is now replaced by the imagetype +logic. By that, the `OVF_TEMPLATE_FILE` needs to be located in a directory +named according to the machine, next to the image file. If this is not possible +(e.g. in cross-layer scenarios), add the location to the FILESEXTRAPATHS of the +corresponding machine.conf. diff --git a/meta/classes/vm-img/vm-img-virtualbox.ovf.tmpl b/meta-isar/recipes-core/images/virtualbox/vm-img-virtualbox.ovf.tmpl similarity index 100% rename from meta/classes/vm-img/vm-img-virtualbox.ovf.tmpl rename to meta-isar/recipes-core/images/virtualbox/vm-img-virtualbox.ovf.tmpl diff --git a/meta/classes/vm-img/vm-img-vmware.ovf.tmpl b/meta-isar/recipes-core/images/vmware/vm-img-vmware.ovf.tmpl similarity index 100% rename from meta/classes/vm-img/vm-img-vmware.ovf.tmpl rename to meta-isar/recipes-core/images/vmware/vm-img-vmware.ovf.tmpl diff --git a/meta/classes/imagetypes_vm.bbclass b/meta/classes/imagetypes_vm.bbclass index 81ef866f..c52c96e5 100644 --- a/meta/classes/imagetypes_vm.bbclass +++ b/meta/classes/imagetypes_vm.bbclass @@ -6,14 +6,11 @@ inherit buildchroot -USING_OVA = "${@bb.utils.contains('IMAGE_BASETYPES', 'ova', '1', '0', d)}" - -FILESEXTRAPATHS:prepend := "${LAYERDIR_core}/classes/vm-img:" OVF_TEMPLATE_FILE ?= "vm-img-virtualbox.ovf.tmpl" -SRC_URI += "${@'file://${OVF_TEMPLATE_FILE}' if d.getVar('USING_OVA') == '1' else ''}" +IMAGE_SRC_URI:ova = "file://${OVF_TEMPLATE_FILE}" IMAGE_TYPEDEP:ova = "wic" -IMAGER_INSTALL:ova += "qemu-utils gawk uuid-runtime" +IMAGER_INSTALL:append:ova = " qemu-utils gawk uuid-runtime" # virtual machine disk settings SOURCE_IMAGE_FILE ?= "${IMAGE_FULLNAME}.wic" @@ -67,8 +64,8 @@ OVA_VARS = "OVA_NAME OVA_MEMORY OVA_NUMBER_OF_CPU OVA_VRAM \ OVA_FIRMWARE OVA_ACPI OVA_3D_ACCEL \ OVA_SHA_ALG VIRTUAL_MACHINE_IMAGE_FILE" -TEMPLATE_FILES += "${@'${OVF_TEMPLATE_FILE}' if d.getVar('USING_OVA') == '1' else ''}" -TEMPLATE_VARS += "${OVA_VARS}" +IMAGE_TEMPLATE_FILES:ova = "${OVF_TEMPLATE_FILE}" +IMAGE_TEMPLATE_VARS:ova = "${OVA_VARS}" do_image_ova[prefuncs] += "convert_wic" IMAGE_CMD:ova() { -- 2.34.1