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 <[email protected]>
---

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

Reply via email to