[kernel] r5193 - people/waldi/linux-2.6/debian/bin

Bastian Blank waldi at costa.debian.org
Tue Jan 3 14:41:54 UTC 2006


Author: waldi
Date: Tue Jan  3 14:41:53 2006
New Revision: 5193

Modified:
   people/waldi/linux-2.6/debian/bin/apply.py
Log:
debian/bin/apply.py
- Remove extra version handling from series class.
- Add check for extra version in patch setup.


Modified: people/waldi/linux-2.6/debian/bin/apply.py
==============================================================================
--- people/waldi/linux-2.6/debian/bin/apply.py	(original)
+++ people/waldi/linux-2.6/debian/bin/apply.py	Tue Jan  3 14:41:53 2006
@@ -51,31 +51,18 @@
                     raise RuntimeError, "Patch per flavour is not supported currently"
                 add[s] = True
 
-            self.append((operation, patch, patchinfo, add))
+            self.append((operation, patch, patchinfo))
 
     def __repr__(self):
         return '<%s object for %s>' % (self.__class__.__name__, self.name)
 
-    def _check_extra(self, add, options):
-        if not add:
-            return True
-        i = []
-        if options.arch is not None:
-            i.append(options.arch)
-        if options.subarch is not None:
-            i.append(options.subarch)
-        if add.has_key(tuple(i)):
-            return True
-        return False
-
-    def apply(self, options):
-        for operation, patch, patchinfo, extra in self:
-            if not self._check_extra(extra, options):
+    def apply(self):
+        for operation, patch, patchinfo in self:
+            if operation == '.':
                 print """\
   (.) IGNORED   %s\
 """ % patch
-                continue
-            if operation == '+':
+            elif operation == '+':
                 self.patch_apply(patch, patchinfo)
             elif operation == '-':
                 self.patch_deapply(patch, patchinf)
@@ -86,14 +73,13 @@
 """ % patch
         print "--> %s fully applied." % self.name
 
-    def deapply(self, options):
-        for operation, patch, patchinfo, extra in self[::-1]:
-            if not self._check_extra(extra, options):
+    def deapply(self):
+        for operation, patch, patchinfo in self[::-1]:
+            if operation == '.':
                 print """\
   (.) IGNORED   %s\
 """ % patch
-                continue
-            if operation == '+':
+            elif operation == '+':
                 self.patch_deapply(patch, patchinfo)
             elif operation == '-':
                 self.patch_apply(patch, patchinfo)
@@ -155,6 +141,9 @@
 
         return ret
 
+class series_extra(series):
+    pass
+
 class version(object):
     __slots__ = "upstream", "revision"
 
@@ -235,13 +224,19 @@
     else:
         vfile = version_file(source)
     current = vfile.version
+    current_extra = vfile.extra
+
+    target_extra = []
+    if options.arch: target_extra.append(options.arch)
+    if options.subarch: target_extra.append(options.subarch)
+    target_extra = tuple(target_extra)
 
     if current.revision not in revisions:
         raise RuntimeError, "Current revision is not in our list of revisions"
     if target.revision not in revisions:
         raise RuntimeError, "Target revision is not in our list of revisions"
 
-    if current.revision == target.revision:
+    if current.revision == target.revision and current_extra == target_extra:
         print "Nothing to do"
         return
 
@@ -253,7 +248,7 @@
         s = series.read_all(consider, home)
         vfile.begin()
         for i in s:
-            i.apply(options)
+            i.apply()
         vfile.version = target
         vfile.commit()
     elif current_index > target_index:
@@ -261,7 +256,7 @@
         s = series.read_all(consider, home)
         vfile.begin()
         for i in s:
-            i.deapply(options)
+            i.deapply()
         vfile.version = target
         vfile.commit()
 



More information about the Kernel-svn-changes mailing list