Index: bin/cros_overlay_list |
diff --git a/bin/cros_overlay_list b/bin/cros_overlay_list |
index 7031068261db71568b91fabc5147c27476a6f2c0..238f0974ead85e1d63c333a41cd62b601a79a0fa 100755 |
--- a/bin/cros_overlay_list |
+++ b/bin/cros_overlay_list |
@@ -6,24 +6,26 @@ |
# This script generates the list of board overlays and variants. |
+# --- 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 scripts |
+# /usr/lib/crosutils. Outside the chroot we find it relative to the script's |
# location. |
-common_paths="/usr/lib/crosutils $(dirname "$0")/.." |
- |
-for path in ${common_paths} ; do |
- if [ -f "${path}/common.sh" ] ; then |
- COMMON_SH="${path}/common.sh" |
- break |
- fi |
-done |
- |
-if [ -z "${COMMON_SH}" ] ; then |
- error "common.sh not found in search path (${common_paths})" |
- exit 1 |
-fi |
+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 |
+} |
-. "${COMMON_SH}" |
+find_common_sh |
+. "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) |
+# --- END COMMON.SH BOILERPLATE --- |
get_default_board |