80 lines
2.0 KiB
Bash
Executable File
80 lines
2.0 KiB
Bash
Executable File
#!/bin/bash -u
|
|
#
|
|
# Copyright 2021 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
#
|
|
# 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
|
|
REBOOT_OPTION=$4
|
|
USE_FLAGS=$5
|
|
|
|
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_REBOOT_OPTION=${REBOOT_OPTION}
|
|
BISECT_USE_FLAGS="${USE_FLAGS}"
|
|
BISECT_MODE="OBJECT_MODE"
|
|
|
|
bisect_dir=${bisect_dir}
|
|
|
|
export BISECT_STAGE=TRIAGE
|
|
|
|
EOF
|
|
|
|
chmod 755 ${COMMON_FILE}
|
|
|
|
exit 0
|