From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6581172042600546304 X-Received: by 2002:a1c:4b13:: with SMTP id y19-v6mr986173wma.4.1532298522657; Sun, 22 Jul 2018 15:28:42 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:308c:: with SMTP id w134-v6ls1634600wmw.11.gmail; Sun, 22 Jul 2018 15:28:42 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdurR4vceNoRn+8j5s1xMoZWzGJeKovGTtFs39vlSXF5XatluNrIEkn7q2VIkb/VoRHMEhR X-Received: by 2002:a1c:f303:: with SMTP id q3-v6mr919259wmq.16.1532298522176; Sun, 22 Jul 2018 15:28:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532298522; cv=none; d=google.com; s=arc-20160816; b=cxAwAA19iPquaqTAmKuxqZ3cQ1LapeyXfKCgjnwI+Hz3rqB7ukaoKruPAq3/r5C9/w FI0ZjLTnXbyhIPJjL/wBBxv5FCgzhmVyUQdNFwM/NK5WFzQnYsHMm5lXTapVhJIHwsGO OJMtPZl8L/N9erUafFBJtF0xtYYrLrtSh4JCCHKoOa6X7hNOlBVSNXwOxjSVrL8nOtsu 0eNCsWQZRUY0QvDYJLULFN00Do6Y0LzlaMwZ+QMPy4v7cPniH+Y6k3vuiCUYTaRWBQt7 a4R+eAY0i+Ey0IfmDT4WzL5xkPARFTjHiBh7dqlvtE4A5YCHvgQdSB+vZ3yc8C9/Biiw sifw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:cc:to:arc-authentication-results; bh=ppWzuhqw0HpidbVsBAieRNT/6Njyq46IWtozMnYElMk=; b=uBKAiDk61b4ZW0KwHQ5dB6eVqpqK83AAXT5Q/w0/O81WdJelJUbwR6p5/uuG5dvKbG 7LUYigsc+5jACGlfGwWh/u6prQSf24EdU/vvJoTsrKN91mvpv6sg76CMQ9y6R9k9r6De jc1OZoagqNF03yyz7zdlHwT+N6tHYoCTK8mPb3corF/AVwJ8rn/ReLJ5a9Xa+lbpwtEp Us3bPgp2rXejshd/ZC+FQa7hWTJ73IqdB2wK1O6I+ZC72ps2M1pmlRAN6BtcFeaHjv/0 0iO/jtBlVqkVEjzDxyYi9LfhhwYWxDEJNh9kIT6D2nZMBY/sHzPYt/GZAkoj0/dmlozv kWbg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id h2-v6si244664wri.1.2018.07.22.15.28.42 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 22 Jul 2018 15:28:42 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id w6MMSf6G008706 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 23 Jul 2018 00:28:41 +0200 Received: from [167.87.1.177] ([167.87.1.177]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id w6MMSfML022789; Mon, 23 Jul 2018 00:28:41 +0200 To: isar-users Cc: Henning Schild From: Jan Kiszka Subject: [PATCH] meta/image: Rewrite get_build_id as shell function Message-ID: <1572b44a-f1c5-1fef-8296-1b1d3a5f2f23@siemens.com> Date: Mon, 23 Jul 2018 00:28:41 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: 7aNPkKvfcwcB This avoid warning the user multiple times because get_build_id gets called each time the class is evaluated. Signed-off-by: Jan Kiszka --- Builds on top of Henning's "meta/image: allow customization of command we use fo BUILD_ID" meta/classes/image.bbclass | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 6f2a140..990aff3 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -38,21 +38,18 @@ def get_rootfs_size(d): # this could be "git describe" or something similar. # set ISAR_RELEASE_CMD to customize, or override do_mark_rootfs to do something # completely different -def get_build_id(d): - import subprocess - if (len(d.getVar("BBLAYERS", True).strip().split(' ')) != 2 and - (d.getVar("ISAR_RELEASE_CMD", True) == - d.getVar("ISAR_RELEASE_CMD_DEFAULT", True))): - bb.warn('You are using external layers that will not be considered' + - ' in the build_id. Consider changing ISAR_RELEASE_CMD.') - cmd = d.getVar("ISAR_RELEASE_CMD", True) - try: - v = subprocess.check_output(cmd, shell=True, universal_newlines=True) - return v.rstrip() - except subprocess.CalledProcessError as e: - bb.warn('\"%s\" returned %d, returning empty build_id' % - (e.cmd, e.returncode)) - return "" +get_build_id() { + if [ $(echo ${BBLAYERS} | wc -w) -ne 2 ] && + [ "${ISAR_RELEASE_CMD}" = "${ISAR_RELEASE_CMD_DEFAULT}" ]; then + bbwarn "You are using external layers that will not be" \ + "considered in the build_id. Consider changing" \ + "ISAR_RELEASE_CMD." + fi + if ! ${ISAR_RELEASE_CMD} 2>/dev/null; then + bbwarn "\"${ISAR_RELEASE_CMD}\" failed, returning empty build_id." + echo "" + fi +} python set_image_size () { rootfs_size = get_rootfs_size(d) @@ -78,7 +75,7 @@ do_rootfs[deptask] = "do_deploy_deb" do_mark_rootfs() { update_etc_os_release \ - --build-id "${@get_build_id(d)}" --variant "${DESCRIPTION}" \ + --build-id $(get_build_id) --variant "${DESCRIPTION}" \ "${IMAGE_ROOTFS}" } -- 2.16.4