aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/sysroot_wrapper/setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'binary_search_tool/sysroot_wrapper/setup.sh')
-rwxr-xr-xbinary_search_tool/sysroot_wrapper/setup.sh73
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