From: Zac Medico Date: Tue, 23 Oct 2007 00:27:33 +0000 (-0000) Subject: Bug #196652 - Check for useless ABOUT-NLS|COPYING|LICENSE X-Git-Tag: v2.2_pre1~555 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=aeded62f174cf81546dce548b89c58d356dd7bb0;p=portage.git Bug #196652 - Check for useless ABOUT-NLS|COPYING|LICENSE files in dodoc arguments. svn path=/main/trunk/; revision=8236 --- diff --git a/bin/repoman b/bin/repoman index c133eb02d..01a7f61bb 100755 --- a/bin/repoman +++ b/bin/repoman @@ -51,12 +51,12 @@ del os.environ["PORTAGE_LEGACY_GLOBALS"] 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 @@ -1382,7 +1382,8 @@ for x in scanlist: 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: diff --git a/pym/repoman/checks.py b/pym/repoman/checks.py index d956b83f8..93c3222b3 100644 --- a/pym/repoman/checks.py +++ b/pym/repoman/checks.py @@ -224,3 +224,22 @@ class EbuildNestedDie(ContentCheck): 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