[Oval-commits] r55 - trunk/tools/oval/definition
Pavel Vinogradov
blaze-guest at alioth.debian.org
Sun Jun 17 13:34:42 UTC 2007
Author: blaze-guest
Date: 2007-06-17 13:34:42 +0000 (Sun, 17 Jun 2007)
New Revision: 55
Modified:
trunk/tools/oval/definition/generator.py
Log:
Simplify architecture generation
Modified: trunk/tools/oval/definition/generator.py
===================================================================
--- trunk/tools/oval/definition/generator.py 2007-06-17 13:15:45 UTC (rev 54)
+++ trunk/tools/oval/definition/generator.py 2007-06-17 13:34:42 UTC (rev 55)
@@ -108,6 +108,7 @@
objectsCurId = 1
statesCurId = 1
+releaseArchHash = {"2.0" : 2, "2.1" : 4, "2.2": 6, "3.0" : 11, "3.1" : 12, "4.0" : 11}
testsHash = {"arch" : {}, "release": {}, "dpkgObj": {}, "dpkgSte": {}}
def __getNewId (type):
@@ -210,10 +211,10 @@
return (generator)
-def createPlatformDefinition (version, data, dsa):
+def createPlatformDefinition (release, data, dsa):
softwareCriteria = __createXMLElement ("criteria", attrs = {"comment" : "Release section", "operator" : "AND"})
- softwareCriteria.appendChild ( __createXMLElement ("criterion", attrs={"test_ref" : __createTest("release", version), "comment" : "Debian %s is installed" % version}))
+ softwareCriteria.appendChild ( __createXMLElement ("criterion", attrs={"test_ref" : __createTest("release", release), "comment" : "Debian %s is installed" % release}))
archCriteria = __createXMLElement ("criteria", attrs = {"comment" : "Architecture section", "operator" : "OR"})
@@ -247,19 +248,23 @@
di = diff.getDiffer()
if (len(eq)):
- archDependCriteria = __createXMLElement ("criteria", attrs={"comment" : "Architecture depended section", "operation" : "AND"})
-
- supportedArchCriteria = __createXMLElement ("criteria", attrs={"comment" : "Supported architectures section", "operation" : "OR"})
- for arch in diff.getArchs():
- supportedArchCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createTest("arch", arch), "comment" : "%s architecture" % arch}))
- archDependCriteria.appendChild (supportedArchCriteria)
+ if len(diff.getArchs()) != releaseArchHash[release]:
+ archDependCriteria = __createXMLElement ("criteria", attrs={"comment" : "Architecture depended section", "operation" : "AND"})
+
+ supportedArchCriteria = __createXMLElement ("criteria", attrs={"comment" : "Supported architectures section", "operation" : "OR"})
+ for arch in diff.getArchs():
+ supportedArchCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createTest("arch", arch), "comment" : "%s architecture" % arch}))
+ archDependCriteria.appendChild (supportedArchCriteria)
packageCriteria = __createXMLElement ("criteria", attrs={"comment" : "Packages section", "operation" : "OR"})
for bpkg in eq.keys():
packageCriteria.appendChild ( __createXMLElement ("criterion", attrs = {"test_ref" : __createDPKGTest(bpkg, eq[bpkg]), "comment" : "%s DPKG is earlier than %s" % (bpkg, eq[bpkg])}))
-
- archDependCriteria.appendChild (packageCriteria)
- archCriteria.appendChild (archDependCriteria)
+
+ if len(diff.getArchs()) != releaseArchHash[release]:
+ archDependCriteria.appendChild (packageCriteria)
+ archCriteria.appendChild (archDependCriteria)
+ else:
+ archCriteria.appendChild (packageCriteria)
#Supported architectures have different bpackages. On this stage we generate package list for each architecture
if len(di):
More information about the Oval-commits
mailing list