#!/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