r4304 - in people/waldi/linux-2.6/debian: bin lib/python
Bastian Blank
waldi at costa.debian.org
Mon Oct 3 21:02:14 UTC 2005
Author: waldi
Date: 2005-10-03 21:02:13 +0000 (Mon, 03 Oct 2005)
New Revision: 4304
Modified:
people/waldi/linux-2.6/debian/bin/gencontrol.py
people/waldi/linux-2.6/debian/lib/python/debian_linux.py
Log:
Move template reading to lib.
* debian/bin/gencontrol.py
- Remove RFC822 routines.
- Use templates class.
* debian/lib/python/debian_linux.py: Add templates class.
Modified: people/waldi/linux-2.6/debian/bin/gencontrol.py
===================================================================
--- people/waldi/linux-2.6/debian/bin/gencontrol.py 2005-10-03 20:45:57 UTC (rev 4303)
+++ people/waldi/linux-2.6/debian/bin/gencontrol.py 2005-10-03 21:02:13 UTC (rev 4304)
@@ -51,38 +51,6 @@
entries.append(e)
return entries
-def read_rfc822(f):
- entries = []
-
- while True:
- e = entry()
- while True:
- line = f.readline()
- if not line:
- break
- line = line.strip('\n')
- if not line:
- break
- if line[0] in ' \t':
- if not last:
- raise ValueError('Continuation line seen before first header')
- e[last] += '\n' + line.lstrip()
- continue
- i = line.find(':')
- if i < 0:
- raise ValueError("Not a header, not a continuation: ``%s''" % line)
- last = line[:i]
- e[last] = line[i+1:].lstrip()
- if not e:
- break
-
- entries.append(e)
-
- return entries
-
-def read_template(name):
- return read_rfc822(file("debian/templates/control.%s.in" % name))
-
def parse_version(version):
version_re = ur"""
^
@@ -244,7 +212,7 @@
f.write(" %s\n" % k)
f.write('\n')
-def process_real_arch(packages, makefile, config, arch, vars, makeflags):
+def process_real_arch(packages, makefile, config, templates, arch, vars, makeflags):
config_entry = config[arch]
vars.update(config_entry)
@@ -253,7 +221,7 @@
makefile.append(("%s-%s:" % (i, arch), ["@echo Architecture %s is not available!" % arch, "@exit 1"]))
return
- headers_arch = read_template("headers.arch")
+ headers_arch = templates["control.headers.arch"]
package_headers_arch = process_package(headers_arch[0], vars)
package_headers_arch_depends = []
@@ -276,13 +244,13 @@
makefile.append(("setup-%s-real:" % arch, cmds_setup))
for subarch in config_entry['subarches']:
- process_real_subarch(packages, makefile, config, arch, subarch, vars.copy(), makeflags.copy(), package_headers_arch_depends)
+ process_real_subarch(packages, makefile, config, templates, arch, subarch, vars.copy(), makeflags.copy(), package_headers_arch_depends)
cmds_binary_arch = []
cmds_binary_arch.append(("$(MAKE) -f debian/rules.real install-headers-all GENCONTROL_ARGS='\"-Vkernel:Depends=%s\"' %s" % (', '.join(package_headers_arch_depends), makeflags_string),))
makefile.append(("binary-arch-%s-real:" % arch, cmds_binary_arch))
-def process_real_flavour(packages, makefile, config, arch, subarch, flavour, vars, makeflags, package_headers_arch_depends):
+def process_real_flavour(packages, makefile, config, templates, arch, subarch, flavour, vars, makeflags, package_headers_arch_depends):
config_entry = config['-'.join((arch, subarch, flavour))]
vars.update(config_entry)
@@ -292,10 +260,10 @@
if not vars.has_key('longclass'):
vars['longclass'] = vars['class']
- image = read_template("image")
- headers = read_template("headers")
- image_latest = read_template("image.latest")
- headers_latest = read_template("headers.latest")
+ image = templates["control.image"]
+ headers = templates["control.headers"]
+ image_latest = templates["control.image.latest"]
+ headers_latest = templates["control.headers.latest"]
packages_own = []
packages_dummy = []
@@ -336,14 +304,14 @@
makefile.append(("build-%s-%s-%s-real:" % (arch, subarch, flavour), cmds_build))
makefile.append(("setup-%s-%s-%s-real:" % (arch, subarch, flavour), cmds_setup))
-def process_real_main(packages, makefile, config, version, abiname, kpkg_abiname, changelog, vars):
- source = read_template("source")
+def process_real_main(packages, makefile, config, templates, version, abiname, kpkg_abiname, changelog, vars):
+ source = templates["control.source"]
packages['source'] = process_package(source[0], vars)
- main = read_template("main")
+ main = templates["control.main"]
packages.extend(process_packages(main, vars))
- tree = read_template("tree")
+ tree = templates["control.tree"]
packages.append(process_real_tree(tree[0], changelog, vars))
makeflags = {
@@ -360,9 +328,9 @@
makefile.append(("binary-indep:", cmds_binary_indep))
for arch in iter(config['base']['arches']):
- process_real_arch(packages, makefile, config, arch, vars.copy(), makeflags.copy())
+ process_real_arch(packages, makefile, config, templates, arch, vars.copy(), makeflags.copy())
- extra = read_template("extra")
+ extra = templates["control.extra"]
packages.extend(process_packages(extra, vars))
extra_pn = {}
for i in extra:
@@ -386,7 +354,7 @@
makefile.append(("binary-arch-%s:: binary-arch-%s-extra" % (arch, arch), None))
makefile.append(("binary-arch-%s-extra:" % arch, cmds))
-def process_real_subarch(packages, makefile, config, arch, subarch, vars, makeflags, package_headers_arch_depends):
+def process_real_subarch(packages, makefile, config, templates, arch, subarch, vars, makeflags, package_headers_arch_depends):
if subarch == 'none':
vars['subarch'] = ''
config_entry = config[arch]
@@ -395,7 +363,7 @@
config_entry = config['%s-%s' % (arch, subarch)]
vars.update(config_entry)
- headers_subarch = read_template("headers.subarch")
+ headers_subarch = templates["control.headers.subarch"]
package_headers = process_package(headers_subarch[0], vars)
@@ -427,19 +395,20 @@
makefile.append(("setup-%s-%s-real:" % (arch, subarch), cmds_setup))
for flavour in config_entry['flavours']:
- process_real_flavour(packages, makefile, config, arch, subarch, flavour, vars.copy(), makeflags.copy(), package_headers_arch_depends)
+ process_real_flavour(packages, makefile, config, templates, arch, subarch, flavour, vars.copy(), makeflags.copy(), package_headers_arch_depends)
def main():
changelog = read_changelog()
c = config()
+ t = templates()
version, abiname, kpkg_abiname, vars = process_changelog({}, c, changelog)
packages = packages_list()
makefile = []
- process_real_main(packages, makefile, c, version, abiname, kpkg_abiname, changelog, vars)
+ process_real_main(packages, makefile, c, t, version, abiname, kpkg_abiname, changelog, vars)
write_control(packages.itervalues())
write_makefile(makefile)
Modified: people/waldi/linux-2.6/debian/lib/python/debian_linux.py
===================================================================
--- people/waldi/linux-2.6/debian/lib/python/debian_linux.py 2005-10-03 20:45:57 UTC (rev 4303)
+++ people/waldi/linux-2.6/debian/lib/python/debian_linux.py 2005-10-03 21:02:13 UTC (rev 4304)
@@ -158,6 +158,55 @@
else:
self._list.append(key)
+class templates(dict):
+ def __init__(self, dir = None):
+ if dir is None:
+ self.dir = "debian/templates"
+ else:
+ self.dir = dir
+
+ def __getitem__(self, key):
+ try:
+ return dict.__getitem__(self, key)
+ except KeyError: pass
+ ret = self._read(key)
+ dict.__setitem__(self, key, ret)
+ return ret
+
+ def __setitem__(self, key, value):
+ raise NotImplemented()
+
+ def _read(self, filename):
+ entries = []
+
+ f = file("%s/%s.in" % (self.dir, filename))
+
+ while True:
+ e = entry()
+ while True:
+ line = f.readline()
+ if not line:
+ break
+ line = line.strip('\n')
+ if not line:
+ break
+ if line[0] in ' \t':
+ if not last:
+ raise ValueError('Continuation line seen before first header')
+ e[last] += '\n' + line.lstrip()
+ continue
+ i = line.find(':')
+ if i < 0:
+ raise ValueError("Not a header, not a continuation: ``%s''" % line)
+ last = line[:i]
+ e[last] = line[i+1:].lstrip()
+ if not e:
+ break
+
+ entries.append(e)
+
+ return entries
+
class wrap(textwrap.TextWrapper):
wordsep_re = re.compile(
r'(\s+|' # any whitespace
More information about the Kernel-svn-changes
mailing list