| #!/bin/bash | 
 | # Copyright 2018 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. | 
 |  | 
 | # Random helper utilities that scripts might want. | 
 |  | 
 | # Show an error message. | 
 | error() { | 
 |   echo "ERROR: $*" >&2 | 
 | } | 
 |  | 
 | # Show an error message and exit. | 
 | die() { | 
 |   error "$*" | 
 |   exit 1 | 
 | } | 
 |  | 
 | if [[ -z "${CONTRIB_DIR}" ]]; then | 
 |   die "Scripts must set CONTRIB_DIR first" | 
 | fi | 
 |  | 
 | # Load the shflags helper library.  Any script using us will probably have | 
 | # command line flags, and they should be using shflags to parse them. | 
 | source "${CONTRIB_DIR}/shflags" || die "Could not load shflags" | 
 |  | 
 | # Path to the repo checkout. | 
 | GCLIENT_ROOT="/mnt/host/source" | 
 | SRC_ROOT="${GCLIENT_ROOT}/src" | 
 |  | 
 | # Whether we're executing inside the cros_sdk chroot. | 
 | is_inside_chroot() { | 
 |   [[ -f "/etc/cros_chroot_version" ]] | 
 | } | 
 |  | 
 | # Fail unless we're inside the chroot.  This guards against messing up your | 
 | # workstation. | 
 | assert_inside_chroot() { | 
 |   if ! is_inside_chroot; then | 
 |     die "This script must be run inside the chroot.  Run this first: cros_sdk" | 
 |   fi | 
 | } |