commit: 1bc0206dc67c40cabdef63dd18ec3fe499c4e6eb
Author: cvkbtzx <cvkbtzx <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Sun Sep 16 13:51:04 2018 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Aug 19 03:40:03 2019 +0000
URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=1bc0206d
revdep-rebuild: Fix pass_through_options to handle args containing spaces
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
pym/gentoolkit/revdep_rebuild/rebuild.py | 21 ++++++++++-----------
pym/gentoolkit/revdep_rebuild/settings.py | 4 ++--
2 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/pym/gentoolkit/revdep_rebuild/rebuild.py
b/pym/gentoolkit/revdep_rebuild/rebuild.py
index 5408298..3f152e7 100644
--- a/pym/gentoolkit/revdep_rebuild/rebuild.py
+++ b/pym/gentoolkit/revdep_rebuild/rebuild.py
@@ -65,34 +65,33 @@ def init_logger(settings):
def rebuild(logger, assigned, settings):
"""rebuilds the assigned pkgs"""
- args = settings['pass_through_options']
+ args = list(settings['pass_through_options'])
if settings['EXACT']:
_assigned = filter_masked(assigned, logger)
- emerge_command = '=' + ' ='.join(_assigned)
+ emerge_command = ['='+a for a in _assigned]
else:
_assigned = get_slotted_cps(assigned, logger)
- emerge_command = ' '.join(_assigned)
+ emerge_command = [a for a in _assigned]
if settings['PRETEND']:
- args += ' --pretend'
+ args.append('--pretend')
if settings['VERBOSITY'] >= 2:
- args += ' --verbose'
+ args.append('--verbose')
elif settings['VERBOSITY'] < 1:
- args += ' --quiet'
+ args.append('--quiet')
if settings['nocolor']:
- args += ' --color n'
+ args.extend(['--color', 'n'])
if len(emerge_command) == 0:
logger.warning(bold('\nThere is nothing to emerge. Exiting.'))
return 0
logger.warning(yellow(
- '\nemerge') + args +
+ '\nemerge') + ' ' + ' '.join(args) +
' --oneshot --complete-graph=y ' +
- bold(emerge_command))
+ bold(' '.join(emerge_command)))
stime = current_milli_time()
- _args = 'emerge ' + args + ' --oneshot --complete-graph=y ' +
emerge_command
- _args = _args.split()
+ _args = ['emerge'] + args + ['--oneshot', '--complete-graph=y'] +
emerge_command
success = subprocess.call(_args)
ftime = current_milli_time()
logger.debug("\trebuild(); emerge call for %d ebuilds took: %s seconds"
diff --git a/pym/gentoolkit/revdep_rebuild/settings.py
b/pym/gentoolkit/revdep_rebuild/settings.py
index 81e9c64..b0a9f61 100644
--- a/pym/gentoolkit/revdep_rebuild/settings.py
+++ b/pym/gentoolkit/revdep_rebuild/settings.py
@@ -46,7 +46,7 @@ DEFAULTS = {
'debug': False,
'no-ld-path': False,
'no-order': False,
- 'pass_through_options': '',
+ 'pass_through_options': [],
'stdout': sys.stdout,
'stdin': sys.stdin,
'stderr': sys.stderr
@@ -121,7 +121,7 @@ def parse_options():
if args.library:
settings['library'].update(set(args.library))
settings['USE_TMP_FILES'] = not args.ignore
- settings['pass_through_options'] = " " + " ".join(args.portage_options)
+ settings['pass_through_options'].extend(args.portage_options)
return settings