Gentoo Archives: gentoo-commits

From: Brian Dolbec <brian.dolbec@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: pym/repoman/, pym/repoman/vcs/, pym/repoman/checks/ebuilds/
Date: Wed, 01 Oct 2014 23:46:40
Message-Id: 1412207133.03094ff0f3d6b20d97d7ac48ecd4f2f70868b7f3.dol-sen@gentoo
1 commit: 03094ff0f3d6b20d97d7ac48ecd4f2f70868b7f3
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 3 05:38:19 2014 +0000
4 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
5 CommitDate: Wed Oct 1 23:45:33 2014 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=03094ff0
7
8 Repoman: Create repoman/_portage.py to centrally import portage for all modules
9
10 This prevents repository errors when running repoman on non repos.conf repositories.
11 For some reason submodule imports of portage did not contain the repo being scanned.
12 checks.py: sort the imports.
13 argparser.py: fix a lack of a newline at the end of the file.
14
15 ---
16 pym/repoman/_portage.py | 26 +++++++++++++++++++++++++
17 pym/repoman/_subprocess.py | 4 +++-
18 pym/repoman/_xml.py | 4 +++-
19 pym/repoman/argparser.py | 8 ++++++--
20 pym/repoman/checks/ebuilds/checks.py | 8 ++++++--
21 pym/repoman/checks/ebuilds/fetches.py | 4 +++-
22 pym/repoman/checks/ebuilds/isebuild.py | 4 +++-
23 pym/repoman/checks/ebuilds/manifests.py | 10 ++++++----
24 pym/repoman/checks/ebuilds/misc.py | 3 ++-
25 pym/repoman/checks/ebuilds/pkgmetadata.py | 4 +++-
26 pym/repoman/checks/ebuilds/thirdpartymirrors.py | 3 ++-
27 pym/repoman/main.py | 12 ++++++++----
28 pym/repoman/metadata.py | 4 +++-
29 pym/repoman/qa_data.py | 5 ++++-
30 pym/repoman/repos.py | 4 +++-
31 pym/repoman/utilities.py | 4 +++-
32 pym/repoman/vcs/vcsstatus.py | 4 +++-
33 17 files changed, 87 insertions(+), 24 deletions(-)
34
35 diff --git a/pym/repoman/_portage.py b/pym/repoman/_portage.py
36 new file mode 100644
37 index 0000000..e72ce9f
38 --- /dev/null
39 +++ b/pym/repoman/_portage.py
40 @@ -0,0 +1,26 @@
41 +
42 +'''repoman/_portage.py
43 +Central location for the portage import.
44 +There were problems when portage was imported by submodules
45 +due to the portage instance was somehow different that the
46 +initial portage import in main.py. The later portage imports
47 +did not contain the repo it was working on. That repo was my cvs tree
48 +and not listed in those subsequent portage imports.
49 +
50 +All modules should import portage from this one
51 +
52 +from repoman._portage import portage
53 +
54 +Then continue to import the remaining portage modules needed
55 +'''
56 +
57 +import sys
58 +
59 +from os import path as osp
60 +pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))))
61 +sys.path.insert(0, pym_path)
62 +
63 +import portage
64 +portage._internal_caller = True
65 +portage._disable_legacy_globals()
66 +
67
68 diff --git a/pym/repoman/_subprocess.py b/pym/repoman/_subprocess.py
69 index 3a404ce..5449e64 100644
70 --- a/pym/repoman/_subprocess.py
71 +++ b/pym/repoman/_subprocess.py
72 @@ -4,7 +4,9 @@ import codecs
73 import subprocess
74 import sys
75
76 -import portage
77 +# import our initialized portage instance
78 +from repoman._portage import portage
79 +
80 from portage import os
81 from portage.process import find_binary
82 from portage import _encodings, _unicode_encode
83
84 diff --git a/pym/repoman/_xml.py b/pym/repoman/_xml.py
85 index 513b62a..1871875 100644
86 --- a/pym/repoman/_xml.py
87 +++ b/pym/repoman/_xml.py
88 @@ -2,7 +2,9 @@
89 import sys
90 import xml
91
92 -import portage
93 +# import our initialized portage instance
94 +from repoman._portage import portage
95 +
96 from portage import os
97 from portage.output import red
98 from portage.process import find_binary
99
100 diff --git a/pym/repoman/argparser.py b/pym/repoman/argparser.py
101 index 393d755..1b2fe6b 100644
102 --- a/pym/repoman/argparser.py
103 +++ b/pym/repoman/argparser.py
104 @@ -5,11 +5,15 @@
105 """This module contains functions used in Repoman to parse CLI arguments."""
106
107 import logging
108 -import portage
109 import sys
110 +
111 +# import our initialized portage instance
112 +from repoman._portage import portage
113 +
114 from portage import util
115 from portage.util._argparse import ArgumentParser
116
117 +
118 def parse_args(argv, qahelp, repoman_default_opts):
119 """Use a customized optionParser to parse command line arguments for repoman
120 Args:
121 @@ -206,4 +210,4 @@ def parse_args(argv, qahelp, repoman_default_opts):
122 opts.without_mask = False
123 logging.warn('Commit mode automatically disables --without-mask')
124
125 - return (opts, args)
126 \ No newline at end of file
127 + return (opts, args)
128
129 diff --git a/pym/repoman/checks/ebuilds/checks.py b/pym/repoman/checks/ebuilds/checks.py
130 index 41ddbbb..890cd18 100644
131 --- a/pym/repoman/checks/ebuilds/checks.py
132 +++ b/pym/repoman/checks/ebuilds/checks.py
133 @@ -11,13 +11,17 @@ import codecs
134 from itertools import chain
135 import re
136 import time
137 -import repoman.checks.ebuilds.errors as errors
138 -import portage
139 +
140 +# import our initialized portage instance
141 +from repoman._portage import portage
142 +
143 from portage.eapi import (
144 eapi_supports_prefix, eapi_has_implicit_rdepend,
145 eapi_has_src_prepare_and_src_configure, eapi_has_dosed_dohard,
146 eapi_exports_AA, eapi_has_pkg_pretend)
147
148 +import repoman.checks.ebuilds.errors as errors
149 +
150
151 class LineCheck(object):
152 """Run a check on a line of an ebuild."""
153
154 diff --git a/pym/repoman/checks/ebuilds/fetches.py b/pym/repoman/checks/ebuilds/fetches.py
155 index ccf9ff9..22e89b6 100644
156 --- a/pym/repoman/checks/ebuilds/fetches.py
157 +++ b/pym/repoman/checks/ebuilds/fetches.py
158 @@ -5,7 +5,9 @@ Performs the src_uri fetchlist and files checks
159
160 from stat import S_ISDIR
161
162 -import portage
163 +# import our initialized portage instance
164 +from repoman._portage import portage
165 +
166 from portage import os
167
168 from repoman.vcs.vcs import vcs_new_changed
169
170 diff --git a/pym/repoman/checks/ebuilds/isebuild.py b/pym/repoman/checks/ebuilds/isebuild.py
171 index 2369ea6..065914e 100644
172 --- a/pym/repoman/checks/ebuilds/isebuild.py
173 +++ b/pym/repoman/checks/ebuilds/isebuild.py
174 @@ -4,7 +4,9 @@ import stat
175 from _emerge.Package import Package
176 from _emerge.RootConfig import RootConfig
177
178 -import portage
179 +# import our initialized portage instance
180 +from repoman._portage import portage
181 +
182 from portage import os
183
184 from repoman.qa_data import no_exec, allvars
185
186 diff --git a/pym/repoman/checks/ebuilds/manifests.py b/pym/repoman/checks/ebuilds/manifests.py
187 index fb08c5e..1d65e1d 100644
188 --- a/pym/repoman/checks/ebuilds/manifests.py
189 +++ b/pym/repoman/checks/ebuilds/manifests.py
190 @@ -2,7 +2,9 @@
191 import logging
192 import sys
193
194 -import portage
195 +# import our initialized portage instance
196 +from repoman._portage import portage
197 +
198 from portage import os
199 from portage.package.ebuild.digestgen import digestgen
200 from portage.util import writemsg_level
201 @@ -11,17 +13,17 @@ from portage.util import writemsg_level
202 class Manifests(object):
203
204
205 - def __init__(self, options, qatracker, repoman_settings):
206 + def __init__(self, options, qatracker=None, repoman_settings=None):
207 self.options = options
208 self.qatracker = qatracker
209 self.repoman_settings = repoman_settings
210 -
211 - self.digest_only = options.mode != 'manifest-check' and options.digest == 'y'
212 self.generated_manifest = False
213
214
215 def run(self, checkdir, portdb):
216 self.generated_manifest = False
217 + self.digest_only = self.options.mode != 'manifest-check' \
218 + and self.options.digest == 'y'
219 if self.options.pretend:
220 return False
221 if self.options.mode in ("manifest", 'commit', 'fix') or self.digest_only:
222
223 diff --git a/pym/repoman/checks/ebuilds/misc.py b/pym/repoman/checks/ebuilds/misc.py
224 index c1edd2c..3bf61f0 100644
225 --- a/pym/repoman/checks/ebuilds/misc.py
226 +++ b/pym/repoman/checks/ebuilds/misc.py
227 @@ -4,7 +4,8 @@ Miscelaneous ebuild check functions'''
228
229 import re
230
231 -import portage
232 +# import our initialized portage instance
233 +from repoman._portage import portage
234
235
236 pv_toolong_re = re.compile(r'[0-9]{19,}')
237
238 diff --git a/pym/repoman/checks/ebuilds/pkgmetadata.py b/pym/repoman/checks/ebuilds/pkgmetadata.py
239 index d40691d..0778696 100644
240 --- a/pym/repoman/checks/ebuilds/pkgmetadata.py
241 +++ b/pym/repoman/checks/ebuilds/pkgmetadata.py
242 @@ -20,7 +20,9 @@ except (ImportError, SystemError, RuntimeError, Exception):
243 out.eerror(line)
244 sys.exit(1)
245
246 -import portage
247 +# import our initialized portage instance
248 +from repoman._portage import portage
249 +
250 from portage.exception import InvalidAtom
251 from portage import os
252 from portage import _encodings, _unicode_encode
253
254 diff --git a/pym/repoman/checks/ebuilds/thirdpartymirrors.py b/pym/repoman/checks/ebuilds/thirdpartymirrors.py
255 index f867c19..50a0da8 100644
256 --- a/pym/repoman/checks/ebuilds/thirdpartymirrors.py
257 +++ b/pym/repoman/checks/ebuilds/thirdpartymirrors.py
258 @@ -1,5 +1,6 @@
259
260 -import portage
261 +# import our initialized portage instance
262 +from repoman._portage import portage
263
264
265 class ThirdPartyMirrors(object):
266
267 diff --git a/pym/repoman/main.py b/pym/repoman/main.py
268 index d567f94..fcd4c19 100755
269 --- a/pym/repoman/main.py
270 +++ b/pym/repoman/main.py
271 @@ -21,7 +21,8 @@ from os import path as osp
272 if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), ".portage_not_installed")):
273 pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__)))) #, "pym")
274 sys.path.insert(0, pym_path)
275 -import portage
276 +# import our centrally initialized portage instance
277 +from repoman._portage import portage
278 portage._internal_caller = True
279 portage._disable_legacy_globals()
280
281 @@ -115,12 +116,15 @@ if options.experimental_inherit == 'y':
282 can_force = True
283
284 portdir, portdir_overlay, mydir = utilities.FindPortdir(repoman_settings)
285 +print("portdir", portdir)
286 +print("portdir_overlay", portdir_overlay)
287 +print("mydir", mydir)
288 if portdir is None:
289 sys.exit(1)
290
291 myreporoot = os.path.basename(portdir_overlay)
292 myreporoot += mydir[len(portdir_overlay):]
293 -
294 +print("myreporoot", myreporoot)
295 ##################
296
297 vcs_settings = VCSSettings(options, repoman_settings)
298 @@ -283,12 +287,12 @@ for xpkg in effective_scanlist:
299 checkdir_relative = os.path.join(catdir, checkdir_relative)
300 checkdir_relative = os.path.join(".", checkdir_relative)
301
302 -#####################
303 +#####################^^^^^^^^^^^^^^
304 manifester = Manifests(options, qatracker, repoman_settings)
305 if manifester.run(checkdir, portdb):
306 continue
307 if not manifester.generated_manifest:
308 - manifester.digest_check(xpkg, checkdir)
309 + manifester.digest_check(xpkg, checkdir)
310 ######################
311
312 if options.mode == 'manifest-check':
313
314 diff --git a/pym/repoman/metadata.py b/pym/repoman/metadata.py
315 index b4950ad..059b0af 100644
316 --- a/pym/repoman/metadata.py
317 +++ b/pym/repoman/metadata.py
318 @@ -11,7 +11,9 @@ except ImportError:
319 from urlparse import urlparse
320
321
322 -import portage
323 +# import our initialized portage instance
324 +from repoman._portage import portage
325 +
326 from portage import exception
327 from portage import os
328 from portage.output import green
329
330 diff --git a/pym/repoman/qa_data.py b/pym/repoman/qa_data.py
331 index 5e39e29..4b62b5d 100644
332 --- a/pym/repoman/qa_data.py
333 +++ b/pym/repoman/qa_data.py
334 @@ -2,7 +2,10 @@
335 import logging
336
337 from _emerge.Package import Package
338 -import portage
339 +
340 +# import our initialized portage instance
341 +from repoman._portage import portage
342 +
343
344
345 # 14 is the length of DESCRIPTION=""
346
347 diff --git a/pym/repoman/repos.py b/pym/repoman/repos.py
348 index 16de8bf..b79e241 100644
349 --- a/pym/repoman/repos.py
350 +++ b/pym/repoman/repos.py
351 @@ -6,7 +6,9 @@ import re
352 import sys
353 import textwrap
354
355 -import portage
356 +# import our initialized portage instance
357 +from repoman._portage import portage
358 +
359 from portage import os
360 from portage import _encodings
361 from portage import _unicode_encode
362
363 diff --git a/pym/repoman/utilities.py b/pym/repoman/utilities.py
364 index 7274d13..b7b3945 100644
365 --- a/pym/repoman/utilities.py
366 +++ b/pym/repoman/utilities.py
367 @@ -31,7 +31,9 @@ import textwrap
368 import difflib
369 from tempfile import mkstemp
370
371 -import portage
372 +# import our initialized portage instance
373 +from repoman._portage import portage
374 +
375 from portage import os
376 from portage import shutil
377 from portage import _encodings
378
379 diff --git a/pym/repoman/vcs/vcsstatus.py b/pym/repoman/vcs/vcsstatus.py
380 index f984832..6a81b1b 100644
381 --- a/pym/repoman/vcs/vcsstatus.py
382 +++ b/pym/repoman/vcs/vcsstatus.py
383 @@ -1,6 +1,8 @@
384
385
386 -import portage
387 +# import our initialized portage instance
388 +from repoman._portage import portage
389 +
390 from portage import os
391
392 from repoman._subprocess import repoman_popen