Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: pym/repoman/checks/ebuilds/variables/, pym/repoman/modules/scan/metadata/, ...
Date: Sun, 31 Jan 2016 20:03:35
Message-Id: 1454185506.3d9d113df9eae165c6b1ecaeda0601708ad8a8df.dolsen@gentoo
1 commit: 3d9d113df9eae165c6b1ecaeda0601708ad8a8df
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 3 17:36:26 2016 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 30 20:25:06 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=3d9d113d
7
8 repoman: Migrate DescriptionChecks to the plugin system
9
10 pym/repoman/modules/scan/metadata/__init__.py | 9 +++++++++
11 .../scan/metadata}/description.py | 20 ++++++++++++++------
12 pym/repoman/scanner.py | 5 +----
13 3 files changed, 24 insertions(+), 10 deletions(-)
14
15 diff --git a/pym/repoman/modules/scan/metadata/__init__.py b/pym/repoman/modules/scan/metadata/__init__.py
16 index bacedf5..83aac7f 100644
17 --- a/pym/repoman/modules/scan/metadata/__init__.py
18 +++ b/pym/repoman/modules/scan/metadata/__init__.py
19 @@ -28,6 +28,15 @@ module_spec = {
20 'func_desc': {
21 },
22 },
23 + 'description-metadata': {
24 + 'name': "description",
25 + 'sourcefile': "description",
26 + 'class': "DescriptionChecks",
27 + 'description': doc,
28 + 'functions': ['check'],
29 + 'func_desc': {
30 + },
31 + },
32 }
33 }
34
35
36 diff --git a/pym/repoman/checks/ebuilds/variables/description.py b/pym/repoman/modules/scan/metadata/description.py
37 similarity index 66%
38 rename from pym/repoman/checks/ebuilds/variables/description.py
39 rename to pym/repoman/modules/scan/metadata/description.py
40 index a2b1057..3570607 100644
41 --- a/pym/repoman/checks/ebuilds/variables/description.py
42 +++ b/pym/repoman/modules/scan/metadata/description.py
43 @@ -9,20 +9,19 @@ from repoman.qa_data import max_desc_len
44 class DescriptionChecks(object):
45 '''Perform checks on the DESCRIPTION variable.'''
46
47 - def __init__(self, qatracker):
48 + def __init__(self, **kwargs):
49 '''
50 @param qatracker: QATracker instance
51 '''
52 - self.qatracker = qatracker
53 + self.qatracker = kwargs.get('qatracker')
54
55 - def check(self, pkg, ebuild):
56 + def checkTooLong(self, **kwargs):
57 '''
58 @param pkg: Package in which we check (object).
59 @param ebuild: Ebuild which we check (object).
60 '''
61 - self._checkTooLong(pkg, ebuild)
62 -
63 - def _checkTooLong(self, pkg, ebuild):
64 + ebuild = kwargs.get('ebuild')
65 + pkg = kwargs.get('pkg')
66 # 14 is the length of DESCRIPTION=""
67 if len(pkg._metadata['DESCRIPTION']) > max_desc_len:
68 self.qatracker.add_error(
69 @@ -30,3 +29,12 @@ class DescriptionChecks(object):
70 "%s: DESCRIPTION is %d characters (max %d)" %
71 (ebuild.relative_path, len(
72 pkg._metadata['DESCRIPTION']), max_desc_len))
73 + return {'continue': False}
74 +
75 + @property
76 + def runInPkgs(self):
77 + return (False, [])
78 +
79 + @property
80 + def runInEbuilds(self):
81 + return (True, [self.checkTooLong])
82
83 diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
84 index 6321f0b..f4c21d0 100644
85 --- a/pym/repoman/scanner.py
86 +++ b/pym/repoman/scanner.py
87 @@ -21,7 +21,6 @@ from repoman.checks.ebuilds.checks import run_checks
88 from repoman.checks.ebuilds.eclasses.ruby import RubyEclassChecks
89 from repoman.check_missingslot import check_missingslot
90 from repoman.checks.ebuilds.use_flags import USEFlagChecks
91 -from repoman.checks.ebuilds.variables.description import DescriptionChecks
92 from repoman.checks.ebuilds.variables.license import LicenseChecks
93 from repoman.checks.ebuilds.variables.restrict import RestrictChecks
94 from repoman.modules.commit import repochecks
95 @@ -219,7 +218,6 @@ class Scanner(object):
96 # initialize our checks classes here before the big xpkg loop
97 self.use_flag_checks = USEFlagChecks(self.qatracker, uselist)
98 self.rubyeclasscheck = RubyEclassChecks(self.qatracker)
99 - self.descriptioncheck = DescriptionChecks(self.qatracker)
100 self.licensecheck = LicenseChecks(self.qatracker, liclist, liclist_deprecated)
101 self.restrictcheck = RestrictChecks(self.qatracker)
102
103 @@ -304,6 +302,7 @@ class Scanner(object):
104 for mod in [('ebuild', 'Ebuild'), ('live', 'LiveEclassChecks'),
105 ('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
106 ('thirdpartymirrors', 'ThirdPartyMirrors'),
107 + ('description', 'DescriptionChecks'),
108 ]:
109 if mod[0]:
110 mod_class = MODULE_CONTROLLER.get_class(mod[0])
111 @@ -350,8 +349,6 @@ class Scanner(object):
112 myqakey = var + ".virtual"
113 self.qatracker.add_error(myqakey, dynamic_data['ebuild'].relative_path)
114
115 - self.descriptioncheck.check(dynamic_data['pkg'], dynamic_data['ebuild'])
116 -
117 if dynamic_data['live_ebuild'] and self.repo_settings.repo_config.name == "gentoo":
118 self.liveeclasscheck.check(
119 dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, dynamic_data['ebuild'].keywords, self.repo_metadata['pmaskdict'])