diff --git a/update_chroot b/update_chroot index 6525da8191..3b7879ca40 100755 --- a/update_chroot +++ b/update_chroot @@ -76,8 +76,9 @@ fi # Perform an update of hard-host-depends and world in the chroot. EMERGE_CMD="emerge" +CHROMITE_BIN="${GCLIENT_ROOT}/chromite/bin" if [ "${FLAGS_fast}" -eq "${FLAGS_TRUE}" ]; then - EMERGE_CMD="${GCLIENT_ROOT}/chromite/bin/parallel_emerge" + EMERGE_CMD="${CHROMITE_BIN}/parallel_emerge" fi # In first pass, update portage and toolchains. Lagged updates of both @@ -95,6 +96,11 @@ if [ "${FLAGS_skip_toolchain_update}" -eq "${FLAGS_FALSE}" ]; then sudo $(type -p cros_setup_toolchains) ${TOOLCHAIN_FLAGS} fi +# Build cros_workon packages when they are changed. +for pkg in $("${CHROMITE_BIN}/cros_list_modified_packages" --host); do + EMERGE_FLAGS+=" --reinstall-atoms=${pkg} --usepkg-exclude=${pkg}" +done + # Second pass, update everything else. EMERGE_FLAGS+=" --deep" sudo -E ${EMERGE_CMD} ${EMERGE_FLAGS} \