* debian/bin/gencontrol.py

(config): Make chains of config entries available via tuples.
* debian/lib/python/debian_linux.py: Use config tuple access.

svn path=/dists/trunk/linux-2.6/; revision=4604
This commit is contained in:
Bastian Blank 2005-10-23 10:36:41 +00:00
parent 02d6bf0722
commit bb7b157a14
2 changed files with 22 additions and 7 deletions

View File

@ -256,7 +256,7 @@ def write_rfc822(f, list):
f.write('\n')
def process_real_arch(packages, makefile, config, arch, vars, makeflags):
config_entry = config[arch]
config_entry = config[arch,]
vars.update(config_entry)
if not config_entry.get('available', True):
@ -294,7 +294,7 @@ def process_real_arch(packages, makefile, config, arch, vars, makeflags):
makefile.append(("binary-arch-%s-real:" % arch, cmds_binary_arch))
def process_real_flavour(packages, makefile, config, arch, subarch, flavour, vars, makeflags, package_headers_arch_depends):
config_entry = config['-'.join((arch, subarch, flavour))]
config_entry = config[arch, subarch, flavour]
vars.update(config_entry)
vars['flavour'] = flavour
@ -402,10 +402,9 @@ def process_real_main(packages, makefile, config, version, abiname, kpkg_abiname
def process_real_subarch(packages, makefile, config, arch, subarch, vars, makeflags, package_headers_arch_depends):
if subarch == 'none':
vars['subarch'] = ''
config_entry = config[arch]
else:
vars['subarch'] = '%s-' % subarch
config_entry = config['%s-%s' % (arch, subarch)]
config_entry = config[arch, subarch]
vars.update(config_entry)
headers_subarch = read_template("headers.subarch")
@ -427,9 +426,6 @@ def process_real_subarch(packages, makefile, config, arch, subarch, vars, makefl
makefile.append(("%s-%s-%s:: %s-%s-%s-real" % (i, arch, subarch, i, arch, subarch), None))
makeflags['SUBARCH'] = subarch
for i in (('compiler', 'COMPILER'), ('kpkg-subarch', 'KPKG_SUBARCH')):
if config_entry.has_key(i[0]):
makeflags[i[1]] = config_entry[i[0]]
makeflags_string = ' '.join(["%s='%s'" % i for i in makeflags.iteritems()])
cmds_binary_arch = []

View File

@ -27,6 +27,24 @@ class config(dict):
self._overlay_dir = overlay_dir
self._read_base()
def __getitem__(self, key):
if isinstance(key, basestring):
return super(config, self).__getitem__(key)
if isinstance(key, tuple):
ret = {}
ret.update(super(config, self).__getitem__('base'))
if len(key) >= 1:
del ret['arches']
ret.update(super(config, self).__getitem__(key[0]))
if len(key) >= 2:
del ret['subarches']
ret.update(super(config, self).__getitem__('-'.join(key[0:2])))
if len(key) >= 3:
del ret['flavours']
ret.update(super(config, self).__getitem__('-'.join(key[0:3])))
return ret
raise NotImplemented
def _get_files(self, name):
ret = []
if self._overlay_dir is not None:
@ -57,6 +75,7 @@ class config(dict):
if flavours:
for flavour in flavours:
self._read_flavour(arch, 'none', flavour, c)
self['-'.join((arch, 'none'))] = {}
subarches.insert(0, 'none')
t['subarches'] = subarches