* optional components in specfile
This commit is contained in:
+26
-23
@@ -19,44 +19,47 @@ _ = __trans.ugettext
|
|||||||
|
|
||||||
import pisi
|
import pisi
|
||||||
import pisi.pxml.xmlfile as xmlfile
|
import pisi.pxml.xmlfile as xmlfile
|
||||||
|
import pisi.pxml.autoxml as autoxml
|
||||||
|
|
||||||
class Error(pisi.Error):
|
class Error(pisi.Error):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
__metaclass__ = xmlfile.autoxml
|
__metaclass__ = autoxml.autoxml
|
||||||
|
|
||||||
|
|
||||||
class Distribution:
|
class Distribution:
|
||||||
t_Name = [xmlfile.Text, xmlfile.mandatory]
|
t_Name = [autoxml.Text, autoxml.mandatory]
|
||||||
t_Description = [xmlfile.LocalText, xmlfile.mandatory]
|
t_Description = [autoxml.LocalText, autoxml.mandatory]
|
||||||
t_Version = [xmlfile.Text, xmlfile.mandatory]
|
t_Version = [autoxml.Text, autoxml.mandatory]
|
||||||
t_Type = [xmlfile.Text, xmlfile.mandatory]
|
t_Type = [autoxml.Text, autoxml.mandatory]
|
||||||
t_Dependencies = [ [xmlfile.Text], xmlfile.optional, "Distribution"]
|
t_Dependencies = [ [autoxml.Text], autoxml.optional, "Dependencies/Distribution"]
|
||||||
|
|
||||||
|
|
||||||
class Component(xmlfile.XmlFile):
|
class Component(xmlfile.XmlFile):
|
||||||
"part-of representation for component declarations"
|
"part-of representation for component declarations"
|
||||||
|
|
||||||
__metaclass__ = xmlfile.autoxml
|
__metaclass__ = autoxml.autoxml
|
||||||
|
|
||||||
tag = "PISI"
|
tag = "PISI"
|
||||||
|
|
||||||
t_Name = [xmlfile.Text, xmlfile.mandatory] # fully qualified name
|
t_Name = [autoxml.Text, autoxml.mandatory] # fully qualified name
|
||||||
t_PartOf = [xmlfile.Text, xmlfile.mandatory]
|
t_PartOf = [autoxml.Text, autoxml.mandatory]
|
||||||
t_LocalName = [xmlfile.LocalText, xmlfile.mandatory]
|
t_LocalName = [autoxml.LocalText, autoxml.mandatory]
|
||||||
t_Description = [xmlfile.LocalText, xmlfile.mandatory]
|
t_Description = [autoxml.LocalText, autoxml.mandatory]
|
||||||
#t_Icon = [xmlfile.Binary, xmlfile.mandatory]
|
#t_Icon = [autoxml.Binary, autoxml.mandatory]
|
||||||
t_Dependencies = [ [xmlfile.String], xmlfile.optional, "Dependencies/Component"]
|
t_Dependencies = [ [autoxml.String], autoxml.optional, "Dependencies/Component"]
|
||||||
|
|
||||||
|
|
||||||
class ComponentTree(xmlfile.XmlFile):
|
#FIXME: recursive declarations do not work!
|
||||||
"index representation for the component structure"
|
#class ComponentTree(xmlfile.XmlFile):
|
||||||
|
# "index representation for the component structure"
|
||||||
|
#
|
||||||
|
# __metaclass__ = autoxml.autoxml
|
||||||
|
#
|
||||||
|
# tag = "Component"
|
||||||
|
#
|
||||||
|
# t_Name = [autoxml.Text, autoxml.mandatory] # fully qualified name
|
||||||
|
# #t_Icon = [autoxml.Binary, autoxml.mandatory]
|
||||||
|
# t_Dependencies = [ [autoxml.Text], autoxml.optional, "Component"]
|
||||||
|
# #t_Parts = [ [pisi.component.ComponentTree], autoxml.optional, "Component"]
|
||||||
|
|
||||||
__metaclass__ = xmlfile.autoxml
|
|
||||||
|
|
||||||
tag = "Component"
|
|
||||||
|
|
||||||
t_Name = [xmlfile.Text, xmlfile.mandatory] # fully qualified name
|
|
||||||
#t_Icon = [xmlfile.Binary, xmlfile.mandatory]
|
|
||||||
t_Dependencies = [ [xmlfile.Text], xmlfile.optional, "Component"]
|
|
||||||
t_Parts = [ [ComponentTree], xmlfile.optional, "Component"]
|
|
||||||
|
|||||||
@@ -31,9 +31,11 @@ import pisi.pxml.autoxml as autoxml
|
|||||||
import pisi.context as ctx
|
import pisi.context as ctx
|
||||||
from pisi.dependency import Dependency
|
from pisi.dependency import Dependency
|
||||||
import pisi.dependency
|
import pisi.dependency
|
||||||
|
import pisi.component as component
|
||||||
from pisi.util import Checks
|
from pisi.util import Checks
|
||||||
import pisi.util as util
|
import pisi.util as util
|
||||||
|
|
||||||
|
|
||||||
class Error(pisi.Error):
|
class Error(pisi.Error):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -205,6 +207,7 @@ class SpecFile(XmlFile):
|
|||||||
t_Source = [ Source, autoxml.mandatory]
|
t_Source = [ Source, autoxml.mandatory]
|
||||||
t_Packages = [ [Package], autoxml.mandatory, "Package"]
|
t_Packages = [ [Package], autoxml.mandatory, "Package"]
|
||||||
t_History = [ [Update], autoxml.mandatory]
|
t_History = [ [Update], autoxml.mandatory]
|
||||||
|
t_Components = [ [component.Component], autoxml.optional, "Component"]
|
||||||
|
|
||||||
#we're not doing this with the init hook right now
|
#we're not doing this with the init hook right now
|
||||||
#def init(self, tag = "PISI"):
|
#def init(self, tag = "PISI"):
|
||||||
|
|||||||
Reference in New Issue
Block a user