diff options
author | Bastian Blank <waldi@debian.org> | 2009-09-14 09:42:44 +0000 |
---|---|---|
committer | Bastian Blank <waldi@debian.org> | 2009-09-14 09:42:44 +0000 |
commit | aaa9f09b7bd6d7cd285a7a357bbd1228a020c380 (patch) | |
tree | ab8eb37a9753a7006c5a735a9b4eb4c49a5c6a55 /debian/lib/python/debian_linux/debian.py | |
parent | 3320c09c4538b39aebb456203abd628ee64dee98 (diff) | |
download | kernel_replicant_linux-aaa9f09b7bd6d7cd285a7a357bbd1228a020c380.tar.gz kernel_replicant_linux-aaa9f09b7bd6d7cd285a7a357bbd1228a020c380.tar.bz2 kernel_replicant_linux-aaa9f09b7bd6d7cd285a7a357bbd1228a020c380.zip |
debian/lib/python/debian_linux/debian.py:
Make it possible to override the arches of all relations.
svn path=/dists/trunk/linux-2.6/; revision=14229
Diffstat (limited to 'debian/lib/python/debian_linux/debian.py')
-rw-r--r-- | debian/lib/python/debian_linux/debian.py | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py index 96a77d423186..6de846d441fe 100644 --- a/debian/lib/python/debian_linux/debian.py +++ b/debian/lib/python/debian_linux/debian.py @@ -192,9 +192,9 @@ 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]) @@ -205,9 +205,9 @@ class PackageRelation(list): 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._search_value(value) @@ -216,18 +216,18 @@ class PackageRelation(list): 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]) @@ -245,20 +245,20 @@ class PackageRelationGroup(list): 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 +282,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: |