qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Fam Zheng" <fam@euphon.net>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: [PATCH v2 12/25] tests/docker: add script for automating container refresh
Date: Thu, 14 Jan 2021 13:02:32 +0000	[thread overview]
Message-ID: <20210114130245.1654081-13-berrange@redhat.com> (raw)
In-Reply-To: <20210114130245.1654081-1-berrange@redhat.com>

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 tests/docker/dockerfiles/refresh | 53 ++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100755 tests/docker/dockerfiles/refresh

diff --git a/tests/docker/dockerfiles/refresh b/tests/docker/dockerfiles/refresh
new file mode 100755
index 0000000000..b1d99963e9
--- /dev/null
+++ b/tests/docker/dockerfiles/refresh
@@ -0,0 +1,53 @@
+#!/usr/bin/python3
+#
+# Re-generate container recipes
+#
+# This script uses the "lcitool" available from
+#
+#   https://gitlab.com/libvirt/libvirt-ci
+#
+# Copyright (c) 2020 Red Hat Inc.
+#
+# This work is licensed under the terms of the GNU GPL, version 2
+# or (at your option) any later version. See the COPYING file in
+# the top-level directory.
+
+import sys
+import os
+import subprocess
+
+if len(sys.argv) != 2:
+   print("syntax: %s PATH-TO-LCITOOL" % sys.argv[0], file=sys.stderr)
+   sys.exit(1)
+
+lcitool_path=sys.argv[1]
+
+def atomic_write(filename, content):
+   try:
+      with open(filename + ".tmp", "w") as fp:
+         print(content, file=fp, end="")
+         os.replace(filename + ".tmp", filename)
+   except Exception as ex:
+      os.unlink(filename + ".tmp")
+      raise
+
+def generate_image(filename, host, cross=None, trailer=None):
+   print("Generate %s" % filename)
+   args = [lcitool_path, "dockerfile"]
+   if cross is not None:
+      args.extend(["--cross", cross])
+   args.extend([host, "qemu"])
+   lcitool=subprocess.run(args, capture_output=True)
+
+   if lcitool.returncode != 0:
+      raise Exception("Failed to generate %s: %s" % (filename, lcitool.stderr))
+
+   content = lcitool.stdout.decode("utf8")
+   if trailer is not None:
+      content += trailer
+   atomic_write(filename, content)
+
+try:
+   pass
+except Exception as ex:
+   print(str(ex), file=sys.stderr)
-- 
2.29.2



  parent reply	other threads:[~2021-01-14 13:24 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 13:02 [PATCH v2 00/25] tests/docker: start using libvirt-ci's "lcitool" for dockerfiles Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 01/25] hw/usb/ccid: remove references to NSS Daniel P. Berrangé
2021-01-15 13:42   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 02/25] tests/docker: don't use BUILDKIT in GitLab either Daniel P. Berrangé
2021-01-15 13:53   ` Wainer dos Santos Moschetta
2021-01-15 13:58     ` Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 03/25] tests/docker: use project specific container registries Daniel P. Berrangé
2021-01-14 13:21   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 04/25] tests/docker: use explicit docker.io registry Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 05/25] tests/docker: remove travis container Daniel P. Berrangé
2021-01-14 13:22   ` Philippe Mathieu-Daudé
2021-01-15 14:50   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 06/25] tests/docker: remove FEATURES env var from templates Daniel P. Berrangé
2021-01-14 14:01   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 07/25] tests/docker: fix sorting in package lists Daniel P. Berrangé
2021-01-15 18:06   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 08/25] tests/docker: fix mistakes in centos " Daniel P. Berrangé
2021-01-15 18:39   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 09/25] tests/docker: fix mistakes in fedora package list Daniel P. Berrangé
2021-01-15 18:46   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 10/25] tests/docker: fix mistakes in ubuntu package lists Daniel P. Berrangé
2021-01-15 18:55   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 11/25] tests/docker: remove mingw packages from Fedora Daniel P. Berrangé
2021-01-14 13:02 ` Daniel P. Berrangé [this message]
2021-01-14 13:31   ` [PATCH v2 12/25] tests/docker: add script for automating container refresh Philippe Mathieu-Daudé
2021-01-15 20:35   ` Wainer dos Santos Moschetta
2021-01-14 13:02 ` [PATCH v2 13/25] tests/docker: expand centos7 package list Daniel P. Berrangé
2021-01-14 13:34   ` Philippe Mathieu-Daudé
2021-03-03 14:51   ` Thomas Huth
2021-03-03 15:04     ` Daniel P. Berrangé
2021-01-14 13:02 ` [PATCH v2 14/25] tests/docker: expand centos8 " Daniel P. Berrangé
2021-01-14 13:34   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 15/25] tests/docker: expand fedora " Daniel P. Berrangé
2021-01-14 13:58   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 16/25] tests/docker: expand ubuntu1804 " Daniel P. Berrangé
2021-01-14 13:58   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 17/25] tests/docker: expand ubuntu2004 " Daniel P. Berrangé
2021-01-14 13:59   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 18/25] tests/docker: expand opensuse-leap " Daniel P. Berrangé
2021-01-14 13:59   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 19/25] tests/docker: auto-generate centos7 with lcitool Daniel P. Berrangé
2021-01-14 13:36   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 20/25] tests/docker: auto-generate centos8 " Daniel P. Berrangé
2021-01-14 13:36   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 21/25] tests/docker: auto-generate fedora " Daniel P. Berrangé
2021-01-14 13:37   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 22/25] tests/docker: auto-generate ubuntu1804 " Daniel P. Berrangé
2021-01-14 13:37   ` Philippe Mathieu-Daudé
2021-01-14 13:39   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 23/25] tests/docker: auto-generate ubuntu2004 " Daniel P. Berrangé
2021-01-14 13:56   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 24/25] tests/docker: auto-generate opensuse-leap " Daniel P. Berrangé
2021-01-14 13:57   ` Philippe Mathieu-Daudé
2021-01-14 13:02 ` [PATCH v2 25/25] tests/docker: remove ubuntu container Daniel P. Berrangé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210114130245.1654081-13-berrange@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=fam@euphon.net \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).