From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7041956804245323776 X-Received: by 2002:aa7:dd53:: with SMTP id o19mr20799119edw.369.1639673184063; Thu, 16 Dec 2021 08:46:24 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:3e9d:: with SMTP id hs29ls2494173ejc.2.gmail; Thu, 16 Dec 2021 08:46:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJxeS2Li47dgFnyhTdjjxCGWhiGsT6Hh/Oj6jB3EjIJ/0brDHHFTCG+ZFC22R9M6Vm0nbAO5 X-Received: by 2002:a17:906:7310:: with SMTP id di16mr16732395ejc.92.1639673183127; Thu, 16 Dec 2021 08:46:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639673183; cv=none; d=google.com; s=arc-20160816; b=P3eloxBUw8MVXvcVlzGpF6SWwiOW8USZnaG/64pWCZIHGfZjy7DrCc5jpVXwTBZ/lk /AGBig0AKwUg/5tXsEAW8GIU8Vthf14XV/VTkv4nQoivU+x4VgZ2pDvqsmTmkLgMTqSs 0UA1GdBakDk4pixLObe44OSfRVpP6ZCCNXqld6pFMH01x+0stdo0q5pJ99530FDW5nER OtQEUakNKp7gjWuNW+ZUGvE5txC+VDWlt3lKw/TEj291+6NHhxJTyibZpN0ykB5Lr06c Se2mtvZdMuGvsp82ixKw7R5B/1LA4DK+UT8QNZIIgo4XYwX6nLsTQFQ8iuVGXGeGvf+h YJ8w== 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=PMY/rqNpOfhOy9ixAiwvLV9+MmvzlWei2L+jsnXj9wo=; b=Fl1lYHaerIt5mjG0ulDlc5AvQ3/Jr3cFdyX3fs/kzzuxjbY/cTgb/CPCQqHbkU6ElA VuF/bSM0vB7faMJRP45jfRdsZv/biOLLmpDPR3GUyAxFMu36FAtwn4pgYjHDEaALW725 fwwa6N7hWxgu3yAjPTKl4eZdnnvtjTN2qE14QtPtbd7Eu0YMG9kXob/ajmvX0D6Hqtcn 1CeKygiG/jRxsJQOJ/AJzSq185kzapSjFJ+XWhWGuGEPdIKNKxVsU4vilQjWVJF+57WT pdCR5Q7tjkcGYVmjh/G//ExmdgChht5vQsUN6/5G4QJqOisRtGdPK6fsjNECP5DHzaYg L83A== 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 dk14si396577edb.4.2021.12.16.08.46.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 16 Dec 2021 08:46:23 -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 1BGGk8Ws014355 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Dec 2021 17:46:22 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH v5 6/7] vm-img: make use of isars template class for most of the tmpl variables Date: Thu, 16 Dec 2021 19:46:01 +0300 Message-Id: <20211216164602.326689-7-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211216164602.326689-1-amikan@ilbers.de> References: <20211216164602.326689-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: A/Rm1PbVa2OU 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 db39076..c03628c 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.25.1