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