linux/debian/lib/python/debian_linux.py

179 lines
5.3 KiB
Python
Raw Normal View History

import os, os.path, re, sys, textwrap, ConfigParser
class schema_item_boolean(object):
def __call__(self, i):
i = i.strip().lower()
if i in ("true", "1"):
return True
if i in ("false", "0"):
return False
raise Error
class schema_item_integer(object):
def __call__(self, i):
return int(i)
class schema_item_list(object):
def __call__(self, i):
return re.split("\s+", i.strip())
class schema_item_string(object):
def __call__(self, i):
return str(i)
class config(dict):
schema = {
'abiname': schema_item_string,
'arches': schema_item_list,
'available': schema_item_boolean,
'class': schema_item_string,
'depends': schema_item_string,
'desc': schema_item_string,
'flavours': schema_item_list,
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
'kernel-arch': schema_item_string,
'kpkg-subarch': schema_item_string,
'longclass': schema_item_string,
'subarches': schema_item_list,
'suggests': schema_item_string,
}
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
config_name = "defines"
def __init__(self, overlay_dir = None):
self._overlay_dir = overlay_dir
self._read_base()
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
def _get_files(self, name):
ret = []
if self._overlay_dir is not None:
ret.append(os.path.join(self._overlay_dir, name))
ret.append(name)
return ret
def _read_arch(self, arch, base):
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
files = self._get_files("debian/arch/%s/%s" % (arch, self.config_name))
c = config_parser(self.schema)
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
c.read(files)
t = c.items_convert('base')
base.update(t)
self[arch] = t
subarches = t.get('subarches', [])
for subarch in subarches:
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
try:
t2 = c.items_convert(subarch)
avail = t2.get('available', True)
except ConfigParser.NoSectionError:
t2 = {}
avail = True
if avail:
self._read_subarch(arch, subarch, t2)
else:
self['-'.join((arch, subarch))] = t2
flavours = t.get('flavours', None)
if flavours:
for flavour in flavours:
self._read_flavour(arch, 'none', flavour, c)
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
subarches.insert(0, 'none')
t['subarches'] = subarches
def _read_base(self):
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
files = self._get_files("debian/arch/%s" % self.config_name)
c = config_parser(self.schema)
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
c.read(files)
t1 = c.items_convert('base')
self['base'] = t1
for arch in t1['arches']:
try:
t2 = c.items_convert(arch)
avail = t2.get('available', True)
except ConfigParser.NoSectionError:
t2 = {}
avail = True
if avail:
self._read_arch(arch, t2)
else:
self[arch] = t2
def _read_flavour(self, arch, subarch, flavour, c):
try:
t = c.items_convert(flavour)
except ConfigParser.NoSectionError:
try:
t = c.items_convert("%s-none-%s" % (arch, flavour))
except ConfigParser.NoSectionError:
#raise RuntimeError("Don't find config for %s-none-%s!" % (arch, flavour))
t = {}
self["%s-%s-%s" % (arch, subarch, flavour)] = t
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
def _read_subarch(self, arch, subarch, base):
files = self._get_files("debian/arch/%s/%s/%s" % (arch, subarch, self.config_name))
c = config_parser(self.schema)
c.read(files)
t = c.items_convert('base')
base.update(t)
self['-'.join((arch, subarch))] = t
flavours = t.get('flavours', None)
for flavour in flavours:
self._read_flavour(arch, subarch, flavour, c)
class config_parser(object, ConfigParser.ConfigParser):
def __init__(self, schema):
ConfigParser.ConfigParser.__init__(self)
self.schema = schema
def items_convert(self, section):
items = self.items(section)
ret = {}
for key, value in items:
convert = self.schema[key]()
ret[key] = convert(value)
return ret
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
class _sorted_dict(dict):
__slots__ = ('_list')
def __init__(self):
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
super(_sorted_dict, self).__init__()
self._list = []
def __delitem__(self, key):
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
super(_sorted_dict, self).__delitem__(key)
self._list.remove(key)
r4026: waldi | 2005-08-23 16:16:40 +0200 debian/bin/gencontrol.py: Add error messages for arches without definitions. r4027: waldi | 2005-08-23 17:17:44 +0200 * debian/bin/gencontrol.py: Produce headers package for each subarch. * debian/templates/control.headers.main.in: Fix commandline. * debian/templates/control.headers.subarch.in: Remove. r4028: waldi | 2005-08-23 18:04:56 +0200 /debian/bin/gencontrol.py: Cleanup. r4029: waldi | 2005-08-23 19:02:41 +0200 * debian/bin/gencontrol.py: Move the logic into functions. * debian/lib/python/debian_linux.py (sorted_dict): Add. (entry): Implement via sorted_dict. r4030: waldi | 2005-08-23 19:13:06 +0200 debian/bin/gencontrol.py: Use dict for makeflags. r4031: waldi | 2005-08-23 19:18:37 +0200 debian/bin/gencontrol.py: Support extra packages which multiple architectures. r4032: waldi | 2005-08-23 19:31:34 +0200 * debian/bin/gencontrol.py: Set Architecture for each package. * debian/templates/control.headers.in, debian/templates/control.headers.latest.in, debian/templates/control.headers.subarch.in, debian/templates/control.image.in, debian/templates/control.image.latest.in: Remove Architecture field. r4033: waldi | 2005-08-23 19:33:50 +0200 debian/bin/gencontrol.py: Readd subarch headers package. r4034: waldi | 2005-08-23 19:38:05 +0200 debian/bin/gencontrol.py: Readd setup of variables for template substitution. r4035: waldi | 2005-08-23 19:40:58 +0200 debian/templates/control.headers.subarch.in: Fix package names in description. r4036: waldi | 2005-08-23 19:49:12 +0200 debian/lib/python/debian_linux.py (config): Support subarchitectures. r4037: waldi | 2005-08-23 22:05:05 +0200 Add support for linux-headers-$version-all package. It is currently blocked by #324741. * debian/bin/gencontrol.py: Update. * debian/lib/python/debian_linux.py: Move none subarch to the beginning of the list. * debian/templates/control.headers.main.in: Add. r4038: waldi | 2005-08-23 22:42:52 +0200 * debian/bin/gencontrol.py: Use special rule for building the general headers package. * debian/rules.real: Add rules. * debian/templates/control.headers.main.in: Drop -all suffix. r4039: waldi | 2005-08-23 23:12:53 +0200 debian/lib/python/debian_linux.py: Support overlay config. r4040: waldi | 2005-08-23 23:13:33 +0200 debian/rules.real: Fix installation of common headers package. r4045: waldi | 2005-08-24 00:52:03 +0200 * debian/arch/powerpc/defines: Add kernel arch settings. * debian/lib/python/debian_linux.py: Support kernel arch settings. r4047: waldi | 2005-08-24 10:31:57 +0200 * debian/bin/gencontrol.py: Add proper Architecture line to headers package. * debian/templates/control.headers.arch.in: Move from debian/templates/control.headers.main.in. r4049: waldi | 2005-08-24 19:49:53 +0200 debian/patches-debian/qla2xxx-removed.patch: Don't remove Kconfig entry. svn path=/trunk/kernel/linux-2.6/; revision=4062
2005-08-29 10:09:39 +00:00
def iterkeys(self):
for i in iter(self._list):
yield i
def iteritems(self):
for i in iter(self._list):
yield (i, self[i])
def itervalues(self):
for i in iter(self._list):
yield self[i]
class sorted_dict(_sorted_dict):
__slots__ = ()
def __setitem__(self, key, value):
super(sorted_dict, self).__setitem__(key, value)
if key not in self._list:
self._list.append(key)
class entry(_sorted_dict):
__slots__ = ()
def __setitem__(self, key, value):
super(entry, self).__setitem__(key, value)
if key not in self._list:
if 'Description' in self._list:
self._list.insert(len(self._list)-1, key)
else:
self._list.append(key)
class wrap(textwrap.TextWrapper):
wordsep_re = re.compile(
r'(\s+|' # any whitespace
r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash