[kernel] r18579 - in dists/trunk/firmware-nonfree/debian: . bin

Ben Hutchings benh at alioth.debian.org
Thu Jan 19 03:24:13 UTC 2012


Author: benh
Date: Thu Jan 19 03:24:10 2012
New Revision: 18579

Log:
Update to linux-support-3.2.0-1

Add the makefile rules we need and used to get from rules.include.
Adapt gencontrol.py to renamed/removed utils.
Sprinkle unicode liberally through gencontrol.py.
Remove build-dependency on linux-support-<abi-version>.  This is now
only needed when preparing the source package.

Modified:
   dists/trunk/firmware-nonfree/debian/bin/gencontrol.py
   dists/trunk/firmware-nonfree/debian/rules
   dists/trunk/firmware-nonfree/debian/rules.defs
   dists/trunk/firmware-nonfree/debian/rules.real

Modified: dists/trunk/firmware-nonfree/debian/bin/gencontrol.py
==============================================================================
--- dists/trunk/firmware-nonfree/debian/bin/gencontrol.py	Thu Jan 19 02:48:42 2012	(r18578)
+++ dists/trunk/firmware-nonfree/debian/bin/gencontrol.py	Thu Jan 19 03:24:10 2012	(r18579)
@@ -1,16 +1,17 @@
 #!/usr/bin/env python
 
-import os, re, sys
+import os, re, sys, codecs
 
-sys.path.append(sys.argv[2] + "/lib/python")
+sys.path.append(sys.argv[1] + "/lib/python")
 
 from debian_linux.config import ConfigParser, SchemaItemList
 from debian_linux.debian import Package, PackageRelation
 from debian_linux.debian import PackageDescription as PackageDescriptionBase
 import debian_linux.gencontrol
 from debian_linux.gencontrol import Makefile, MakeFlags, PackagesList
-from debian_linux.utils import SortedDict, TextWrapper
+from debian_linux.utils import TextWrapper, read_control
 from debian_linux.utils import Templates as TemplatesBase
+from collections import OrderedDict
 
 class PackageDescription(PackageDescriptionBase):
     __slots__ = ()
@@ -19,21 +20,21 @@
         self.short = []
         self.long = []
         if value is not None:
-            value = value.split("\n", 1)
+            value = value.split(u"\n", 1)
             self.append_short(value[0])
             if len(value) > 1:
                 self.append(value[1])
 
-    def __str__(self):
+    def __unicode__(self):
         wrap = TextWrapper(width = 74, fix_sentence_endings = True).wrap
-        short = ', '.join(self.short)
+        short = u', '.join(self.short)
         long_pars = []
         for t in self.long:
             if isinstance(t, basestring):
                 t = wrap(t)
-            long_pars.append('\n '.join(t))
-        long = '\n .\n '.join(long_pars)
-        return short + '\n ' + long
+            long_pars.append(u'\n '.join(t))
+        long = u'\n .\n '.join(long_pars)
+        return short + u'\n ' + long
 
     def append_pre(self, l):
         self.long.append(l)
@@ -49,10 +50,10 @@
 Package._fields['Description'] = PackageDescription
 
 class Template(dict):
