| Index: common.sh
|
| diff --git a/common.sh b/common.sh
|
| index cc9c01279623a03e0b31c7ee6375251f256ec11a..3a7a5b360a3cdebf682216a1084fdb73506e845a 100644
|
| --- a/common.sh
|
| +++ b/common.sh
|
| @@ -647,3 +647,48 @@ prepare_test_image() {
|
| # From now on we use the just-created test image
|
| CHROMEOS_RETURN_VAL="$1/${CHROMEOS_TEST_IMAGE_NAME}"
|
| }
|
| +
|
| +# Check that the specified file exists. If the file path is empty or the file
|
| +# doesn't exist on the filesystem generate useful error messages. Otherwise
|
| +# show the user the name and path of the file that will be used. The padding
|
| +# parameter can be used to tabulate multiple name:path pairs. For example:
|
| +#
|
| +# check_for_file "really long name" "...:" "file.foo"
|
| +# check_for_file "short name" ".........:" "another.bar"
|
| +#
|
| +# Results in the following output:
|
| +#
|
| +# Using really long name...: file.foo
|
| +# Using short name.........: another.bar
|
| +#
|
| +# If tabulation is not required then passing "" for padding generates the
|
| +# output "Using <name> <path>"
|
| +check_for_file() {
|
| + local name=$1
|
| + local padding=$2
|
| + local path=$3
|
| +
|
| + if [ -z "${path}" ]; then
|
| + die "No ${name} file specified."
|
| + fi
|
| +
|
| + if [ ! -e "${path}" ]; then
|
| + die "No ${name} file found at: ${path}"
|
| + else
|
| + info "Using ${name}${padding} ${path}"
|
| + fi
|
| +}
|
| +
|
| +# Check that the specified tool exists. If it does not exist in the PATH
|
| +# generate a useful error message indicating how to install the ebuild
|
| +# that contains the required tool.
|
| +check_for_tool() {
|
| + local tool=$1
|
| + local ebuild=$2
|
| +
|
| + if ! which "${tool}" >/dev/null ; then
|
| + error "The ${tool} utility was not found in your path. Run the following"
|
| + error "command in your chroot to install it: sudo -E emerge ${ebuild}"
|
| + exit 1
|
| + fi
|
| +}
|
|
|