From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7198076072096694272 X-Received: by 2002:a05:6512:25a:b0:4d8:5289:1182 with SMTP id b26-20020a056512025a00b004d852891182mr1746328lfo.99.1675951242117; Thu, 09 Feb 2023 06:00:42 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:15a3:b0:4c8:8384:83f3 with SMTP id bp35-20020a05651215a300b004c8838483f3ls1420850lfb.3.-pod-prod-gmail; Thu, 09 Feb 2023 06:00:40 -0800 (PST) X-Google-Smtp-Source: AK7set+9HcBQVI0MGG6C8xaLJyMbfRQ8ycCFQFLETYZ+d74xZyEUlqK2rlOTTpmqDwgsuH3F8dve X-Received: by 2002:ac2:4192:0:b0:4b4:6490:cbf1 with SMTP id z18-20020ac24192000000b004b46490cbf1mr3197696lfh.15.1675951240008; Thu, 09 Feb 2023 06:00:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675951239; cv=none; d=google.com; s=arc-20160816; b=gGaWdfRdoMYXcon/uKUkXTyPFjdT/IeWHCR3nR+kR3C0WVbR8EyuXzlMbRVreiw2VP umbC1ULQT5QYli1UFIoaUYuqWO3CtoaH+OzxvzZNMrbeQldTQWvAtM4cVvejVam7Da3z EU0xdZHy25d7zjzL8xLgJ5/wcfuiZNHEO2Af7uU/UJEF5OyBy1WXawpMjRQwQ03pu4VG PTYC1vvfZLJYCeZILleadLMHzQFiJTGvFLx3iqRZamQp2m45VujSbUBWpf+KRpJ2y/sl 73YBXoOz9gmKpJDzrVkXWx4x6buOcJh1oGRTrLm+NN2I0dck9FMNKlfcUwI+ZAobGI5i VEeQ== 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=x4WAk8yhCkErGvHeebbfg+JmKz/6sQmt6JsVMUem0WM=; b=KV1OhANNscKjG8a+S1s2K7Tb8vhiLSHF1QK4ZWHir9jKFU8fT5NNMxFkRxyC7+UxQb /jYLQIghaS8Anp1rKtm9EFwcFoQkj1j7IIbL+DIw6boeO9sfAaGwntjLScLvDWnxwXHT HudfLi0wePskCMDO46g9SUPqlJFHgJQTovYYPVNrr/U2JrUN9NGfCL8Ll5Q6lejhVxUE LHN4xgmykSTW+YHSCBl6NIsvHGoGjW2m8/YSQH4a6LbQA08yOJW8uqXqb82Qrq4OWF/R ZtcPXrC6rV1QRjUxR1YvVTBoVjYfkKOGvu4iL3Ob4r8WeiPcpmuwcyXG2eOHyFSCULkE qqLA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=QljfNsso; spf=pass (google.com: domain of fm-72506-20230209140039a7b7cf373203bd3991-nnwje9@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-72506-20230209140039a7b7cf373203bd3991-nnwJe9@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 be18-20020a056512251200b004d09f629f63si92621lfb.8.2023.02.09.06.00.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Feb 2023 06:00:39 -0800 (PST) Received-SPF: pass (google.com: domain of fm-72506-20230209140039a7b7cf373203bd3991-nnwje9@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=QljfNsso; spf=pass (google.com: domain of fm-72506-20230209140039a7b7cf373203bd3991-nnwje9@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-72506-20230209140039a7b7cf373203bd3991-nnwJe9@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 20230209140039a7b7cf373203bd3991 for ; Thu, 09 Feb 2023 15:00:39 +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=x4WAk8yhCkErGvHeebbfg+JmKz/6sQmt6JsVMUem0WM=; b=QljfNssoCt0jzlhuMT6u67zdV+N/2+dVdMKvz6NYDgQUReXmZTpXGT77Lkhb+GZHuw1SFH XIUScPkJh8tbEtowPTVt+oSblHv8lckiOKLlhOWsH4aSBz5QgxkjcXM00kKFhFX2N71tgttD qi/+ttKcWmQnkEM6cuqUzPdNtmkX8=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: adriaan.schmidt@siemens.com, henning.schild@siemens.com, Felix Moessbauer Subject: [PATCH v2 1/1] replace custom OVA logic with imagetype logic Date: Thu, 9 Feb 2023 14:00:24 +0000 Message-Id: <20230209140024.542384-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: mbb4KSkKI+Yk 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 --- Changes since v1: - append with += to IMAGER_INSTALL:ova Note: The following pattern does NOT work: IMAGER_INSTALL:append:ova. The reason is that we unconditionally append to the variable in the machine config. This pattern is known as not supported. Felix RECIPE-API-CHANGELOG.md | 10 ++++++++++ .../images/virtualbox}/vm-img-virtualbox.ovf.tmpl | 0 .../recipes-core/images/vmware}/vm-img-vmware.ovf.tmpl | 0 meta/classes/imagetypes_vm.bbclass | 9 +++------ 4 files changed, 13 insertions(+), 6 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..41f2af06 100644 --- a/meta/classes/imagetypes_vm.bbclass +++ b/meta/classes/imagetypes_vm.bbclass @@ -6,11 +6,8 @@ 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" @@ -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