setup_board: automatically include sdk toolchain packages in host boards [reland]

Rather than requiring the list of toolchain packages that we are managing
by hand be listed in the virtual/target-sdk tree, pull in the list when
we are creating a new host board from scratch.  This shouldn't currently
be functionally different, but should smooth over future changes since
there will be only one place to maintain this list.

This version fixes the array usage.

BUG=chromium:751852
TEST=precqs pass

Change-Id: Ibc901dd7b45d1deacefdd6c6436fc53c4fcd8991
Reviewed-on: https://chromium-review.googlesource.com/669440
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/2479044
Tested-by: Patryk Duda <pdk@semihalf.com>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
diff --git a/setup_board b/setup_board
index bd008bd..d29568e 100755
--- a/setup_board
+++ b/setup_board
@@ -226,17 +226,25 @@
   sudo_multi "${cmds[@]}"
 
   EMERGE_CMD="${CHROMITE_BIN}/parallel_emerge"
-  PACKAGES="system virtual/target-sdk world"
+  TOOLCHAIN_PACKAGES=(
+    $("${CHROMITE_BIN}/cros_setup_toolchains" --show-packages host)
+  )
+  # Sanity check we got some valid results.
+  if [[ ${#TOOLCHAIN_PACKAGES[@]} -eq 0 ]]; then
+    die_notrace "cros_setup_toolchains failed"
+  fi
+  PACKAGES=( system virtual/target-sdk world )
 
   # First, rebuild all packages from scratch. This is needed to make sure
   # we rebuild all chroot packages.
-  sudo -E $EMERGE_CMD --emptytree --with-bdeps=y $PACKAGES
+  sudo -E $EMERGE_CMD --emptytree --with-bdeps=y \
+    "${TOOLCHAIN_PACKAGES[@]}" "${PACKAGES[@]}"
   sudo eclean -d packages
 
   # Next, install our rebuilt packages into our separate root.
   HOST_FLAGS="--root=$BOARD_ROOT --update --verbose --deep --root-deps"
   HOST_FLAGS+=" --with-bdeps=y --newuse --jobs=$NUM_JOBS --usepkgonly"
-  sudo -E $EMERGE_CMD $HOST_FLAGS --select=y $PACKAGES
+  sudo -E $EMERGE_CMD $HOST_FLAGS --select=y "${PACKAGES[@]}"
   sudo cp -a "${PKGDIR}" $BOARD_ROOT/packages
 
   # Copy our chroot version into the newly packaged chroot.