[kernel] r18499 - in dists/trunk/linux-2.6/debian: bin lib/python/debian_linux

Bastian Blank waldi at alioth.debian.org
Wed Jan 11 20:42:42 UTC 2012


Author: waldi
Date: Wed Jan 11 20:42:40 2012
New Revision: 18499

Log:
debian/bin/gencontrol.py, debian/lib/python/debian_linux/config.py:
Move config schema into gencontrol.

Modified:
   dists/trunk/linux-2.6/debian/bin/gencontrol.py
   dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py

Modified: dists/trunk/linux-2.6/debian/bin/gencontrol.py
==============================================================================
--- dists/trunk/linux-2.6/debian/bin/gencontrol.py	Wed Jan 11 20:34:37 2012	(r18498)
+++ dists/trunk/linux-2.6/debian/bin/gencontrol.py	Wed Jan 11 20:42:40 2012	(r18499)
@@ -7,15 +7,43 @@
 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
 

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	Wed Jan 11 20:34:37 2012	(r18498)
+++ dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py	Wed Jan 11 20:42:40 2012	(r18499)
@@ -87,40 +87,20 @@
 
 
 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"



More information about the Kernel-svn-changes mailing list