try:
from repoman.checks import EbuildWhitespace, EbuildHeader, EbuildQuote, \
- EbuildAssignment, EbuildNestedDie
+ EbuildAssignment, EbuildNestedDie, EbuildUselessDodoc
except ImportError:
from os import path as osp
sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 'pym'))
from repoman.checks import EbuildWhitespace, EbuildHeader, EbuildQuote, \
- EbuildAssignment, EbuildNestedDie
+ EbuildAssignment, EbuildNestedDie, EbuildUselessDodoc
import portage.checksum
import portage.const
path = checkdir + '/' + y + '.ebuild'
myear = time.gmtime(os.stat(path)[ST_MTIME])[0]
contents = StringIO.StringIO(open(path, 'rb').read())
- for check in (EbuildWhitespace, EbuildQuote, EbuildAssignment):
+ for check in (EbuildWhitespace, EbuildQuote,
+ EbuildAssignment, EbuildUselessDodoc):
c = check(contents)
errors = c.Run()
for e in errors:
if match:
errors.append((num + 1, NESTED_DIE_ERROR))
return errors
+
+class EbuildUselessDodoc(ContentCheck):
+ """Check ebuild for useless files in dodoc arguments."""
+ repoman_check_name = 'ebuild.minorsyn'
+ uselessdodoc_re = re.compile(
+ r'^\s*dodoc(\s+|\s+.*\s+)(ABOUT-NLS|COPYING|LICENSE)($|\s)')
+
+ def __init__(self, contents):
+ ContentCheck.__init__(self, contents)
+
+ def Run(self):
+ errors = []
+ uselessdodoc_re = self.uselessdodoc_re
+ for num, line in enumerate(self.contents):
+ match = uselessdodoc_re.match(line)
+ if match:
+ errors.append((num + 1, "Useless dodoc '%s'" % \
+ (match.group(2), ) + " on line: %d"))
+ return errors