From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7041956804245323776 X-Received: by 2002:a05:6512:3c8b:: with SMTP id h11mr2328175lfv.253.1639752533542; Fri, 17 Dec 2021 06:48:53 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3d9e:: with SMTP id k30ls122816lfv.1.gmail; Fri, 17 Dec 2021 06:48:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJzvu4CcArb0k3m0J4eexX0bga/L9ytrzhPlLrym2Vu3Iw4MypJGngChHWSHakwvWcf7PL+o X-Received: by 2002:ac2:4857:: with SMTP id 23mr1856767lfy.217.1639752532537; Fri, 17 Dec 2021 06:48:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639752532; cv=none; d=google.com; s=arc-20160816; b=PfK3njY/XkCNLOWF/0wyttd1rTSxxqOVc/mgDK8gHW2eASkDR3XwziibMS8nONPMmE kuwrtHMWki5PpbH30yO2lQ1pmfzy4SFxwlnxoGDkuhNYjX/CmO8+122/bh1mgZ0pTHwK bjY++9l1tmA4Jl7Iv7pf/n3J7IVAZ5smj6X4YUh5EFfaVYa1TuGjFiDEvzVQfVqAyiX+ LTtjVJHIvuiAy0PkrgExv3qOKX+rOVcrktbrJ7E++dv2ZAnvS3jPO8FHZkSfuFpVbaFc dF1HJXbKofUDAAPDsYLFDrrvf+0b3hkuf/ddyPKbaIZwvrABM5KuYymPAbFUohqTMvFx wByA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=sjdCVv4AUU0xzS4tgZG7t0KX6+eKyyRrhXSGXtbWm20=; b=ne4EBWoDwvCMWfZLz7JQjzS+vk8nn2lxF6a69pkMja0vX9XkBbSe2yHITzj+k8ME/S Wqz/6cxwgIO0XmMDjdH8S1AUPdTwISoUsl7EkutAA7q2dr9L/xrQ32kJITvGApOZOqQK pJP5luEIQOKrup8aFcihcs67L1//CudcTUbXUGFMiJGb5woMUKOdWMs0IvrQcgwcBUjl 6i9DZMee7H7uJAr9v3lG7P21aUM1kYqXM1uRuUv46a3upxabxjMYCaEwgbI0up6W1xMD E8isicN0e2x/6AieLAnmhjl3f51/PfJDHar2y0JmNqH3+38EAfSEVbp2j/y/34sA/gMe gHKQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id f11si456866lfv.6.2021.12.17.06.48.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 17 Dec 2021 06:48:52 -0800 (PST) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (mm-214-81-214-37.mgts.dynamic.pppoe.byfly.by [37.214.81.214] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 1BHEmh2u018603 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 17 Dec 2021 15:48:51 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH v6 6/7] vm-img: make use of isars template class for most of the tmpl variables Date: Fri, 17 Dec 2021 17:48:34 +0300 Message-Id: <20211217144835.14878-7-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211217144835.14878-1-amikan@ilbers.de> References: <20211217144835.14878-1-amikan@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: aY//r+tjMYKi From: Henning Schild The vm-img class used to envsubst everything itself, but doing so with the templating mechanism of isar is probably better, also to cover variable depends. But we stick with a second run of envsubst for variables where the content needs to be discovered/calculated. Signed-off-by: Henning Schild --- meta/classes/vm-img.bbclass | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/meta/classes/vm-img.bbclass b/meta/classes/vm-img.bbclass index 5dfb48e..4258780 100644 --- a/meta/classes/vm-img.bbclass +++ b/meta/classes/vm-img.bbclass @@ -67,20 +67,9 @@ 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" -# the ovf template is updated with ensubst -# this function adds the variable from OVA_VARS to the environment -python update_environment() { - template_vars = (d.getVar('OVA_VARS', True) or "").split() - if len(template_vars) == 0: - return - - for varname in template_vars: - value = d.getVar(varname, True) - if value: - os.environ.update({varname: value}) -} +TEMPLATE_FILES += "${OVF_TEMPLATE_FILE}" +TEMPLATE_VARS += "${OVA_VARS}" -do_create_ova[prefuncs] += "update_environment" do_create_ova() { if [ ! ${VIRTUAL_MACHINE_IMAGE_TYPE} = "vmdk" ]; then exit 0 @@ -93,6 +82,7 @@ do_create_ova() { export LAST_CHANGE=$(date -u "+%Y-%m-%dT%H:%M:%SZ") export OVA_FIRMWARE_UPPERCASE=$(echo ${OVA_FIRMWARE} | tr '[a-z]' '[A-Z]') + export OVF_TEMPLATE_STAGE2=$(echo ${OVF_TEMPLATE_FILE} | sed 's/.tmpl$//' ) image_do_mounts sudo -Es chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} <<'EOSUDO' @@ -102,7 +92,7 @@ do_create_ova() { export DISK_UUID=$(uuidgen) export VM_UUID=$(uuidgen) # create ovf - cat ${PP_WORK}/${OVF_TEMPLATE_FILE} | envsubst > ${PP_DEPLOY}/${OVA_NAME}.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 # VirtualBox needs here a manifest file. VMware does accept that format. -- 2.25.1