[virt-tools-list] [PATCH libosinfo 03/10] Get rid of generic 'windows' template OS

Daniel P. Berrange berrange at redhat.com
Thu Mar 22 11:30:19 UTC 2012


From: "Daniel P. Berrange" <berrange at redhat.com>

Make the OS database only contain real OS entries, no virtual
ones like 'windows'. Create a diagram of the windows upgrade
and derives paths, and apply this to the metadata correctly
so we inherit in the same way the product code inherits
---
 data/oses/windows.xml |  126 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 101 insertions(+), 25 deletions(-)

diff --git a/data/oses/windows.xml b/data/oses/windows.xml
index 521e531..a373512 100644
--- a/data/oses/windows.xml
+++ b/data/oses/windows.xml
@@ -1,8 +1,85 @@
 <libosinfo version="0.0.1">
 
-  <os id="http://microsoft.com/windows">
-    <short-id>windows</short-id>
-    <name>Microsoft Windows</name>
+  <!--
+  <[CDATA[
+      The upgrade/derives relationship for Windows is more complex than
+      you might think, because of the merge/fork between WinME/XP/2k/2k3:
+
+
+   Win1.0 (Nov 1985)
+     |
+     | U, D
+     |
+     V
+   Win2.0 (Dec 1987)
+     |
+     | U, D
+     |
+     V
+   Win2.1 (May 1988)
+     |
+     | U, D
+     |
+     V
+   Win3.0 (May 1990)
+     |
+     | U, D
+     |
+     V
+   Win3.1 (Apr 1992)            WinNT3.1  (July 1993)
+     |                            |
+     | U, D                       |
+     |                            |
+     |                            V
+     |                          WinNT3.4  (Sept 1994)
+     |                            |
+     | U, D                       |
+     |                            |
+     V                            V
+   Win95 (Aug 1995)             WinNT3.51 (May 1995)
+     |                            |
+     | U, D                       |
+     |                            |
+     V                            V
+   Win98 (Jun 1998)             WinNT4.0 (Aug 1996)
+     |                            |
+     | U, D                       |
+     |                            |
+     V                            |
+   WinME (Sep 2000)             Win2k  (Feb 2000)
+     |                           ||
+     \------+--------------------/| U, D
+       U    |  D                  |
+            V                     V
+          WinXP (Aug 2001)      Win2k3  (April 2003)
+            |                     |
+            | UD                  | U, D
+            |                     |
+            V                     V
+          WinVista (Jan 2007)   Win2k3r2 (Dec 2005)
+            |                     |
+            | U, D                | U, D
+            |                     |
+            |                     V
+            |                   Win2k8  (Feb 2008)
+            |                     |
+            |                     | U, D
+            |                     |
+            |                     V
+          Win7 (Oct 2009)       Win2k8r2 (Oct 2009)
+            |                     |
+            | U,D                 |
+            |                     |
+            V                     V
+          Win8 (??? 2012)       ??????
+
+]]>
+  -->
+
+  <os id="http://microsoft.com/win95">
+    <short-id>win95</short-id>
+    <name>Microsoft Windows 95</name>
+    <version>4.0</version>
     <vendor>Microsoft Corporation</vendor>
     <family>win9x</family>
     <distro>windows</distro>
@@ -13,16 +90,6 @@
       <device id="http://www.linux-usb.org/usb.ids/80ee/0021"/> <!-- USB tablet -->
       <device id="http://pciids.sourceforge.net/v2.2/pci.ids/8086/2415"/> <!-- AC97 -->
     </devices>
-  </os>
-
-  <os id="http://microsoft.com/win95">
-    <short-id>win95</short-id>
-    <name>Microsoft Windows 95</name>
-    <version>4.0</version>
-    <vendor>Microsoft Corporation</vendor>
-    <family>Windows</family>
-    <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
 
     <resources arch="i386">
       <minimum>
@@ -40,7 +107,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>win9x</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win95"/>
     <upgrades id="http://microsoft.com/win95"/>
 
     <resources arch="i386">
@@ -64,7 +131,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>win9x</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win98"/>
     <upgrades id="http://microsoft.com/win98"/>
 
     <resources arch="i386">
@@ -89,7 +156,14 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/winme"/>
+
+    <devices>
+      <device id="http://pciids.sourceforge.net/v2.2/pci.ids/1b36/0100"/> <!-- QXL -->
+      <device id="http://pciids.sourceforge.net/v2.2/pci.ids/1234/1111"/> <!-- VGA -->
+      <device id="http://www.linux-usb.org/usb.ids/80ee/0021"/> <!-- USB tablet -->
+      <device id="http://pciids.sourceforge.net/v2.2/pci.ids/8086/2415"/> <!-- AC97 -->
+    </devices>
 
     <media arch="i386">
       <iso>
@@ -122,8 +196,9 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
-    <upgrades id="http://microsoft.com/win2k"/>
+    <derives-from id="http://microsoft.com/win2k"/>
+    <derives-from id="http://microsoft.com/winme"/>
+    <upgrades id="http://microsoft.com/winme"/>
 
     <media arch="i386">
       <iso>
@@ -170,7 +245,8 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win2k"/>
+    <upgrades id="http://microsoft.com/win2k"/>
 
     <media arch="i386">
       <iso>
@@ -227,7 +303,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win2k3"/>
     <upgrades id="http://microsoft.com/win2k3"/>
 
     <media arch="i386">
@@ -279,7 +355,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win2k3r2"/>
     <upgrades id="http://microsoft.com/win2k3r2"/>
 
     <media arch="i686">
@@ -333,7 +409,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win2k8"/>
     <upgrades id="http://microsoft.com/win2k8"/>
 
     <media arch="x86_64">
@@ -372,7 +448,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/winxp"/>
     <upgrades id="http://microsoft.com/winxp"/>
 
     <media arch="i686">
@@ -411,7 +487,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/vista"/>
     <upgrades id="http://microsoft.com/vista"/>
 
     <media arch="i386">
@@ -457,7 +533,7 @@
     <vendor>Microsoft Corporation</vendor>
     <family>winnt</family>
     <distro>windows</distro>
-    <derives-from id="http://microsoft.com/windows"/>
+    <derives-from id="http://microsoft.com/win7"/>
     <upgrades id="http://microsoft.com/win7"/>
 
     <media arch="i386">
-- 
1.7.7.6




More information about the virt-tools-list mailing list