From nobody Sun Feb 8 21:26:26 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1549389226565139.28740657879234; Tue, 5 Feb 2019 09:53:46 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7CE24E6A88; Tue, 5 Feb 2019 17:53:44 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 402F357982; Tue, 5 Feb 2019 17:53:44 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D175318033A4; Tue, 5 Feb 2019 17:53:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x15HrRJj002933 for ; Tue, 5 Feb 2019 12:53:27 -0500 Received: by smtp.corp.redhat.com (Postfix) id 6787E60F93; Tue, 5 Feb 2019 17:53:27 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.36.112.10]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6ED6F84FF; Tue, 5 Feb 2019 17:53:24 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Tue, 5 Feb 2019 17:53:04 +0000 Message-Id: <20190205175306.6859-8-berrange@redhat.com> In-Reply-To: <20190205175306.6859-1-berrange@redhat.com> References: <20190205175306.6859-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [jenkins-ci PATCH v2 7/9] lcitool: avoid using an env var to store package list X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 05 Feb 2019 17:53:45 +0000 (UTC) Every statement in a dockerfile results in a new layer in the image. There is no need for an env var to store the package list when it can be included inline. This avoids the env variable being later exposed to the container at runtime. Signed-off-by: Daniel P. Berrang=C3=A9 --- guests/lcitool | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/guests/lcitool b/guests/lcitool index eb111b8..cd757eb 100755 --- a/guests/lcitool +++ b/guests/lcitool @@ -530,43 +530,46 @@ class Application: if os_full in mappings[package]: temp[package] =3D mappings[package][os_full] =20 - flattened =3D [] + pkgs =3D [] for item in temp: - if temp[item] is not None and temp[item] not in flattened: - flattened +=3D [temp[item]] + pkgname =3D temp[item] + if pkgname is None: + continue + if pkgname not in pkgs: + pkgs.append(pkgname) =20 print("FROM {}".format(facts["docker_base"])) =20 - sys.stdout.write("ENV PACKAGES ") - sys.stdout.write(" \\\n ".join(sorted(flattened))) - + varmap =3D {} + varmap["pkgs"] =3D "".join([" \\\n " + pkgname + for pkgname in sorted(pkgs)]) if package_format =3D=3D "deb": sys.stdout.write(textwrap.dedent(""" RUN DEBIAN_FRONTEND=3Dnoninteractive && \\ ( \\ apt-get update && \\ apt-get dist-upgrade -y && \\ - apt-get install --no-install-recommends -y ${PACKA= GES} && \\ + apt-get install --no-install-recommends -y %(pkgs)= s && \\ apt-get autoremove -y && \\ apt-get autoclean -y \\ ) - """)) + """) % varmap ) elif package_format =3D=3D "rpm": if os_name =3D=3D "Fedora" and os_version =3D=3D "Rawhide": sys.stdout.write(textwrap.dedent(""" RUN yum update -y --nogpgcheck fedora-gpg-keys && \\ yum update -y && \\ - yum install -y ${PACKAGES} && \\ + yum install -y %(pkgs)s && \\ yum autoremove -y && \\ yum clean all -y - """)) + """) % varmap ) else: sys.stdout.write(textwrap.dedent(""" RUN yum update -y && \\ - yum install -y ${PACKAGES} && \\ + yum install -y %(pkgs)s && \\ yum autoremove -y && \\ yum clean all -y - """)) + """) % varmap ) =20 def run(self): cmdline =3D self._parser.parse_args() --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list