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 subprocess
|
||||
|
||||
from debian_linux.config import ConfigCoreHierarchy
|
||||
from debian_linux import config
|
||||
from debian_linux.debian import *
|
||||
from debian_linux.gencontrol import Gencontrol as Base
|
||||
from debian_linux.utils import Templates, read_control
|
||||
|
||||
|
||||
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"]):
|
||||
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.config_dirs = config_dirs
|
||||
|
||||
|
|
|
@ -87,40 +87,20 @@ class ConfigCoreDump(object):
|
|||
|
||||
|
||||
class ConfigCoreHierarchy(object):
|
||||
schemas = {
|
||||
'abi': {
|
||||
'ignore-changes': SchemaItemList(),
|
||||
},
|
||||
schema_base = {
|
||||
'base': {
|
||||
'arches': SchemaItemList(),
|
||||
'enabled': SchemaItemBoolean(),
|
||||
'featuresets': 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=[]):
|
||||
return cls.Reader(dirs, cls.schemas)()
|
||||
def __new__(cls, schema, dirs=[]):
|
||||
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):
|
||||
config_name = "defines"
|
||||
|
|
Loading…
Reference in New Issue