diff options
author | Bastian Blank <waldi@debian.org> | 2006-08-29 09:53:31 +0000 |
---|---|---|
committer | Bastian Blank <waldi@debian.org> | 2006-08-29 09:53:31 +0000 |
commit | 61c4bbd1404c01322fed90d3d2fd38fa0151629d (patch) | |
tree | d2c209ea8263bdbcd7be1e784a4f4332cd176a6b /debian/lib/python/debian_linux | |
parent | 5e9257409a4b68ca57b805212afbf740651af4a1 (diff) | |
download | kernel_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.py | 18 | ||||
-rw-r--r-- | debian/lib/python/debian_linux/debian.py | 19 | ||||
-rw-r--r-- | debian/lib/python/debian_linux/gencontrol.py | 51 |
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) |