From ee3ccf8945fbcb617afa41d2f2d1a0ea914ebab7 Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Fri, 8 Sep 2006 09:09:17 +0000 Subject: [PATCH] * debian/bin/kconfig.py: Make it possible to specify which configs to use. * debian/lib/python/debian_linux/config.py - Fix flavour specific sections in subarch config. - Add configs entry. svn path=/dists/trunk/linux-2.6/; revision=7369 --- debian/bin/kconfig.py | 27 ++++++++++++++++++------ debian/lib/python/debian_linux/config.py | 3 ++- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/debian/bin/kconfig.py b/debian/bin/kconfig.py index 3357beb30880..fbbc96cf6088 100755 --- a/debian/bin/kconfig.py +++ b/debian/bin/kconfig.py @@ -7,16 +7,16 @@ from debian_linux.kconfig import * class checker(object): def __init__(self, arch, subarch, flavour): - self.config = config_reader_arch(["debian/arch"]) + config = config_reader_arch(["debian/arch"]) - self.config = ["debian/arch/config"] - self.config_arch = ["debian/arch/%s/config" % arch] + self.config = self._get_config(config, ["config"]) + self.config_arch = self._get_config(config, ["%s/config" % arch], arch) if subarch == 'none': self.config_subarch = [] - self.config_flavour = ["debian/arch/%s/config.%s" % (arch, flavour)] + self.config_flavour = self._get_config(config, ["%s/config.%s" % (arch, flavour)], arch, subarch, flavour) else: - self.config_subarch = ["debian/arch/%s/%s/config" % (arch, subarch)] - self.config_flavour = ["debian/arch/%s/%s/config.%s" % (arch, subarch, flavour)] + self.config_subarch = self._get_config(config, ["%s/%s/config" % (arch, subarch)], arch, subarch) + self.config_flavour = self._get_config(config, ["%s/%s/config.%s" % (arch, subarch, flavour)], arch, subarch, flavour) def __call__(self, out): config = [] @@ -27,9 +27,22 @@ class checker(object): kconfig = kconfigfile() for c in config: - kconfig.read(file(c)) + kconfig.read(file("debian/arch/%s" % c)) out.write(str(kconfig)) + def _get_config(self, config, default, *entry_name): + entry_real = ('image',) + entry_name + print entry_real + entry = config.get(entry_real, None) + if entry is None: + return default + print entry + configs = entry.get('configs', None) + if configs is None: + return default + print configs + return configs + if __name__ == '__main__': sys.exit(checker(*sys.argv[1:])(sys.stdout)) diff --git a/debian/lib/python/debian_linux/config.py b/debian/lib/python/debian_linux/config.py index 54c009d239f2..243524194251 100644 --- a/debian/lib/python/debian_linux/config.py +++ b/debian/lib/python/debian_linux/config.py @@ -65,6 +65,7 @@ class config_reader_arch(config_reader): schema = { 'arches': schema_item_list(), 'available': schema_item_boolean(), + 'configs': schema_item_list(), 'flavours': schema_item_list(), 'initramfs': schema_item_boolean(), 'initramfs-generators': schema_item_list(), @@ -159,7 +160,7 @@ class config_reader_arch(config_reader): if real[-1] in flavours: real[0:0] = ['base', arch, subarch] else: - real[0:] = [real.pop(), arch, subarch] + real[0:0] = [real.pop(), arch, subarch] real = tuple(real) s = self.get(real, {}) s.update(config[section])