| Index: enter_chroot.sh | 
| diff --git a/enter_chroot.sh b/enter_chroot.sh | 
| index 7679d9c5ecaabf66f93c3f96635f5d1fc726e2ff..669cdacb78fbe81d4fc0a47ea3b67cadd4e2cdb7 100755 | 
| --- a/enter_chroot.sh | 
| +++ b/enter_chroot.sh | 
| @@ -6,9 +6,26 @@ | 
|  | 
| # Script to enter the chroot environment | 
|  | 
| -# Load common constants.  This should be the first executable line. | 
| -# The path to common.sh should be relative to your script's location. | 
| -. "$(dirname "$0")/common.sh" | 
| +# --- BEGIN COMMON.SH BOILERPLATE --- | 
| +# Load common CrOS utilities.  Inside the chroot this file is installed in | 
| +# /usr/lib/crosutils.  Outside the chroot we find it relative to the script's | 
| +# location. | 
| +find_common_sh() { | 
| +  local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")")) | 
| +  local path | 
| + | 
| +  SCRIPT_ROOT= | 
| +  for path in "${common_paths[@]}"; do | 
| +    if [ -r "${path}/common.sh" ]; then | 
| +      SCRIPT_ROOT=${path} | 
| +      break | 
| +    fi | 
| +  done | 
| +} | 
| + | 
| +find_common_sh | 
| +. "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) | 
| +# --- END COMMON.SH BOILERPLATE --- | 
|  | 
| # Script must be run outside the chroot and as a regular user. | 
| assert_outside_chroot | 
| @@ -87,8 +104,7 @@ eval set -- "${_FLAGS_FIXED}" | 
| FLAGS "$@" || exit 1 | 
| eval set -- "${FLAGS_ARGV}" | 
|  | 
| -if [ $FLAGS_official_build -eq $FLAGS_TRUE ] | 
| -then | 
| +if [ $FLAGS_official_build -eq $FLAGS_TRUE ]; then | 
| CHROMEOS_OFFICIAL=1 | 
| fi | 
|  | 
| @@ -117,31 +133,26 @@ function setup_env { | 
|  | 
| # Mount only if not already mounted | 
| MOUNTED_PATH="$(readlink -f "$FLAGS_chroot/proc")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| sudo mount none -t proc "$MOUNTED_PATH" || \ | 
| die "Could not mount $MOUNTED_PATH" | 
| fi | 
|  | 
| MOUNTED_PATH="$(readlink -f "$FLAGS_chroot/sys")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| sudo mount none -t sysfs "$MOUNTED_PATH" || \ | 
| die "Could not mount $MOUNTED_PATH" | 
| fi | 
|  | 
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}/dev")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| sudo mount --bind /dev "$MOUNTED_PATH" || \ | 
| die "Could not mount $MOUNTED_PATH" | 
| fi | 
|  | 
| if [ $FLAGS_ssh_agent -eq $FLAGS_TRUE ]; then | 
| TARGET_DIR="$(readlink -f "${FLAGS_chroot}/home/${USER}/.ssh")" | 
| -      if [ -n "${SSH_AUTH_SOCK}" \ | 
| -        -a -d "${HOME}/.ssh" ] | 
| -      then | 
| +      if [ -n "${SSH_AUTH_SOCK}" -a -d "${HOME}/.ssh" ]; then | 
| mkdir -p "${TARGET_DIR}" | 
| cp -r "${HOME}/.ssh/known_hosts" "${TARGET_DIR}" | 
| cp -r "${HOME}/.ssh/config" "${TARGET_DIR}" | 
| @@ -153,22 +164,19 @@ function setup_env { | 
| fi | 
|  | 
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}/dev/pts")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| sudo mount none -t devpts "$MOUNTED_PATH" || \ | 
| die "Could not mount $MOUNTED_PATH" | 
| fi | 
|  | 
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}$CHROOT_TRUNK_DIR")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| sudo mount --bind "$FLAGS_trunk" "$MOUNTED_PATH" || \ | 
| die "Could not mount $MOUNTED_PATH" | 
| fi | 
|  | 
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}${INNER_CHROME_ROOT}")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| ! CHROME_ROOT="$(readlink -f "$FLAGS_chrome_root")" | 
| if [ -z "$CHROME_ROOT" ]; then | 
| ! CHROME_ROOT="$(cat "${FLAGS_chroot}${CHROME_ROOT_CONFIG}" \ | 
| @@ -188,11 +196,10 @@ function setup_env { | 
| fi | 
|  | 
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}${INNER_DEPOT_TOOLS_ROOT}")" | 
| -    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ] | 
| -    then | 
| +    if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then | 
| if [ $(which gclient 2>/dev/null) ]; then | 
| info "Mounting depot_tools" | 
| -        DEPOT_TOOLS=$(dirname $(which gclient) ) | 
| +        DEPOT_TOOLS=$(dirname "$(which gclient)") | 
| mkdir -p "$MOUNTED_PATH" | 
| if ! sudo mount --bind "$DEPOT_TOOLS" "$MOUNTED_PATH"; then | 
| warn "depot_tools failed to mount; perhaps it's on NFS?" | 
| @@ -202,7 +209,7 @@ function setup_env { | 
| fi | 
|  | 
| # Install fuse module. | 
| -    if [ -c "${FUSE_DEVICE}" ] ; then | 
| +    if [ -c "${FUSE_DEVICE}" ]; then | 
| sudo modprobe fuse 2> /dev/null ||\ | 
| warn "-- Note: modprobe fuse failed.  gmergefs will not work" | 
| fi | 
| @@ -271,8 +278,7 @@ function teardown_env { | 
| ) 200>>"$LOCKFILE" || die "teardown_env failed" | 
| } | 
|  | 
| -if [ $FLAGS_mount -eq $FLAGS_TRUE ] | 
| -then | 
| +if [ $FLAGS_mount -eq $FLAGS_TRUE ]; then | 
| setup_env | 
| info "Make sure you run" | 
| info "    $0 --unmount" | 
| @@ -281,8 +287,7 @@ then | 
| exit 0 | 
| fi | 
|  | 
| -if [ $FLAGS_unmount -eq $FLAGS_TRUE ] | 
| -then | 
| +if [ $FLAGS_unmount -eq $FLAGS_TRUE ]; then | 
| teardown_env | 
| exit 0 | 
| fi | 
|  |