aboutsummaryrefslogtreecommitdiffstats
path: root/debian/lib/python/debian_linux
diff options
context:
space:
mode:
authorBastian Blank <waldi@debian.org>2006-08-29 09:53:31 +0000
committerBastian Blank <waldi@debian.org>2006-08-29 09:53:31 +0000
commit61c4bbd1404c01322fed90d3d2fd38fa0151629d (patch)
treed2c209ea8263bdbcd7be1e784a4f4332cd176a6b /debian/lib/python/debian_linux
parent5e9257409a4b68ca57b805212afbf740651af4a1 (diff)
downloadkernel_replicant_linux-61c4bbd1404c01322fed90d3d2fd38fa0151629d.tar.gz
kernel_replicant_linux-61c4bbd1404c01322fed90d3d2fd38fa0151629d.tar.bz2
kernel_replicant_linux-61c4bbd1404c01322fed90d3d2fd38fa0151629d.zip
Merge /dists/sid/linux-2.6.
svn path=/dists/trunk/linux-2.6/; revision=7262
Diffstat (limited to 'debian/lib/python/debian_linux')
-rw-r--r--debian/lib/python/debian_linux/config.py18
-rw-r--r--debian/lib/python/debian_linux/debian.py19
-rw-r--r--debian/lib/python/debian_linux/gencontrol.py51
3 files changed, 61 insertions, 27 deletions
diff --git a/debian/lib/python/debian_linux/config.py b/debian/lib/python/debian_linux/config.py
index be1cd66216da..54c009d239f2 100644
--- a/debian/lib/python/debian_linux/config.py
+++ b/debian/lib/python/debian_linux/config.py
@@ -143,8 +143,9 @@ class config_reader_arch(config_reader):
def _read_flavour(self, arch, subarch, flavour):
if not self.has_key(('base', arch, subarch, flavour)):
- import warnings
- warnings.warn('No config entry for flavour %s, subarch %s, arch %s' % (flavour, subarch, arch), DeprecationWarning)
+ if subarch == 'none':
+ import warnings
+ warnings.warn('No config entry for flavour %s, subarch none, arch %s' % (flavour, arch), DeprecationWarning)
self['base', arch, subarch, flavour] = {}
def _read_subarch(self, arch, subarch):
@@ -167,6 +168,19 @@ class config_reader_arch(config_reader):
for flavour in flavours:
self._read_flavour(arch, subarch, flavour)
+ def merge(self, section, arch = None, subarch = None, flavour = None):
+ ret = {}
+ ret.update(self.get((section,), {}))
+ if arch:
+ ret.update(self.get((section, arch), {}))
+ if flavour and subarch and subarch != 'none':
+ ret.update(self.get((section, arch, 'none', flavour), {}))
+ if subarch:
+ ret.update(self.get((section, arch, subarch), {}))
+ if flavour:
+ ret.update(self.get((section, arch, subarch, flavour), {}))
+ return ret
+
class config_parser(object):
__slots__ = 'configs', 'schema'
diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py
index 405c14808582..96434b0492a5 100644
--- a/debian/lib/python/debian_linux/debian.py
+++ b/debian/lib/python/debian_linux/debian.py
@@ -47,6 +47,25 @@ def read_changelog(dir = ''):
return entries
def parse_version(version):
+ ret = {
+ 'complete': version,
+ 'upstream': version,
+ 'debian': None,
+ 'linux': None,
+ }
+ try:
+ i = len(version) - version[::-1].index('-')
+ except ValueError:
+ return ret
+ ret['upstream'] = version[:i-1]
+ ret['debian'] = version[i:]
+ try:
+ ret['linux'] = parse_version_linux(version)
+ except ValueError:
+ pass
+ return ret
+
+def parse_version_linux(version):
version_re = ur"""
^
(?P<source>
diff --git a/debian/lib/python/debian_linux/gencontrol.py b/debian/lib/python/debian_linux/gencontrol.py
index 6c492202ffe8..08c0fff4037e 100644
--- a/debian/lib/python/debian_linux/gencontrol.py
+++ b/debian/lib/python/debian_linux/gencontrol.py
@@ -11,6 +11,17 @@ class packages_list(sorted_dict):
for package in packages:
self[package['Package']] = package
+class flags(dict):
+ def __repr__(self):
+ repr = super(flags, self).__repr__()
+ return "%s(%s)" % (self.__class__.__name__, repr)
+
+ def __str__(self):
+ return ' '.join(["%s='%s'" % i for i in self.iteritems()])
+
+ def copy(self):
+ return self.__class__(super(flags, self).copy())
+
class gencontrol(object):
makefile_targets = ('binary-arch', 'build', 'setup', 'source')
@@ -38,7 +49,7 @@ class gencontrol(object):
vars = self.vars.copy()
vars.update(config_entry)
- makeflags = {}
+ makeflags = flags()
extra = {}
self.do_main_setup(vars, makeflags, extra)
@@ -50,22 +61,18 @@ class gencontrol(object):
def do_main_setup(self, vars, makeflags, extra):
makeflags.update({
- 'MAJOR': self.version['major'],
- 'VERSION': self.version['version'],
- 'SOURCE_UPSTREAM': self.version['source_upstream'],
- 'SOURCEVERSION': self.version['source'],
- 'UPSTREAMVERSION': self.version['upstream'],
+ 'MAJOR': self.version['linux']['major'],
+ 'VERSION': self.version['linux']['version'],
+ 'UPSTREAMVERSION': self.version['linux']['upstream'],
'ABINAME': self.abiname,
})
def do_main_makefile(self, makefile, makeflags, extra):
- makeflags_string = ' '.join(["%s='%s'" % i for i in makeflags.iteritems()])
-
cmds_binary_indep = []
- cmds_binary_indep.append(("$(MAKE) -f debian/rules.real binary-indep %s" % makeflags_string,))
+ cmds_binary_indep.append(("$(MAKE) -f debian/rules.real binary-indep %s" % makeflags,))
makefile.append(("binary-indep:", cmds_binary_indep))
- def do_main_packages(self, packages):
+ def do_main_packages(self, packages, extra):
pass
def do_extra(self, packages, makefile):
@@ -115,8 +122,6 @@ class gencontrol(object):
for subarch in config_entry['subarches']:
self.do_subarch(packages, makefile, arch, subarch, vars.copy(), makeflags.copy(), extra)
- self.do_arch_packages_post(packages, makefile, arch, vars, makeflags, extra)
-
def do_arch_setup(self, vars, makeflags, arch, extra):
pass
@@ -129,9 +134,6 @@ class gencontrol(object):
for i in self.makefile_targets:
makefile.append("%s-%s-real:" % (i, arch))
- def do_arch_packages_post(self, packages, makefile, arch, vars, makeflags, extra):
- pass
-
def do_subarch(self, packages, makefile, arch, subarch, vars, makeflags, extra):
config_entry = self.config['base', arch, subarch]
vars.update(config_entry)
@@ -160,7 +162,7 @@ class gencontrol(object):
makefile.append("%s-%s-%s-real:" % (i, arch, subarch))
def do_flavour(self, packages, makefile, arch, subarch, flavour, vars, makeflags, extra):
- config_entry = self.config['base', arch, subarch, flavour]
+ config_entry = self.config.merge('base', arch, subarch, flavour)
vars.update(config_entry)
if not vars.has_key('class'):
@@ -178,7 +180,6 @@ class gencontrol(object):
def do_flavour_setup(self, vars, makeflags, arch, subarch, flavour, extra):
for i in (
- ('compiler', 'COMPILER'),
('kernel-arch', 'KERNEL_ARCH'),
('localversion', 'LOCALVERSION'),
):
@@ -235,13 +236,13 @@ class gencontrol(object):
entries.append(self.process_package(i, vars))
return entries
- def process_version(self, version):
- self.version = version
- self.vars = {
- 'upstreamversion': version['upstream'],
- 'version': version['version'],
- 'source_upstream': version['source_upstream'],
- 'major': version['major'],
+ def process_version_linux(self, version, abiname):
+ return {
+ 'upstreamversion': version['linux']['upstream'],
+ 'version': version['linux']['version'],
+ 'source_upstream': version['linux']['source_upstream'],
+ 'major': version['linux']['major'],
+ 'abiname': abiname,
}
def substitute(self, s, vars):
@@ -251,7 +252,7 @@ class gencontrol(object):
return s
def subst(match):
return vars[match.group(1)]
- return re.sub(r'@([a-z_]+)@', subst, s)
+ return re.sub(r'@([-_a-z]+)@', subst, s)
def write_control(self, list):
self.write_rfc822(file("debian/control", 'w'), list)