[kernel] r6434 - in dists/trunk/linux-2.6/debian:
arch/amd64/vserver arch/i386/vserver arch/powerpc/vserver bin
lib/python/debian_linux
Bastian Blank
waldi at costa.debian.org
Sun Apr 16 23:53:59 UTC 2006
Author: waldi
Date: Sun Apr 16 23:53:58 2006
New Revision: 6434
Modified:
dists/trunk/linux-2.6/debian/arch/amd64/vserver/defines
dists/trunk/linux-2.6/debian/arch/i386/vserver/defines
dists/trunk/linux-2.6/debian/arch/powerpc/vserver/defines
dists/trunk/linux-2.6/debian/bin/gencontrol.py
dists/trunk/linux-2.6/debian/lib/python/debian_linux/debian.py
Log:
* debian/arch/amd64/vserver/defines, debian/arch/i386/vserver/defines,
debian/arch/powerpc/vserver/defines: Add util-vserver to Recommends.
* debian/bin/gencontrol.py: Fix dependency generation of image packages.
* debian/lib/python/debian_linux/debian.py
- Make type checks in relation classes more strict.
- Support checking of each entry against the config.
Modified: dists/trunk/linux-2.6/debian/arch/amd64/vserver/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/amd64/vserver/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/amd64/vserver/defines Sun Apr 16 23:53:58 2006
@@ -3,6 +3,9 @@
amd64-k8
em64t-p4
+[image]
+recommends: util-vserver
+
[amd64-k8]
class: AMD64 K8
longclass: 64bit AMD Athlon64, AthlonFX, Opteron and Turion64
Modified: dists/trunk/linux-2.6/debian/arch/i386/vserver/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/i386/vserver/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/i386/vserver/defines Sun Apr 16 23:53:58 2006
@@ -3,13 +3,14 @@
686
k7
+[image]
+recommends: util-vserver, libc6-i686
+
[686]
class: PPro/Celeron/PII/PIII/P4
longclass: Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4
-recommends: libc6-i686
[k7]
class: AMD K7
longclass: 32bit AMD Duron/Athlon/AthlonXP
-recommends: libc6-i686
Modified: dists/trunk/linux-2.6/debian/arch/powerpc/vserver/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/powerpc/vserver/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/powerpc/vserver/defines Sun Apr 16 23:53:58 2006
@@ -3,6 +3,9 @@
powerpc
powerpc64
+[image]
+recommends: util-vserver
+
[powerpc]
depends: mkvmlinuz (>= 18)
Modified: dists/trunk/linux-2.6/debian/bin/gencontrol.py
==============================================================================
--- dists/trunk/linux-2.6/debian/bin/gencontrol.py (original)
+++ dists/trunk/linux-2.6/debian/bin/gencontrol.py Sun Apr 16 23:53:58 2006
@@ -111,16 +111,16 @@
image_latest = self.templates["control.image.latest"]
headers_latest = self.templates["control.headers.latest"]
+ config_entry_relations = self.config.merge('relations', arch, subarch, flavour)
+
image_depends = package_relation_list()
if vars.get('initramfs', True):
generators = vars['initramfs-generators']
config_entry_commands_initramfs = self.config.merge('commands-image-initramfs-generators', arch, subarch, flavour)
- config_entry_relations = self.config.merge('relations', arch, subarch, flavour)
commands = [config_entry_commands_initramfs[i] for i in generators if config_entry_commands_initramfs.has_key(i)]
makeflags['INITRD_CMD'] = ' '.join(commands)
l = package_relation_group()
- l.extend([package_relation(config_entry_relations[i]) for i in generators])
- l.append(package_relation(config_entry_relations['initramfs-fallback']))
+ l.extend(generators + ['initramfs-fallback'])
image_depends.append(l)
packages_own = []
@@ -133,8 +133,8 @@
else:
image = image_type_modulesinline
- packages_own.append(self.process_real_image(image[0], image_depends, vars))
- packages_own.extend(self.process_packages(image[1:], vars))
+ for i in image:
+ packages_own.append(self.process_real_image(i, {'depends': image_depends}, config_entry_relations, vars))
packages_dummy.extend(self.process_packages(image_latest, vars))
if image in (image_type_modulesextra, image_type_modulesinline):
@@ -174,7 +174,7 @@
else:
self.abiname = self.vars['abiname'] = '-%s' % self.config['abiname',]['abiname']
- def process_real_image(self, in_entry, depends, vars):
+ def process_real_image(self, in_entry, relations, config, vars):
entry = self.process_package(in_entry, vars)
if vars.has_key('desc'):
entry['Description'].long[1:1] = [vars['desc']]
@@ -182,8 +182,9 @@
value = entry.get(field, package_relation_list())
t = vars.get(field.lower(), [])
value.extend(t)
- if depends and field == 'Depends':
- value.append(depends)
+ t = relations.get(field.lower(), [])
+ value.extend(t)
+ value.config(config)
entry[field] = value
return entry
Modified: dists/trunk/linux-2.6/debian/lib/python/debian_linux/debian.py
==============================================================================
--- dists/trunk/linux-2.6/debian/lib/python/debian_linux/debian.py (original)
+++ dists/trunk/linux-2.6/debian/lib/python/debian_linux/debian.py Sun Apr 16 23:53:58 2006
@@ -107,16 +107,7 @@
def __init__(self, value = None):
if value is not None:
- match = self._re.match(value)
- if match is None:
- raise RuntimeError, "Can't parse dependency %s" % value
- match = match.groups()
- self.name = match[0]
- self.version = match[1]
- if match[2] is not None:
- self.arches = re.split('\s+', match[2])
- else:
- self.arches = []
+ self.parse(value)
else:
self.name = None
self.version = None
@@ -130,11 +121,29 @@
ret.extend([' [', ' '.join(self.arches), ']'])
return ''.join(ret)
+ def config(self, entry):
+ if self.version is not None or self.arches:
+ return
+ value = entry.get(self.name, None)
+ if value is None:
+ return
+ self.parse(value)
+
+ def parse(self, value):
+ match = self._re.match(value)
+ if match is None:
+ raise RuntimeError, "Can't parse dependency %s" % value
+ match = match.groups()
+ self.name = match[0]
+ self.version = match[1]
+ if match[2] is not None:
+ self.arches = re.split('\s+', match[2])
+ else:
+ self.arches = []
+
class package_relation_list(list):
def __init__(self, value = None):
- if isinstance(value, (list, tuple)):
- self.extend(value)
- elif value is not None:
+ if value is not None:
self.extend(value)
def __str__(self):
@@ -146,31 +155,37 @@
return i
return None
+ def append(self, value):
+ if isinstance(value, basestring):
+ value = package_relation_group(value)
+ elif not isinstance(value, package_relation_group):
+ raise ValueError, "got %s" % type(value)
+ j = self._match(value)
+ if j:
+ j._update_arches(value)
+ else:
+ super(package_relation_list, self).append(value)
+
+ def config(self, entry):
+ for i in self:
+ i.config(entry)
+
def extend(self, value):
if isinstance(value, basestring):
- value = [package_relation_group(j.strip()) for j in re.split(',', value.strip())]
+ 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:
- if isinstance(i, basestring):
- i = package_relation_group(i)
- j = self._match(i)
- if j:
- j._update_arches(i)
- else:
- self.append(i)
+ self.append(i)
class package_relation_group(list):
def __init__(self, value = None):
- if isinstance(value, package_relation_list):
+ if value is not None:
self.extend(value)
- elif value is not None:
- self._extend(value)
def __str__(self):
return ' | '.join([str(i) for i in self])
- def _extend(self, value):
- self.extend([package_relation(j.strip()) for j in re.split('\|', value.strip())])
-
def _match(self, value):
for i, j in itertools.izip(self, value):
if i.name != j.name or i.version != j.version:
@@ -184,6 +199,25 @@
if arch not in i.arches:
i.arches.append(arch)
+ def append(self, value):
+ if isinstance(value, basestring):
+ value = package_relation(value)
+ elif not isinstance(value, package_relation):
+ raise ValueError
+ super(package_relation_group, self).append(value)
+
+ def config(self, entry):
+ for i in self:
+ i.config(entry)
+
+ def extend(self, value):
+ 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)
+
class package(dict):
_fields = utils.sorted_dict((
('Package', str),
More information about the Kernel-svn-changes
mailing list