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'"

Reply via email to