commit: f335aff77270fc4d7f09ccd5728b7cc770d5a64a Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> AuthorDate: Sun Jan 3 21:01:10 2016 +0000 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> CommitDate: Wed Jan 6 04:08:22 2016 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=f335aff7
repoman: Complete USE flag checks migration to the plugin pym/repoman/modules/scan/use/use_flags.py | 20 +++++++++++++++----- pym/repoman/scanner.py | 11 +++-------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/pym/repoman/modules/scan/use/use_flags.py b/pym/repoman/modules/scan/use/use_flags.py index c937001..df83c1b 100644 --- a/pym/repoman/modules/scan/use/use_flags.py +++ b/pym/repoman/modules/scan/use/use_flags.py @@ -25,7 +25,7 @@ class USEFlagChecks(object): self.defaultUseFlags = [] self.usedUseFlags = set() - def check(self, pkg, package, ebuild, y_ebuild, localUseFlags): + def check(self, **kwargs): '''Perform the check. @param pkg: Package in which we check (object). @@ -34,6 +34,11 @@ class USEFlagChecks(object): @param y_ebuild: Ebuild which we check (string). @param localUseFlags: Local USE flags of the package ''' + pkg = kwargs.get('pkg') + package = kwargs.get('xpkg') + ebuild = kwargs.get('ebuild') + y_ebuild = kwargs.get('y_ebuild') + localUseFlags = kwargs.get('muselist') # reset state variables for the run self.useFlags = [] self.defaultUseFlags = [] @@ -41,10 +46,7 @@ class USEFlagChecks(object): self._checkGlobal(pkg) self._checkMetadata(package, ebuild, y_ebuild, localUseFlags) self._checkRequiredUSE(pkg, ebuild) - - def getUsedUseFlags(self): - '''Get the USE flags that this check has seen''' - return self.usedUseFlags + return {'continue': False, 'ebuild_UsedUseFlags': self.usedUseFlags} def _checkGlobal(self, pkg): for myflag in pkg._metadata["IUSE"].split(): @@ -88,3 +90,11 @@ class USEFlagChecks(object): "REQUIRED_USE.syntax", "%s: REQUIRED_USE: %s" % (ebuild.relative_path, e)) del e + + @property + def runInPkgs(self): + return (False, []) + + @property + def runInEbuilds(self): + return (True, [self.check]) diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py index 4b0b251..66aa3fd 100644 --- a/pym/repoman/scanner.py +++ b/pym/repoman/scanner.py @@ -275,7 +275,7 @@ class Scanner(object): if self.checks['changelog'] and "ChangeLog" not in checkdirlist: self.qatracker.add_error("changelog.missing", xpkg + "/ChangeLog") - self.muselist = frozenset(self.modules['PkgMetadata'].musedict) + dynamic_data['muselist'] = frozenset(self.modules['PkgMetadata'].musedict) changelog_path = os.path.join(checkdir_relative, "ChangeLog") self.changelog_modified = changelog_path in self.changed.changelogs @@ -300,6 +300,7 @@ class Scanner(object): ('thirdpartymirrors', 'ThirdPartyMirrors'), ('description', 'DescriptionChecks'), (None, 'KeywordChecks'), ('arches', 'ArchChecks'), ('depend', 'DependChecks'), + ('use_flags', 'USEFlagChecks'), ]: if mod[0]: mod_class = MODULE_CONTROLLER.get_class(mod[0]) @@ -341,12 +342,6 @@ class Scanner(object): badlicsyntax = badlicsyntax > 0 badprovsyntax = badprovsyntax > 0 - self.modules['USEFlagChecks'] = MODULE_CONTROLLER.get_class('use_flags')(**self.kwargs) - self.modules['USEFlagChecks'].check(dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, self.muselist) - - ebuild_used_useflags = self.modules['USEFlagChecks'].getUsedUseFlags() - used_useflags = used_useflags.union(ebuild_used_useflags) - self.rubyeclasscheck = MODULE_CONTROLLER.get_class('ruby')(**self.kwargs) self.rubyeclasscheck.check(dynamic_data['pkg'], dynamic_data['ebuild']) @@ -560,7 +555,7 @@ class Scanner(object): # check if there are unused local USE-descriptions in metadata.xml # (unless there are any invalids, to avoid noise) if dynamic_data['allvalid']: - for myflag in self.muselist.difference(used_useflags): + for myflag in dynamic_data['muselist'].difference(used_useflags): self.qatracker.add_error( "metadata.warning", "%s/metadata.xml: unused local USE-description: '%s'"