Index: upload_symbols |
diff --git a/upload_symbols b/upload_symbols |
index 96307b42479cad25910f36e56cb7f2c7cc1c6313..d6f6c2561fb0e0e3c0d6f2825a72fb4046de6b7b 100755 |
--- a/upload_symbols |
+++ b/upload_symbols |
@@ -7,16 +7,30 @@ |
# purposes. This script need only be used to upload release builds |
# symbols or to debug crashes on non-release builds (in which case try |
# to only upload the symbols for those executables involved). |
-# |
-# 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 |
@@ -118,7 +132,7 @@ function main() { |
sudo rm -rf "${DEFAULT_BREAKPAD_ROOT}" |
info "Generating all breakpad symbol files." |
local verbosity="" |
- local generate_script="$(dirname $0)/cros_generate_breakpad_symbols" |
+ local generate_script="${SCRIPTS_DIR}/cros_generate_breakpad_symbols" |
[ ${FLAGS_verbose} -eq ${FLAGS_TRUE} ] && verbosity="--verbose" |
if ! "${generate_script}" --board=${FLAGS_board} ${verbosity}; then |
error "Some errors while generating symbols; uploading anyway" |