summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-02-22 10:31:24 +0100
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-02-22 10:36:20 +0100
commit2773e8c3410e2b0dc76a1b0f361f5b3ead9ca376 (patch)
tree3bc5cdd98e10cce9a5740b17657835cafaa3a0d0 /lib
parenta34bc90b9c654c855f365de14a8907dc92e21946 (diff)
downloaddebianrt-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.py4
-rw-r--r--lib/python/debian_linux/debian.py65
-rw-r--r--lib/python/debian_linux/gencontrol.py5
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)