diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-02-22 10:31:24 +0100 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-02-22 10:36:20 +0100 |
commit | 2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376 (patch) | |
tree | 3bc5cdd98e10cce9a5740b17657835cafaa3a0d0 /lib | |
parent | a34bc90b9c654c855f365de14a8907dc92e21946 (diff) | |
download | debianrt-2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376.tar.gz debianrt-2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376.tar.xz |
svn://svn.debian.org/svn/kernel/dists/trunk/linux-2.6/debian at r15255
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/python/debian_linux/config.py | 4 | ||||
-rw-r--r-- | lib/python/debian_linux/debian.py | 65 | ||||
-rw-r--r-- | lib/python/debian_linux/gencontrol.py | 5 |
3 files changed, 44 insertions, 30 deletions
diff --git a/lib/python/debian_linux/config.py b/lib/python/debian_linux/config.py index e256190..478c310 100644 --- a/lib/python/debian_linux/config.py +++ b/lib/python/debian_linux/config.py @@ -113,9 +113,11 @@ class ConfigCoreHierarchy(ConfigCore): 'modules': SchemaItemBoolean(), }, 'build': {}, + 'description': { + 'parts': SchemaItemList(), + }, 'image': { 'configs': SchemaItemList(), - 'desc-parts': SchemaItemList(), 'initramfs': SchemaItemBoolean(), 'initramfs-generators': SchemaItemList(), }, diff --git a/lib/python/debian_linux/debian.py b/lib/python/debian_linux/debian.py index e4f01e5..3b5a29a 100644 --- a/lib/python/debian_linux/debian.py +++ b/lib/python/debian_linux/debian.py @@ -117,7 +117,17 @@ class VersionLinux(Version): ) )? - -(?:[^-]+) +\d+ +(\.\d+)? +(?: + (?P<revision_experimental> + ~experimental\.\d+ + ) + | + (?P<revision_other> + [^-]+ + ) +)? $ """ _version_linux_re = re.compile(_version_linux_rules, re.X) @@ -136,6 +146,8 @@ $ else: self.linux_upstream = d['version'] self.linux_dfsg = d['dfsg'] + self.linux_revision_experimental = match.group('revision_experimental') and True + self.linux_revision_other = match.group('revision_other') and True class PackageFieldList(list): def __init__(self, value = None): @@ -192,73 +204,73 @@ class PackageDescription(object): raise TypeError class PackageRelation(list): - def __init__(self, value = None): - if value is not None: - self.extend(value) + def __init__(self, value=None, override_arches=None): + if value: + self.extend(value, override_arches) def __str__(self): return ', '.join([str(i) for i in self]) - def _match(self, value): + def _search_value(self, value): for i in self: - if i._match(value): + if i._search_value(value): return i return None - def append(self, value): + def append(self, value, override_arches=None): if isinstance(value, basestring): - value = PackageRelationGroup(value) + value = PackageRelationGroup(value, override_arches) elif not isinstance(value, PackageRelationGroup): raise ValueError, "got %s" % type(value) - j = self._match(value) + j = self._search_value(value) if j: - j._updateArches(value) + j._update_arches(value) else: super(PackageRelation, self).append(value) - def extend(self, value): + def extend(self, value, override_arches=None): if isinstance(value, basestring): value = [j.strip() for j in re.split(',', value.strip())] elif not isinstance(value, (list, tuple)): raise ValueError, "got %s" % type(value) for i in value: - self.append(i) + self.append(i, override_arches) class PackageRelationGroup(list): - def __init__(self, value = None): - if value is not None: - self.extend(value) + def __init__(self, value=None, override_arches=None): + if value: + self.extend(value, override_arches) def __str__(self): return ' | '.join([str(i) for i in self]) - def _match(self, value): + def _search_value(self, value): for i, j in itertools.izip(self, value): if i.name != j.name or i.version != j.version: return None return self - def _updateArches(self, value): + def _update_arches(self, value): for i, j in itertools.izip(self, value): if i.arches: for arch in j.arches: if arch not in i.arches: i.arches.append(arch) - def append(self, value): + def append(self, value, override_arches=None): if isinstance(value, basestring): - value = PackageRelationEntry(value) + value = PackageRelationEntry(value, override_arches) elif not isinstance(value, PackageRelationEntry): raise ValueError super(PackageRelationGroup, self).append(value) - def extend(self, value): + def extend(self, value, override_arches=None): if isinstance(value, basestring): value = [j.strip() for j in re.split('\|', value.strip())] elif not isinstance(value, (list, tuple)): raise ValueError for i in value: - self.append(i) + self.append(i, override_arches) class PackageRelationEntry(object): __slots__ = "name", "operator", "version", "arches" @@ -282,12 +294,15 @@ class PackageRelationEntry(object): def __str__(self): return self.operators_text[self._op] - def __init__(self, value = None): - if isinstance(value, basestring): - self.parse(value) - else: + def __init__(self, value=None, override_arches=None): + if not isinstance(value, basestring): raise ValueError + self.parse(value) + + if override_arches: + self.arches = list(override_arches) + def __str__(self): ret = [self.name] if self.operator is not None and self.version is not None: diff --git a/lib/python/debian_linux/gencontrol.py b/lib/python/debian_linux/gencontrol.py index 60dfb4b..90e9db6 100644 --- a/lib/python/debian_linux/gencontrol.py +++ b/lib/python/debian_linux/gencontrol.py @@ -167,7 +167,7 @@ class Gencontrol(object): pass def do_arch_recurse(self, packages, makefile, arch, vars, makeflags, extra): - for featureset in self.config['base', arch]['featuresets']: + for featureset in self.config['base', arch].get('featuresets', ()): self.do_featureset(packages, makefile, arch, featureset, vars.copy(), makeflags.copy(), extra) def do_featureset(self, packages, makefile, arch, featureset, vars, makeflags, extra): @@ -207,9 +207,6 @@ class Gencontrol(object): def do_flavour(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra): config_base = self.config.merge('base', arch, featureset, flavour) - vars['class'] = config_base['class'] - vars['longclass'] = config_base.get('longclass') or vars['class'] - vars['localversion'] += '-' + flavour self.do_flavour_setup(vars, makeflags, arch, featureset, flavour, extra) |