[kernel] r15913 - dists/sid/linux-2.6/debian/bin
Bastian Blank
waldi at alioth.debian.org
Sun Jun 27 13:32:06 UTC 2010
Author: waldi
Date: Sun Jun 27 13:31:54 2010
New Revision: 15913
Log:
debian/bin/buildcheck.py
- Use stricter pattern patch.
- Support pattern for module matches.
Modified:
dists/sid/linux-2.6/debian/bin/buildcheck.py
Modified: dists/sid/linux-2.6/debian/bin/buildcheck.py
==============================================================================
--- dists/sid/linux-2.6/debian/bin/buildcheck.py Sun Jun 27 01:02:45 2010 (r15912)
+++ dists/sid/linux-2.6/debian/bin/buildcheck.py Sun Jun 27 13:31:54 2010 (r15913)
@@ -17,6 +17,14 @@
self.symbol = symbol
self.symbol_ref = symbol_ref or symbol
+ @property
+ def module(self):
+ return self.symbol.module
+
+ @property
+ def name(self):
+ return self.symbol.name
+
def write(self, out, ignored):
info = []
if ignored:
@@ -116,6 +124,17 @@
return symbols, add, change, remove
+ def _ignore_pattern(self, pattern):
+ ret = []
+ for i in re.split(r'(\*\*?)', pattern):
+ if i == '*':
+ ret.append(r'[^!]+')
+ elif i == '**':
+ ret.append(r'.+')
+ elif i:
+ ret.append(re.escape(i))
+ return re.compile('^' + ''.join(ret) + '$')
+
def _ignore(self, symbols):
# TODO: let config merge this lists
configs = []
@@ -132,18 +151,17 @@
filtered = set()
for ignore in ignores:
- type = 'symbolmatch'
+ type = 'name'
if ':' in ignore:
type, ignore = ignore.split(':')
- if type == 'symbolmatch':
- filtered.update(fnmatch.filter(symbols.iterkeys(), ignore))
- elif type == 'module':
+ if type in ('name', 'module'):
+ p = self._ignore_pattern(ignore)
for symbol in symbols.itervalues():
- symbol = symbol.symbol
- if symbol.module == ignore:
+ if p.match(getattr(symbol, type)):
filtered.add(symbol.name)
else:
raise NotImplementedError
+
return filtered
More information about the Kernel-svn-changes
mailing list