[kernel-sec-discuss] r1655 - scripts

Michael Gilbert gilbert-guest at alioth.debian.org
Fri Dec 18 04:57:39 UTC 2009


Author: gilbert-guest
Date: 2009-12-18 04:57:39 +0000 (Fri, 18 Dec 2009)
New Revision: 1655

Modified:
   scripts/find-commit
Log:
don't search the same file more than once and reverse file order so
newest kernel versions are search first

Modified: scripts/find-commit
===================================================================
--- scripts/find-commit	2009-12-17 17:58:50 UTC (rev 1654)
+++ scripts/find-commit	2009-12-18 04:57:39 UTC (rev 1655)
@@ -74,7 +74,6 @@
 pipe.close()
 
 # generate changelog+diff files
-fnames = []
 lastversion = ''
 ismainline = True
 rootname = 'changelog+diff'
@@ -89,7 +88,6 @@
 	    if onlyrc and ( lastversion.find( '-rc' ) < 0 ):
                 break
 	    elif ( int( version.split( '.' )[2].split( '-' )[0] ) >= oldest_version ):
-	        fnames.append( fname )
 	        if not os.path.exists( fname ):
 	            tmpname = tempfile.mkstemp()[1]
 	            sys.stdout.write( 'generating: %s\n' % fname )
@@ -103,25 +101,28 @@
 	lastversion = version
 
 # search thru the generated files for text of interest
+lastfname = ''
 foundtext = False
-pipe = os.popen( 'grep %s %s*' % ( sys.argv[1] , rootname ) )
+pipe = os.popen( 'grep \'%s\' $(ls -r %s*)' % ( sys.argv[1] , rootname ) )
 pline = pipe.readline()
 while pline:
     fname = pline.split( ':' )[0]
-    fread = open( fname , 'r' )
-    line = fread.readline()
-    while line:
-	if line.startswith( 'commit' ):
-	    if foundtext:
-		sys.stdout.write( 'found search text \'%s\' in release %s:\n' % ( sys.argv[1] , fname[len( rootname )+1::] ) )
-                sys.stdout.write( commit )
-		foundtext = False
-	    commit = '| %s' % line
-	else:
-	    commit += '| %s' % line
-        if ( line.find( sys.argv[1] ) >= 0 ):
-            foundtext = True
-	line = fread.readline()
-    fread.close()
+    if fname != lastfname:
+        fread = open( fname , 'r' )
+        line = fread.readline()
+        while line:
+            if line.startswith( 'commit' ):
+	        if foundtext:
+		    sys.stdout.write( 'found search text \'%s\' in release %s:\n' % ( sys.argv[1] , fname[len( rootname )+1::] ) )
+                    sys.stdout.write( commit )
+		    foundtext = False
+	        commit = '| %s' % line
+            else:
+	        commit += '| %s' % line
+            if ( line.find( sys.argv[1] ) >= 0 ):
+                foundtext = True
+	    line = fread.readline()
+        fread.close()
+    lastfname = fname
     pline = pipe.readline()
 pipe.close()




More information about the kernel-sec-discuss mailing list