[kernel] r5214 - people/waldi/linux-2.6/debian/lib/python/debian_linux

Bastian Blank waldi at costa.debian.org
Tue Jan 3 19:46:06 UTC 2006


Author: waldi
Date: Tue Jan  3 19:46:05 2006
New Revision: 5214

Modified:
   people/waldi/linux-2.6/debian/lib/python/debian_linux/config.py
Log:
debian/lib/python/debian_linux/config.py: Support subarches.


Modified: people/waldi/linux-2.6/debian/lib/python/debian_linux/config.py
==============================================================================
--- people/waldi/linux-2.6/debian/lib/python/debian_linux/config.py	(original)
+++ people/waldi/linux-2.6/debian/lib/python/debian_linux/config.py	Tue Jan  3 19:46:05 2006
@@ -69,9 +69,9 @@
             self[tuple(real)] = s
 
         for subarch in subarches:
-            try:
+            if self.has_key(('base', arch, subarch)):
                 avail = self['base', arch, subarch].get('available', True)
-            except ConfigParser.NoSectionError:
+            else:
                 avail = True
             if avail:
                 self._read_subarch(arch, subarch)
@@ -114,8 +114,25 @@
             warnings.warn('No config entry for flavour %s, subarch %s, arch %s' % (flavour, subarch, arch), DeprecationWarning)
             self['base', arch, subarch, flavour] = {}
 
-    def _read_subarch(self, arch, subarch, base):
-        raise NotImplemented
+    def _read_subarch(self, arch, subarch):
+        files = self._get_files("%s/%s/%s" % (arch, subarch, self.config_name))
+        config = config_parser(self.schema, files)
+
+        flavours = config['base',].get('flavours', [])
+
+        for section in iter(config):
+            real = list(section)
+            if real[-1] in flavours:
+                real[0:0] = ['base', arch, subarch]
+            else:
+                real[0:] = [real.pop(), arch, subarch]
+            real = tuple(real)
+            s = self.get(real, {})
+            s.update(config[section])
+            self[tuple(real)] = s
+
+        for flavour in flavours:
+            self._read_flavour(arch, subarch, flavour)
 
     def _update(self, ret, inputkey):
         for key, value in super(config_reader, self).get(tuple(inputkey), {}).iteritems():



More information about the Kernel-svn-changes mailing list