Add event flags to build_packages
* Added --withevents flag to enable events in parallel_emerge
* Added --eventdir flag that is passed through to parallel_emerge
BUG=chromium:660050
TEST=./build_packages --withevents --board "x86-generic"
CQ-DEPEND=CL:413424
Change-Id: I081392bd7bc8d05bee7f9aac120a24e396abdb4b
Reviewed-on: https://chromium-review.googlesource.com/413155
Commit-Ready: Douglas Anderson <dianders@chromium.org>
Tested-by: Chris Ching <chingcodes@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
diff --git a/build_packages b/build_packages
index 0ceb9e2..6b23afb 100755
--- a/build_packages
+++ b/build_packages
@@ -30,6 +30,10 @@
"Don't build anything; instead only fetch and unpack what is needed."
DEFINE_boolean withdebugsymbols "${FLAGS_FALSE}" \
"Install the debug symbols for all packages"
+DEFINE_boolean withevents "${FLAGS_FALSE}" \
+ "Generate events during parallel_emerge step"
+DEFINE_string eventfile "${DEFAULT_EVENT_FILE}" \
+ "Define the file that event logs will be written."
# The --board_root flag specifies the environment variables ROOT and PKGDIR.
# This allows fetching and emerging of all packages to specified board_root.
@@ -191,6 +195,16 @@
export USE="${USE} -cros-debug"
fi
+# TODO Handle case where passed default value, but events not enabled
+if [[ "${FLAGS_eventfile}" != "${DEFAULT_EVENT_FILE}" ]]; then
+ FLAGS_withevents="${FLAGS_TRUE}"
+fi
+
+if [[ "${FLAGS_withevents}" -eq "${FLAGS_TRUE}" ]]; then
+ mkdir -p "$(dirname $FLAGS_eventfile)"
+ EMERGE_FLAGS+=( "--eventlogfile=${FLAGS_eventfile}" )
+fi
+
# Figure out which packages we should be building.
PACKAGES=( "$@" )
FORCE_LOCAL_BUILD_PKGS=()
diff --git a/common.sh b/common.sh
index 7820123..2d00ac8 100644
--- a/common.sh
+++ b/common.sh
@@ -375,6 +375,12 @@
# they don't pollute the source directory.
DEFAULT_BUILD_ROOT=${CHROMEOS_BUILD_ROOT:-"${SRC_ROOT}/build"}
+# Default location for event files
+DEFAULT_EVENT_DIR=${DEFAULT_EVENT_DIR:-"${DEFAULT_BUILD_ROOT}/events"}
+
+# Default event file. Format is YYYYDD.HHMM.json
+DEFAULT_EVENT_FILE=${DEFAULT_EVENT_FILE:-"${DEFAULT_EVENT_DIR}/$(date +%Y%m%d.%H%M.).json"}
+
# Set up a global ALL_BOARDS value
if [[ -d ${SRC_ROOT}/overlays ]]; then
ALL_BOARDS=$(cd "${SRC_ROOT}/overlays"; \