[kernel] r12492 - in dists/sid/linux-2.6/debian: bin lib/python/debian_linux

Bastian Blank waldi at alioth.debian.org
Wed Dec 10 12:14:38 UTC 2008


Author: waldi
Date: Wed Dec 10 12:14:37 2008
New Revision: 12492

Log:
* debian/bin/gencontrol.py: Use all description parts.
* debian/lib/python/debian_linux/config.py:
  Support merge for config entries using lists..


Modified:
   dists/sid/linux-2.6/debian/bin/gencontrol.py
   dists/sid/linux-2.6/debian/lib/python/debian_linux/config.py

Modified: dists/sid/linux-2.6/debian/bin/gencontrol.py
==============================================================================
--- dists/sid/linux-2.6/debian/bin/gencontrol.py	(original)
+++ dists/sid/linux-2.6/debian/bin/gencontrol.py	Wed Dec 10 12:14:37 2008
@@ -144,10 +144,10 @@
                     image_fields['Conflicts'].append(PackageRelationGroup([a]))
             image_fields['Depends'].append(l_depends)
 
-        if 'desc-parts' in config_entry_image:
+        desc_parts = self.config.get_merge('image', arch, featureset, flavour, 'desc-parts')
+        if desc_parts:
             desc = image_fields['Description']
-            parts = config_entry_image['desc-parts']
-            for part in parts:
+            for part in desc_parts[::-1]:
                 desc.append(config_entry_image['desc-long-part-' + part])
                 desc.append_short(config_entry_image.get('desc-short-part-' + part, ''))
 

Modified: dists/sid/linux-2.6/debian/lib/python/debian_linux/config.py
==============================================================================
--- dists/sid/linux-2.6/debian/lib/python/debian_linux/config.py	(original)
+++ dists/sid/linux-2.6/debian/lib/python/debian_linux/config.py	Wed Dec 10 12:14:37 2008
@@ -26,6 +26,35 @@
         return [j.strip() for j in re.split(self.type, i)]
 
 class ConfigCore(dict):
+    def get_merge(self, section, arch, featureset, flavour, key, default=None):
+        temp = []
+
+        if arch and featureset and flavour:
+            temp.append(self.get((section, arch, featureset, flavour), {}).get(key))
+            temp.append(self.get((section, arch, None, flavour), {}).get(key))
+        if arch and featureset:
+            temp.append(self.get((section, arch, featureset), {}).get(key))
+        if arch:
+            temp.append(self.get((section, arch), {}).get(key))
+        if featureset:
+            temp.append(self.get((section, None, featureset), {}).get(key))
+        temp.append(self.get((section,), {}).get(key))
+
+        ret = []
+
+        for i in temp:
+            if i is None:
+                continue
+            elif isinstance(i, (list, tuple)):
+                ret.extend(i)
+            elif ret:
+                # TODO
+                return ret
+            else:
+                return i
+
+        return ret or default
+
     def merge(self, section, arch = None, featureset = None, flavour = None):
         ret = {}
         ret.update(self.get((section,), {}))



More information about the Kernel-svn-changes mailing list