From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7041591381282783232 X-Received: by 2002:a05:6512:3c82:: with SMTP id h2mr6876919lfv.128.1639514168953; Tue, 14 Dec 2021 12:36:08 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:a7c4:: with SMTP id x4ls3256263ljp.8.gmail; Tue, 14 Dec 2021 12:36:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJzarv8XnBkrf6/P6R6CIbUdeQdwuuCbXw/8hfMYIVGquvTx0xtQxo2F0YUhvM79MgxeXoRX X-Received: by 2002:a2e:a176:: with SMTP id u22mr7190406ljl.116.1639514167906; Tue, 14 Dec 2021 12:36:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639514167; cv=none; d=google.com; s=arc-20160816; b=cEgw7+Gcks5BgBJzthFDy4aGeri3ypHcBNUO93lJ96ujy0J0/bmXqdgZRDnATgmMB0 YAkLCOQROUh9uVQMEF/9lrxcaGUWp8nHbWWmyrw9eshTRP/nfqdzxeeOHiivkUMCWQtA 73AsVBJc3jR98LMf+qz1vxeNArXkh+DErkQxrp+tzKAv2wDjPV9pJUVEic1kEJgzwocI eNuJDYttxqp9tvG8CON3CAFudMy7tn5+Vl77YI9ktVVLBwSPQo/qzgLcCuKBM4SRnPPv l1E80XQLhUioNU+XhrhqPYWjPRdkgp/BLCvRvSXkevdXdMObJ1m7HQ/SGQ3iEhusI7gR OITQ== 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=8tOAjkdpkh+tcgRLIw4cEmzdoDVajvG6dYUs+L0ABq0=; b=mxxMCkkQzTHyDm7n99Spet2gPg0EuKrVglxSz52yY9xpRyYo3yC5LkvadIoFD5olu5 SDAwWraz88k8HGCfCVMgPjSRuI9RrhMJ7lPot3EgAxYlM/IdyNAr84Zy9RYRlOCSAuD8 XEwzegFA251FPNYEIDnIP3hvqgDHSBCwT9R51zuFqAuJDV5u7osMuZMTW8lCBvY3ubFy gtfteXmMcCyQJZRF3d6bz192uS+wJtZ3CXgghqb/ywK3wUVk3aeYsms8dXz9s2Eegge7 PW7lPu3vVodxymfORDbY+aDdWlpbjBeLFdEWoNmU7uuqC/75L8T4s/PnTihBuS4Wmjwm qrtA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id c12si47075ljf.4.2021.12.14.12.36.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 Dec 2021 12:36:07 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id 1BEKa7Pj021358 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 14 Dec 2021 21:36:07 +0100 Received: from localhost.localdomain ([139.22.39.210]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 1BEKa5qS009540; Tue, 14 Dec 2021 21:36:06 +0100 From: Henning Schild To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH v2 6/7] vm-img: make use of isars template class for most of the tmpl variables Date: Tue, 14 Dec 2021 21:36:01 +0100 Message-Id: <20211214203602.21996-6-henning.schild@siemens.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211214203602.21996-1-henning.schild@siemens.com> References: <20211214203602.21996-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: tIUem05F6qME 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 db390769b29f..c03628c21a37 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' @@ -101,7 +91,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.32.0