[PATCH v2 08/36] sync_qemu_models_i386: Store extra info in a separate file

Jiri Denemark posted 36 patches 1 week, 4 days ago
[PATCH v2 08/36] sync_qemu_models_i386: Store extra info in a separate file
Posted by Jiri Denemark 1 week, 4 days ago
We don't really need or want the extra info to be included in the CPU
model definitions in git, it's mostly useful for verifying the output of
the script. Let's store it in a separate file rather than in a comment
block of the CPU model definition itself.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---

Notes:
    Version 2:
    - reworked to avoid breaking "sync_qemu_models_i386: Update index.xml"
      patch

 src/cpu_map/sync_qemu_models_i386.py | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py
index 5169d50b08..58600bffe5 100755
--- a/src/cpu_map/sync_qemu_models_i386.py
+++ b/src/cpu_map/sync_qemu_models_i386.py
@@ -507,12 +507,13 @@ def expand_model(model):
             yield result
 
 
-def output_model(f, model):
+def output_model(f, extra, model):
     if model["extra"]:
-        f.write("<!-- extra info from qemu:\n")
-        for k, v in model["extra"].items():
-            f.write(f"  '{k}': '{v}'\n")
-        f.write("-->\n")
+        with open(extra, "wt") as ex:
+            ex.write("# THIS FILE SHOULD NEVER BE ADDED TO A COMMIT\n")
+            ex.write("extra info from qemu:\n")
+            for k, v in model["extra"].items():
+                ex.write(f"  {k}: {v}\n")
 
     decode = "off" if "base" in model else "on"
 
@@ -573,13 +574,17 @@ def main():
         models.extend(expand_model(model))
 
     for model in models:
-        name = os.path.join(args.outdir, f"x86_{model['name']}.xml")
-        if os.path.isfile(name):
+        name = f"x86_{model['name']}.xml"
+        path = os.path.join(args.outdir, name)
+
+        if os.path.isfile(path):
             # Ignore existing models as CPU models in libvirt should never
             # change once released.
             continue
-        with open(name, "wt") as f:
-            output_model(f, model)
+
+        extra = os.path.join(args.outdir, f"x86_{model['name']}.extra")
+        with open(path, "wt") as f:
+            output_model(f, extra, model)
 
     features = set()
     for model in models:
-- 
2.47.0
Re: [PATCH v2 08/36] sync_qemu_models_i386: Store extra info in a separate file
Posted by Daniel P. Berrangé 1 week, 1 day ago
On Fri, Nov 22, 2024 at 10:32:48PM +0100, Jiri Denemark wrote:
> We don't really need or want the extra info to be included in the CPU
> model definitions in git, it's mostly useful for verifying the output of
> the script. Let's store it in a separate file rather than in a comment
> block of the CPU model definition itself.
> 
> Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
> ---

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|