Index: cros_generate_breakpad_symbols |
diff --git a/cros_generate_breakpad_symbols b/cros_generate_breakpad_symbols |
index 8bfe8792c84bb97350736ed8c6b1d065e1e4e14b..0e10cbc6e7d9770b5191ef92bd86c4ac47f024ba 100755 |
--- a/cros_generate_breakpad_symbols |
+++ b/cros_generate_breakpad_symbols |
@@ -9,12 +9,29 @@ |
# NOTE: This script must be run from the chromeos build 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 inside the chroot |
-restart_in_chroot_if_needed $* |
+restart_in_chroot_if_needed "$@" |
get_default_board |
@@ -39,7 +56,7 @@ function cleanup() { |
# Given path to a debug file, return its text file |
function get_text_for_debug() { |
local debug_file=$1 |
- local text_dir=$(dirname ${debug_file#$DEBUG_ROOT}) |
+ local text_dir=$(dirname "${debug_file#$DEBUG_ROOT}") |
local text_path=${SYSROOT}${text_dir}/$(basename "${debug_file}" .debug) |
echo ${text_path} |
} |