build_packages: Add flag for deleting existing sysroot

The existing process for starting with a clean sysroot requires
either manually deleting it or running setup_board --force. The
extra step is unnecessary, especially since we want to move
developers away from setup_board.

BUG=None
TEST=./build_packages --cleanbuild --board=betty

Change-Id: I0cb1958ce3964cfa13b4905c7360fc16e6b14b2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/2153880
Tested-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
diff --git a/build_packages b/build_packages
index 11aad0f..3745f97 100755
--- a/build_packages
+++ b/build_packages
@@ -34,6 +34,8 @@
   "Automatically set cpu governor to 'performance'."
 DEFINE_boolean use_any_chrome "${FLAGS_TRUE}" \
   "Use any Chrome prebuilt available, even if the prebuilt doesn't match exactly."
+DEFINE_boolean cleanbuild "${FLAGS_FALSE}" \
+  "Perform a clean build; delete sysroot if it exists before building."
 
 # The --board_root flag specifies the environment variables ROOT and PKGDIR.
 # This allows fetching and emerging of all packages to specified board_root.
@@ -175,6 +177,9 @@
 if [[ -n ${FLAGS_board_root} ]]; then
   UPDATE_ARGS+=( --board-root "${FLAGS_board_root}" )
 fi
+if [ "${FLAGS_cleanbuild}" -eq "${FLAGS_TRUE}" ]; then
+  UPDATE_ARGS+=( --force )
+fi
 
 setup_board --quiet --board=${FLAGS_board} "${UPDATE_ARGS[@]}"