cros_setup_toolchains: don't emerge an empty package list
When running this with only a single post_cross_item to update, |cmd|
ended up being ['/mnt/host/source/chromite/bin/parallel_emerge',
'--oneshot', '--update']. Avoid that.
BUG=chromium:1179917
TEST=`sudo cros_setup_toolchains --debug --nousepkg`
Change-Id: I5ec5508260bcd70372bd6be1abfb09f1610f0b48
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2860395
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: George Burgess <gbiv@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
diff --git a/scripts/cros_setup_toolchains.py b/scripts/cros_setup_toolchains.py
index 23e743c..b0910c2 100644
--- a/scripts/cros_setup_toolchains.py
+++ b/scripts/cros_setup_toolchains.py
@@ -557,12 +557,12 @@
cmd.extend(packages)
cros_build_lib.run(cmd)
else:
- post_cross_cmd = cmd[:]
- cmd.extend([pkg for pkg in packages if pkg not in post_cross_pkgs])
- cros_build_lib.run(cmd)
+ pre_cross_items = [pkg for pkg in packages if pkg not in post_cross_pkgs]
+ if pre_cross_items:
+ cros_build_lib.run(cmd + pre_cross_items)
post_cross_items = [pkg for pkg in packages if pkg in post_cross_pkgs]
- if len(post_cross_items) > 0:
- cros_build_lib.run(post_cross_cmd + post_cross_items)
+ if post_cross_items:
+ cros_build_lib.run(cmd + post_cross_items)
return True