[kernel] r9221 - dists/trunk/linux-2.6/debian/lib/python/debian_linux
Bastian Blank
waldi at alioth.debian.org
Sun Jul 29 14:53:53 UTC 2007
Author: waldi
Date: Sun Jul 29 14:53:53 2007
New Revision: 9221
Log:
debian/lib/python/debian_linux/config.py
- Read toplevel featuresets.
- Mark implicit flavours.
- Fix test code.
Modified:
dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py
Modified: dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py
==============================================================================
--- dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py (original)
+++ dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py Sun Jul 29 14:53:53 2007
@@ -32,7 +32,7 @@
schemas = {
'base': {
'arches': SchemaItemList(),
- 'available': SchemaItemBoolean(),
+ 'enabled': SchemaItemBoolean(),
'featuresets': SchemaItemList(),
'flavours': SchemaItemList(),
'modules': SchemaItemBoolean(),
@@ -84,20 +84,38 @@
else:
avail = True
if avail:
- self._read_featureset(arch, featureset)
-
- base = self['base', arch]
- # TODO
- base['featuresets'] = base['subarches'] = featuresets
+ self._read_arch_featureset(arch, featureset)
if flavours:
+ base = self['base', arch]
featuresets.insert(0, 'none')
+ base['featuresets'] = featuresets
del base['flavours']
self['base', arch] = base
- self['base', arch, 'none'] = {'flavours': flavours}
+ self['base', arch, 'none'] = {'flavours': flavours, 'implicit-flavour': True}
for flavour in flavours:
self._read_flavour(arch, 'none', flavour)
+ def _read_arch_featureset(self, arch, featureset):
+ config = ConfigParser(self.schemas)
+ config.read(self.get_files("%s/%s/%s" % (arch, featureset, self.config_name)))
+
+ flavours = config['base',].get('flavours', [])
+
+ for section in iter(config):
+ real = list(section)
+ if real[-1] in flavours:
+ real[0:0] = ['base', arch, featureset]
+ else:
+ real[0:0] = [real.pop(), arch, featureset]
+ real = tuple(real)
+ s = self.get(real, {})
+ s.update(config[section])
+ self[tuple(real)] = s
+
+ for flavour in flavours:
+ self._read_flavour(arch, featureset, flavour)
+
def _read_base(self):
config = ConfigParser(self.schemas)
config.read(self.get_files(self.config_name))
@@ -120,25 +138,15 @@
if avail:
self._read_arch(arch)
- def _read_featureset(self, arch, featureset):
+ def _read_featureset(self, featureset):
config = ConfigParser(self.schemas)
- config.read(self.get_files("%s/%s/%s" % (arch, featureset, self.config_name)))
-
- flavours = config['base',].get('flavours', [])
+ config.read(self.get_files("featureset-%s/%s" % (featureset, self.config_name)))
for section in iter(config):
real = list(section)
- if real[-1] in flavours:
- real[0:0] = ['base', arch, featureset]
- else:
- real[0:0] = [real.pop(), arch, featureset]
+ real[0:0] = [real.pop(), None, featureset]
real = tuple(real)
- s = self.get(real, {})
- s.update(config[section])
- self[tuple(real)] = s
-
- for flavour in flavours:
- self._read_flavour(arch, featureset, flavour)
+ self[tuple(real)] = config[section]
def _read_flavour(self, arch, featureset, flavour):
if not self.has_key(('base', arch, featureset, flavour)):
@@ -223,8 +231,8 @@
if __name__ == '__main__':
import sys
- config = config_reader()
- sections = config.sections()
+ config = ConfigReaderCore(['debian/config'])
+ sections = config.keys()
sections.sort()
for section in sections:
print "[%s]" % (section,)
More information about the Kernel-svn-changes
mailing list