switch_to_good.sh revision c4671bdd601ff945b2cccbfe1aee9f931dc908c7
1#!/bin/bash -u
2#
3# Copyright 2015 Google Inc. All Rights Reserved.
4#
5# This script is intended to be used by binary_search_state.py, as
6# part of the binary search triage on ChromeOS packages.  This script
7# copies a list of packages from the 'good' build tree into the working
8# build tree, for testing.
9#
10
11source common/common.sh
12
13pushd ${WORK_BUILD}
14
15PKG_LIST_FILE=$1
16
17overall_status=0
18
19if [[ -f ${PKG_LIST_FILE} ]] ; then
20
21  # Read every line, and handle case where last line has no newline
22  while read pkg || [[ -n "$pkg" ]];
23  do
24    sudo cp ${GOOD_BUILD}/packages/$pkg ${WORK_BUILD}/packages/$pkg
25    status=$?
26    if [[ ${status} -ne 0 ]] ; then
27      echo "Failed to copy ${pkg} to work build tree."
28      overall_status=2
29    fi
30  done < ${PKG_LIST_FILE}
31else
32
33  for o in "$@"
34  do
35    sudo cp ${GOOD_BUILD}/packages/$o  ${WORK_BUILD}/packages/$o
36    status=$?
37    if [[ ${status} -ne 0 ]] ; then
38      echo "Failed to copy ${pkg} to work build tree."
39      overall_status=2
40    fi
41  done
42fi
43
44popd
45
46exit ${overall_status}
47