Chromium Code Reviews| Index: enter_chroot.sh |
| diff --git a/enter_chroot.sh b/enter_chroot.sh |
| index f9975003e7994686b8447b4ef05c65b1a2925325..82bd39b1653d5da470ae551754d131816ffe055b 100755 |
| --- a/enter_chroot.sh |
| +++ b/enter_chroot.sh |
| @@ -71,7 +71,7 @@ Otherwise, provides an interactive shell. |
| " |
| # Version of info from common.sh that only echos if --verbose is set. |
| -function v_info { |
| +function debug { |
| if [ $FLAGS_verbose -eq $FLAGS_TRUE ]; then |
| info "$1" |
| fi |
| @@ -142,7 +142,7 @@ function setup_env { |
| flock 200 |
| echo $$ >> "$LOCKFILE" |
| - v_info "Mounting chroot environment." |
| + debug "Mounting chroot environment." |
| # Mount only if not already mounted |
| MOUNTED_PATH="$(readlink -f "$FLAGS_chroot/proc")" |
| @@ -194,24 +194,30 @@ function setup_env { |
| if [ -z "$CHROME_ROOT" ]; then |
| ! CHROME_ROOT="$(cat "${FLAGS_chroot}${CHROME_ROOT_CONFIG}" \ |
| 2>/dev/null)" |
| + CHROME_ROOT_AUTO=1 |
| fi |
| - if [[ ( -z "$CHROME_ROOT" ) || ( ! -d "${CHROME_ROOT}/src" ) ]]; then |
| - v_info "Not mounting chrome source" |
| - sudo rm -f "${FLAGS_chroot}${CHROME_ROOT_CONFIG}" |
| - else |
| - v_info "Mounting chrome source at: $INNER_CHROME_ROOT" |
| - echo "$CHROME_ROOT" | \ |
| - sudo dd of="${FLAGS_chroot}${CHROME_ROOT_CONFIG}" |
| - mkdir -p "$MOUNTED_PATH" |
| - sudo mount --bind "$CHROME_ROOT" "$MOUNTED_PATH" || \ |
| - die "Could not mount $MOUNTED_PATH" |
| + if [[ ( -n "$CHROME_ROOT" ) ]]; then |
| + if [[ ( ! -d "${CHROME_ROOT}/src" ) ]]; then |
| + error "Not mounting chrome source" |
| + sudo rm -f "${FLAGS_chroot}${CHROME_ROOT_CONFIG}" |
| + if [[ ! "$CHROME_ROOT_AUTO" ]]; then |
| + exit 1 |
| + fi |
| + else |
| + debug "Mounting chrome source at: $INNER_CHROME_ROOT" |
| + sudo bash -c "echo '$CHROME_ROOT' > \ |
| + '${FLAGS_chroot}${CHROME_ROOT_CONFIG}'" |
| + mkdir -p "$MOUNTED_PATH" |
| + sudo mount --bind "$CHROME_ROOT" "$MOUNTED_PATH" || \ |
| + die "Could not mount $MOUNTED_PATH" |
| + fi |
| fi |
| fi |
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}${INNER_DEPOT_TOOLS_ROOT}")" |
| if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then |
| if [ $(which gclient 2>/dev/null) ]; then |
| - v_info "Mounting depot_tools" |
| + debug "Mounting depot_tools" |
| DEPOT_TOOLS=$(dirname "$(which gclient)") |
| mkdir -p "$MOUNTED_PATH" |
| if ! sudo mount --bind "$DEPOT_TOOLS" "$MOUNTED_PATH"; then |
| @@ -281,11 +287,11 @@ function teardown_env { |
| fi |
| if [ -s "$LOCKFILE" ]; then |
| - v_info "At least one other pid is running in the chroot, so not" |
| - v_info "tearing down env." |
| + debug "At least one other pid is running in the chroot, so not" |
| + debug "tearing down env." |
|
kliegs
2011/02/08 15:48:03
I'd still like to see this remain a warning. Whil
|
| else |
| MOUNTED_PATH=$(readlink -f "$FLAGS_chroot") |
| - v_info "Unmounting chroot environment." |
| + debug "Unmounting chroot environment." |
| # sort the list of mounts in reverse order, to ensure umount of |
| # cascading mounts in proper order |
| for i in \ |
| @@ -298,10 +304,10 @@ function teardown_env { |
| if [ $FLAGS_mount -eq $FLAGS_TRUE ]; then |
| setup_env |
| - v_info "Make sure you run" |
| - v_info " $0 --unmount" |
| - v_info "before deleting $FLAGS_chroot" |
| - v_info "or you'll end up deleting $FLAGS_trunk too!" |
| + info "Make sure you run" |
| + info " $0 --unmount" |
| + info "before deleting $FLAGS_chroot" |
| + info "or you'll end up deleting $FLAGS_trunk too!" |
| exit 0 |
| fi |
| @@ -341,7 +347,7 @@ CHROMEOS_VERSION_TRACK=$CHROMEOS_VERSION_TRACK CHROMEOS_VERSION_AUSERVER=$CHROME |
| if [ -d "$HOME/.subversion" ]; then |
| # Bind mounting .subversion into chroot |
| - v_info "mounting ~/.subversion into chroot" |
| + debug "mounting ~/.subversion into chroot" |
| MOUNTED_PATH="$(readlink -f "${FLAGS_chroot}/home/${USER}/.subversion")" |
| if [ -z "$(mount | grep -F "on $MOUNTED_PATH ")" ]; then |
| mkdir -p "$MOUNTED_PATH" |