1#!/bin/bash -u 2# 3# Copyright 2016 Google Inc. All Rights Reserved. 4# 5# This script is part of the ChromeOS object binary search triage process. 6# It should be the first script called by the user, after the user has set up 7# the two necessary build tree directories (see sysroot_wrapper/README). 8# 9# This script requires three arguments. The first argument must be the name of 10# the board for which this work is being done (e.g. 'daisy', 'lumpy','parrot', 11# etc.). The second argument must be the name or IP address of the chromebook 12# on which the ChromeOS images will be pushed and tested. The third argument 13# must be the name of the package being bisected (e.g. 'chromeos-chrome', 14# 'cryptohome', etc.). 15# 16# This script generates common/common.sh, which generates enviroment variables 17# used by the other scripts in the object file binary search triage process. 18# 19 20# Set up basic variables. 21bisect_dir=${BISECT_DIR:-/tmp/sysroot_bisect} 22 23BOARD=$1 24REMOTE=$2 25PACKAGE=$3 26 27GOOD_BUILD=${bisect_dir}/good 28BAD_BUILD=${bisect_dir}/bad 29GOOD_LIST=${GOOD_BUILD}/_LIST 30BAD_LIST=${BAD_BUILD}/_LIST 31 32# 33# Verify that the necessary directories exist. 34# 35 36if [[ ! -d ${GOOD_BUILD} ]] ; then 37 echo "Error: ${GOOD_BUILD} does not exist." 38 exit 1 39fi 40 41if [[ ! -d ${BAD_BUILD} ]] ; then 42 echo "Error: ${BAD_BUILD} does not exist." 43 exit 1 44fi 45 46if [[ ! -e ${GOOD_LIST} ]] ; then 47 echo "Error: ${GOOD_LIST} does not exist." 48 exit 1 49fi 50 51if [[ ! -e ${BAD_LIST} ]] ; then 52 echo "Error: ${BAD_LIST} does not exist." 53 exit 1 54fi 55 56COMMON_FILE="common/common.sh" 57 58cat <<-EOF > ${COMMON_FILE} 59 60BISECT_BOARD=${BOARD} 61BISECT_REMOTE=${REMOTE} 62BISECT_PACKAGE=${PACKAGE} 63BISECT_MODE="OBJECT_MODE" 64 65bisect_dir=${bisect_dir} 66 67export BISECT_STAGE=TRIAGE 68 69EOF 70 71chmod 755 ${COMMON_FILE} 72 73exit 0 74