debian/bin/gencontrol.py, debian/lib/python/debian_linux/config.py:
Move config schema into gencontrol. svn path=/dists/trunk/linux-2.6/; revision=18499
This commit is contained in:
parent
afadb6258a
commit
a46a14199c
|
@ -7,15 +7,43 @@ import os
|
||||||
import os.path
|
import os.path
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from debian_linux.config import ConfigCoreHierarchy
|
from debian_linux import config
|
||||||
from debian_linux.debian import *
|
from debian_linux.debian import *
|
||||||
from debian_linux.gencontrol import Gencontrol as Base
|
from debian_linux.gencontrol import Gencontrol as Base
|
||||||
from debian_linux.utils import Templates, read_control
|
from debian_linux.utils import Templates, read_control
|
||||||
|
|
||||||
|
|
||||||
class Gencontrol(Base):
|
class Gencontrol(Base):
|
||||||
|
config_schema = {
|
||||||
|
'abi': {
|
||||||
|
'ignore-changes': config.SchemaItemList(),
|
||||||
|
},
|
||||||
|
'base': {
|
||||||
|
'modules': config.SchemaItemBoolean(),
|
||||||
|
},
|
||||||
|
'build': {
|
||||||
|
'debug-info': config.SchemaItemBoolean(),
|
||||||
|
},
|
||||||
|
'description': {
|
||||||
|
'parts': config.SchemaItemList(),
|
||||||
|
},
|
||||||
|
'image': {
|
||||||
|
'bootloaders': config.SchemaItemList(),
|
||||||
|
'configs': config.SchemaItemList(),
|
||||||
|
'initramfs': config.SchemaItemBoolean(),
|
||||||
|
'initramfs-generators': config.SchemaItemList(),
|
||||||
|
},
|
||||||
|
'relations': {
|
||||||
|
},
|
||||||
|
'xen': {
|
||||||
|
'dom0-support': config.SchemaItemBoolean(),
|
||||||
|
'flavours': config.SchemaItemList(),
|
||||||
|
'versions': config.SchemaItemList(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
def __init__(self, config_dirs=["debian/config"], template_dirs=["debian/templates"]):
|
def __init__(self, config_dirs=["debian/config"], template_dirs=["debian/templates"]):
|
||||||
super(Gencontrol, self).__init__(ConfigCoreHierarchy(config_dirs), Templates(template_dirs), VersionLinux)
|
super(Gencontrol, self).__init__(config.ConfigCoreHierarchy(self.config_schema, config_dirs), Templates(template_dirs), VersionLinux)
|
||||||
self.process_changelog()
|
self.process_changelog()
|
||||||
self.config_dirs = config_dirs
|
self.config_dirs = config_dirs
|
||||||
|
|
||||||
|
|
|
@ -87,40 +87,20 @@ class ConfigCoreDump(object):
|
||||||
|
|
||||||
|
|
||||||
class ConfigCoreHierarchy(object):
|
class ConfigCoreHierarchy(object):
|
||||||
schemas = {
|
schema_base = {
|
||||||
'abi': {
|
|
||||||
'ignore-changes': SchemaItemList(),
|
|
||||||
},
|
|
||||||
'base': {
|
'base': {
|
||||||
'arches': SchemaItemList(),
|
'arches': SchemaItemList(),
|
||||||
'enabled': SchemaItemBoolean(),
|
'enabled': SchemaItemBoolean(),
|
||||||
'featuresets': SchemaItemList(),
|
'featuresets': SchemaItemList(),
|
||||||
'flavours': SchemaItemList(),
|
'flavours': SchemaItemList(),
|
||||||
'modules': SchemaItemBoolean(),
|
|
||||||
},
|
},
|
||||||
'build': {
|
|
||||||
'debug-info': SchemaItemBoolean(),
|
|
||||||
},
|
|
||||||
'description': {
|
|
||||||
'parts': SchemaItemList(),
|
|
||||||
},
|
|
||||||
'image': {
|
|
||||||
'bootloaders': SchemaItemList(),
|
|
||||||
'configs': SchemaItemList(),
|
|
||||||
'initramfs': SchemaItemBoolean(),
|
|
||||||
'initramfs-generators': SchemaItemList(),
|
|
||||||
},
|
|
||||||
'relations': {
|
|
||||||
},
|
|
||||||
'xen': {
|
|
||||||
'dom0-support': SchemaItemBoolean(),
|
|
||||||
'flavours': SchemaItemList(),
|
|
||||||
'versions': SchemaItemList(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def __new__(cls, dirs=[]):
|
def __new__(cls, schema, dirs=[]):
|
||||||
return cls.Reader(dirs, cls.schemas)()
|
schema_complete = cls.schema_base.copy()
|
||||||
|
for key, value in schema.iteritems():
|
||||||
|
schema_complete.setdefault(key, {}).update(value)
|
||||||
|
return cls.Reader(dirs, schema_complete)()
|
||||||
|
|
||||||
class Reader(object):
|
class Reader(object):
|
||||||
config_name = "defines"
|
config_name = "defines"
|
||||||
|
|
Loading…
Reference in New Issue