-    _fields = SortedDict((
-        ('Template', str),
-        ('Type', str),
-        ('Default', str),
+    _fields = OrderedDict((
+        ('Template', unicode),
+        ('Type', unicode),
+        ('Default', unicode),
         ('Description', PackageDescription),
     ))
 
@@ -85,14 +86,14 @@
 class Templates(TemplatesBase):
     # TODO
     def _read(self, name):
-        prefix, id = name.split('.', 1)
+        prefix, id = name.split(u'.', 1)
 
         for dir in self.dirs:
             filename = "%s/%s.in" % (dir, name)
             if os.path.exists(filename):
-                f = file(filename)
+                f = codecs.open(filename, 'r', 'utf-8')
                 if prefix == 'control':
-                    return self._read_control(f)
+                    return read_control(f)
                 elif prefix == 'templates':
                     return self._read_templates(f)
                 return f.read()
@@ -108,23 +109,23 @@
                 line = f.readline()
                 if not line:
                     break
-                line = line.strip('\n')
+                line = line.strip(u'\n')
                 if not line:
                     break
-                if line[0] in ' \t':
+                if line[0] in u' \t':
                     if not last:
                         raise ValueError('Continuation line seen before first header')
                     lines.append(line.lstrip())
                     continue
                 if last:
-                    e[last] = '\n'.join(lines)
-                i = line.find(':')
+                    e[last] = u'\n'.join(lines)
+                i = line.find(u':')
                 if i < 0:
                     raise ValueError("Not a header, not a continuation: ``%s''" % line)
                 last = line[:i]
                 lines = [line[i+1:].lstrip()]
             if last:
-                e[last] = '\n'.join(lines)
+                e[last] = u'\n'.join(lines)
             if not e:
                 break
 
@@ -134,10 +135,9 @@
 
 
 class GenControl(debian_linux.gencontrol.Gencontrol):
-    def __init__(self, kernelversion):
+    def __init__(self):
         self.config = Config()
         self.templates = Templates()
-        self.kernelversion = kernelversion
 
     def __call__(self):
         packages = PackagesList()
@@ -152,7 +152,6 @@
     def do_source(self, packages):
         source = self.templates["control.source"]
         packages['source'] = self.process_package(source[0], ())
-        packages['source']['Build-Depends'].append('linux-support-%s' % self.kernelversion)
 
     def do_meta(self, packages, makefile):
         config_entry = self.config['base',]
@@ -161,8 +160,8 @@
 
         for entry in self.templates["control.binary.meta"]:
             package_binary = self.process_package(entry, {})
-            assert package_binary['Package'].startswith('firmware-')
-            package = package_binary['Package'].replace('firmware-', '')
+            assert package_binary['Package'].startswith(u'firmware-')
+            package = package_binary['Package'].replace(u'firmware-', u'')
 
             f = open('debian/copyright.meta')
             file("debian/firmware-%s.copyright" % package, 'w').write(f.read())
@@ -201,8 +200,8 @@
             f = open('%s/copyright' % package)
             open("debian/firmware-%s.copyright" % package, 'w').write(f.read())
         else:
-            vars['license'] = file("%s/LICENSE" % package).read()
-            file("debian/firmware-%s.copyright" % package, 'w').write(self.substitute(copyright, vars))
+            vars['license'] = codecs.open("%s/LICENSE" % package, 'r', 'utf-8').read()
+            codecs.open("debian/firmware-%s.copyright" % package, 'w', 'utf-8').write(self.substitute(copyright, vars))
 
         try:
             os.unlink('debian/firmware-%s.bug-presubj' % package)
@@ -257,7 +256,7 @@
         makeflags['LINKS'] = ' '.join(["%s:%s" % (link, target)
                                        for link, target in links.iteritems()])
 
-        files_desc = ["Contents:"]
+        files_desc = [u"Contents:"]
 
         for f in config_entry['files']:
             if f in links:
@@ -268,15 +267,15 @@
             if version is None:
                 version = c.get('version')
             try:
-                f = f + ', ' + ', '.join(links_rev[f])
+                f = f + u', ' + u', '.join(links_rev[f])
             except KeyError:
                 pass
             if desc and version:
-                files_desc.append(" * %s, version %s (%s)" % (desc, version, f))
+                files_desc.append(u" * %s, version %s (%s)" % (desc, version, f))
             elif desc:
-                files_desc.append(" * %s (%s)" % (desc, f))
+                files_desc.append(u" * %s (%s)" % (desc, f))
             else:
-                files_desc.append(" * %s" % f)
+                files_desc.append(u" * %s" % f)
 
         packages_binary = self.process_packages(binary, vars)
 
@@ -284,23 +283,23 @@
 
         if 'initramfs-tools' in config_entry.get('support', []):
             postinst = self.templates['postinst.initramfs-tools']
-            file("debian/firmware-%s.postinst" % package, 'w').write(self.substitute(postinst, vars))
+            codecs.open("debian/firmware-%s.postinst" % package, 'w', 'utf-8').write(self.substitute(postinst, vars))
 
         if 'license-accept' in config_entry:
-            license = file("%s/LICENSE.install" % package).read()
+            license = codecs.open("%s/LICENSE.install" % package, 'r', 'utf-8').read()
             preinst = self.templates['preinst.license']
             preinst_filename = "debian/firmware-%s.preinst" % package
-            file(preinst_filename, 'w').write(self.substitute(preinst, vars))
+            codecs.open(preinst_filename, 'w', 'utf-8').write(self.substitute(preinst, vars))
 
             templates = self.process_templates(self.templates['templates.license'], vars)
-            license_split = re.split(r'\n\s*\n', license)
+            license_split = re.split(ur'\n\s*\n', license)
             templates[0]['Description'].extend(license_split)
             templates_filename = "debian/firmware-%s.templates" % package
-            self.write_rfc822(file(templates_filename, 'w'), templates)
+            self.write_rfc822(codecs.open(templates_filename, 'w', 'utf-8'), templates)
 
             desc = packages_binary[0]['Description']
             desc.append(
-"""This firmware is covered by the %s.
+u"""This firmware is covered by the %s.
 You must agree to the terms of this license before it is installed."""
 % vars['license-title'])
             packages_binary[0]['Pre-Depends'] = PackageRelation('debconf | debconf-2.0')
@@ -334,25 +333,25 @@
                 return vars.get(match.group(2), '')
             else:
                 return vars[match.group(2)]
-        return re.sub(r'@(\??)([-_a-z]+)@', subst, s)
+        return re.sub(ur'@(\??)([-_a-z]+)@', subst, unicode(s))
 
     def write(self, packages, makefile):
         self.write_control(packages.itervalues())
         self.write_makefile(makefile)
 
     def write_control(self, list):
-        self.write_rfc822(file("debian/control", 'w'), list)
+        self.write_rfc822(codecs.open("debian/control", 'w', 'utf-8'), list)
 
     def write_makefile(self, makefile):
-        f = file("debian/rules.gen", 'w')
+        f = codecs.open("debian/rules.gen", 'w', 'utf-8')
         makefile.write(f)
         f.close()
 
     def write_rfc822(self, f, list):
         for entry in list:
             for key, value in entry.iteritems():
-                f.write("%s: %s\n" % (key, value))
-            f.write('\n')
+                f.write(u"%s: %s\n" % (key, value))
+            f.write(u'\n')
 
 class Config(dict):
     config_name = "defines"
@@ -395,4 +394,4 @@
             self[real] = s
 
 if __name__ == '__main__':
-    GenControl(sys.argv[1])()
+    GenControl()()

Modified: dists/trunk/firmware-nonfree/debian/rules
==============================================================================
--- dists/trunk/firmware-nonfree/debian/rules	Thu Jan 19 02:48:42 2012	(r18578)
+++ dists/trunk/firmware-nonfree/debian/rules	Thu Jan 19 03:24:10 2012	(r18579)
@@ -4,9 +4,46 @@
 CONTROL_FILES += debian/bin/gencontrol.py defines $(wildcard */defines) $(wildcard */copyright) $(wildcard */LICENSE*)
 
 include debian/rules.defs
-include /usr/src/linux-support-$(KERNELVERSION)/modules/rules.include
 
-GENCONTROL = debian/bin/gencontrol.py $(KERNELVERSION)
+GENCONTROL = debian/bin/gencontrol.py
+
+__BINNMU := $(shell dpkg-parsechangelog | sed -rne 's,^Version: .*\+b([0-9]+)$$,\1,p')
+
+build: debian/control
+
+clean: debian/control
+	dh_testdir
+	dh_clean
+
+binary-indep:
+	dh_testdir
+	$(MAKE) -f debian/rules.gen binary-indep
+
+binary-arch:
+
+binary:	binary-indep binary-arch
+
+debian/control debian/rules.gen: $(GENCONTROL) $(CONTROL_FILES)
+ifeq ($(wildcard debian/control.md5sum),)
+	$(MAKE) -f debian/rules debian/control-real
+else ifeq ($(__BINNMU),)
+	md5sum --check debian/control.md5sum --status || \
+		$(MAKE) -f debian/rules debian/control-real
+else
+	grep -v debian/changelog debian/control.md5sum | md5sum --check - --status || \
+		$(MAKE) -f debian/rules debian/control-real
+endif
+
+debian/control-real: $(GENCONTROL) $(CONTROL_FILES)
+	$(GENCONTROL) /usr/src/linux-support-$(KERNELVERSION)
+	md5sum $^ > debian/control.md5sum
+	@echo
+	@echo This target is made to fail intentionally, to make sure
+	@echo that it is NEVER run during the automated build. Please
+	@echo ignore the following error, the debian/control file has
+	@echo been generated SUCCESSFULLY.
+	@echo
+	exit 1
 
 maintainerclean:
 	-rm debian/control debian/control.md5sum debian/rules.gen
@@ -16,3 +53,5 @@
 	-rm debian/*.preinst
 	-rm debian/*.postinst
 	-rm debian/*.templates
+
+.PHONY: clean build binary-indep binary-arch binary

Modified: dists/trunk/firmware-nonfree/debian/rules.defs
==============================================================================
--- dists/trunk/firmware-nonfree/debian/rules.defs	Thu Jan 19 02:48:42 2012	(r18578)
+++ dists/trunk/firmware-nonfree/debian/rules.defs	Thu Jan 19 03:24:10 2012	(r18579)
@@ -1 +1 @@
-KERNELVERSION := 3.0.0-1
+KERNELVERSION := 3.2.0-1

Modified: dists/trunk/firmware-nonfree/debian/rules.real
==============================================================================
--- dists/trunk/firmware-nonfree/debian/rules.real	Thu Jan 19 02:48:42 2012	(r18578)
+++ dists/trunk/firmware-nonfree/debian/rules.real	Thu Jan 19 03:24:10 2012	(r18579)
@@ -5,9 +5,6 @@
 
 export DH_OPTIONS
 
-include debian/rules.defs
-include /usr/src/linux-support-$(KERNELVERSION)/modules/rules.real.include
-
 #
 # Targets
 #



More information about the Kernel-svn-changes mailing list