diff options
Diffstat (limited to 'binary_search_tool/sysroot_wrapper/setup.sh')
-rwxr-xr-x | binary_search_tool/sysroot_wrapper/setup.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/binary_search_tool/sysroot_wrapper/setup.sh b/binary_search_tool/sysroot_wrapper/setup.sh new file mode 100755 index 00000000..f5907f59 --- /dev/null +++ b/binary_search_tool/sysroot_wrapper/setup.sh @@ -0,0 +1,73 @@ +#!/bin/bash -u +# +# Copyright 2016 Google Inc. All Rights Reserved. +# +# This script is part of the ChromeOS object binary search triage process. +# It should be the first script called by the user, after the user has set up +# the two necessary build tree directories (see sysroot_wrapper/README). +# +# This script requires three arguments. The first argument must be the name of +# the board for which this work is being done (e.g. 'daisy', 'lumpy','parrot', +# etc.). The second argument must be the name or IP address of the chromebook +# on which the ChromeOS images will be pushed and tested. The third argument +# must be the name of the package being bisected (e.g. 'chromeos-chrome', +# 'cryptohome', etc.). +# +# This script generates common/common.sh, which generates enviroment variables +# used by the other scripts in the object file binary search triage process. +# + +# Set up basic variables. +bisect_dir=${BISECT_DIR:-/tmp/sysroot_bisect} + +BOARD=$1 +REMOTE=$2 +PACKAGE=$3 + +GOOD_BUILD=${bisect_dir}/good +BAD_BUILD=${bisect_dir}/bad +GOOD_LIST=${GOOD_BUILD}/_LIST +BAD_LIST=${BAD_BUILD}/_LIST + +# +# Verify that the necessary directories exist. +# + +if [[ ! -d ${GOOD_BUILD} ]] ; then + echo "Error: ${GOOD_BUILD} does not exist." + exit 1 +fi + +if [[ ! -d ${BAD_BUILD} ]] ; then + echo "Error: ${BAD_BUILD} does not exist." + exit 1 +fi + +if [[ ! -e ${GOOD_LIST} ]] ; then + echo "Error: ${GOOD_LIST} does not exist." + exit 1 +fi + +if [[ ! -e ${BAD_LIST} ]] ; then + echo "Error: ${BAD_LIST} does not exist." + exit 1 +fi + +COMMON_FILE="common/common.sh" + +cat <<-EOF > ${COMMON_FILE} + +BISECT_BOARD=${BOARD} +BISECT_REMOTE=${REMOTE} +BISECT_PACKAGE=${PACKAGE} +BISECT_MODE="OBJECT_MODE" + +bisect_dir=${bisect_dir} + +export BISECT_STAGE=TRIAGE + +EOF + +chmod 755 ${COMMON_FILE} + +exit 0 |