Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoolkit:master commit in: pym/gentoolkit/revdep_rebuild/
Date: Mon, 19 Aug 2019 03:41:25
Message-Id: 1566186003.1bc0206dc67c40cabdef63dd18ec3fe499c4e6eb.zmedico@gentoo
1 commit: 1bc0206dc67c40cabdef63dd18ec3fe499c4e6eb
2 Author: cvkbtzx <cvkbtzx <AT> users <DOT> noreply <DOT> github <DOT> com>
3 AuthorDate: Sun Sep 16 13:51:04 2018 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 19 03:40:03 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=1bc0206d
7
8 revdep-rebuild: Fix pass_through_options to handle args containing spaces
9
10 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
11
12 pym/gentoolkit/revdep_rebuild/rebuild.py | 21 ++++++++++-----------
13 pym/gentoolkit/revdep_rebuild/settings.py | 4 ++--
14 2 files changed, 12 insertions(+), 13 deletions(-)
15
16 diff --git a/pym/gentoolkit/revdep_rebuild/rebuild.py b/pym/gentoolkit/revdep_rebuild/rebuild.py
17 index 5408298..3f152e7 100644
18 --- a/pym/gentoolkit/revdep_rebuild/rebuild.py
19 +++ b/pym/gentoolkit/revdep_rebuild/rebuild.py
20 @@ -65,34 +65,33 @@ def init_logger(settings):
21 def rebuild(logger, assigned, settings):
22 """rebuilds the assigned pkgs"""
23
24 - args = settings['pass_through_options']
25 + args = list(settings['pass_through_options'])
26 if settings['EXACT']:
27 _assigned = filter_masked(assigned, logger)
28 - emerge_command = '=' + ' ='.join(_assigned)
29 + emerge_command = ['='+a for a in _assigned]
30 else:
31 _assigned = get_slotted_cps(assigned, logger)
32 - emerge_command = ' '.join(_assigned)
33 + emerge_command = [a for a in _assigned]
34 if settings['PRETEND']:
35 - args += ' --pretend'
36 + args.append('--pretend')
37 if settings['VERBOSITY'] >= 2:
38 - args += ' --verbose'
39 + args.append('--verbose')
40 elif settings['VERBOSITY'] < 1:
41 - args += ' --quiet'
42 + args.append('--quiet')
43 if settings['nocolor']:
44 - args += ' --color n'
45 + args.extend(['--color', 'n'])
46
47 if len(emerge_command) == 0:
48 logger.warning(bold('\nThere is nothing to emerge. Exiting.'))
49 return 0
50
51 logger.warning(yellow(
52 - '\nemerge') + args +
53 + '\nemerge') + ' ' + ' '.join(args) +
54 ' --oneshot --complete-graph=y ' +
55 - bold(emerge_command))
56 + bold(' '.join(emerge_command)))
57
58 stime = current_milli_time()
59 - _args = 'emerge ' + args + ' --oneshot --complete-graph=y ' + emerge_command
60 - _args = _args.split()
61 + _args = ['emerge'] + args + ['--oneshot', '--complete-graph=y'] + emerge_command
62 success = subprocess.call(_args)
63 ftime = current_milli_time()
64 logger.debug("\trebuild(); emerge call for %d ebuilds took: %s seconds"
65
66 diff --git a/pym/gentoolkit/revdep_rebuild/settings.py b/pym/gentoolkit/revdep_rebuild/settings.py
67 index 81e9c64..b0a9f61 100644
68 --- a/pym/gentoolkit/revdep_rebuild/settings.py
69 +++ b/pym/gentoolkit/revdep_rebuild/settings.py
70 @@ -46,7 +46,7 @@ DEFAULTS = {
71 'debug': False,
72 'no-ld-path': False,
73 'no-order': False,
74 - 'pass_through_options': '',
75 + 'pass_through_options': [],
76 'stdout': sys.stdout,
77 'stdin': sys.stdin,
78 'stderr': sys.stderr
79 @@ -121,7 +121,7 @@ def parse_options():
80 if args.library:
81 settings['library'].update(set(args.library))
82 settings['USE_TMP_FILES'] = not args.ignore
83 - settings['pass_through_options'] = " " + " ".join(args.portage_options)
84 + settings['pass_through_options'].extend(args.portage_options)
85
86 return settings