Index: gmergefs |
diff --git a/gmergefs b/gmergefs |
index 6995a6fd0894aac2bf0c271549ef06cb0fe37675..2be45dad2d58427b380f8742c39f81496033b013 100755 |
--- a/gmergefs |
+++ b/gmergefs |
@@ -6,10 +6,28 @@ |
# Run gmergefs from the scripts directory. |
-COMMON_SH="$(dirname "$0")/common.sh" |
-. "$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. |
assert_inside_chroot |
-cd ${GCLIENT_ROOT}/src/platform/dev && ./gmergefs $* |
+cd ${GCLIENT_ROOT}/src/platform/dev && ./gmergefs "$@" |