From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7010760649199321088 X-Received: by 2002:a2e:5306:: with SMTP id h6mr33182110ljb.271.1632319915934; Wed, 22 Sep 2021 07:11:55 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:5d3:: with SMTP id 202ls537695ljf.4.gmail; Wed, 22 Sep 2021 07:11:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkx4PqrmvHTvXqGzQoKfY+89RjylEI4Rh5c9ys4aFv00oF7yXbJ85nAnxsWTpwVNQlI3XN X-Received: by 2002:a05:651c:2de:: with SMTP id f30mr81845ljo.129.1632319915090; Wed, 22 Sep 2021 07:11:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632319915; cv=none; d=google.com; s=arc-20160816; b=Nc00ZKkMUPO/iKCZ41Bj1DGzbwTpfVKCh0ZI+qBAeNA32XaH2RDljfCz3hZ2a/kdi6 xa/PQUeceHVLQpnf2FeiQLxvDB6UAyP+Rz81W166mMWGySibX/DOPs2PGpAscPQL6vVy nNNMg4EB1UtgtuTxzxi/JCj+LRedYNTuLgh1qCgXp10nDSiIDm5B2pdm46gmJWhGoxes GWx+fjYqdFANA4jqfVWZcoEbJoV2ovRhppAhvypzNLs+xR/FUFTtsiRYY80BhlqS92VD Q40IfYMaSHZlGp4hdroJybWp2lsfbOH+E1SE1e04VWHCJ69dJuk1sHwAmdNRG2ELmIvW 3z0Q== 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=rbw+XFtFmOD5dsP4MpuEOUx5Z/nGLYMFa8Dtq26AneeiUg7E4Hw4sDQaz3qv4+O6j+ oxzG+zL+H6VS9Q2ektO3Kox2cQb8w7EUNq03wiBmGboOQM0dG/3XyPrEFKJCK0eMqfqU +O7o6EkkSKScZvvqeu/aYPwsB3Ax4N2R/KBHZqZ+jam3ssaDU7xloEoTBK03ofUaW+h+ bRu9NcsLgq/9RR48ykf/ckPr6Y71jwg1nOXO5cyj/u/fVPftOOPw/HiY/UYFLnrhJviE 873xBKF1H5zWLXv8uZ8rzVLOwmQvad28OtE0yloPwYhY6Haiqipmwm1AHgpLleyVSgqa 3IDA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 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 goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id e14si159823lfs.11.2021.09.22.07.11.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Sep 2021 07:11:55 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 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 goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id 18MEBsKJ026932 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 22 Sep 2021 16:11:54 +0200 Received: from localhost.localdomain ([167.87.35.234]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 18MEBqiE013583; Wed, 22 Sep 2021 16:11:54 +0200 From: Henning Schild To: isar-users@googlegroups.com Cc: "Q . Gylstorff" , Henning Schild Subject: [PATCH 6/7] vm-img: make use of isars template class for most of the tmpl variables Date: Wed, 22 Sep 2021 16:11:46 +0200 Message-Id: <20210922141147.4696-7-henning.schild@siemens.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210922141147.4696-1-henning.schild@siemens.com> References: <20210922141147.4696-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: A5/U00wDWd03 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