Index: image_to_virtualbox.sh |
diff --git a/image_to_virtualbox.sh b/image_to_virtualbox.sh |
index f194ae93491cabd579dc3af9eb377937f39ae735..094b0f52e60c9e44d6c192b52a1c508a38be6abc 100755 |
--- a/image_to_virtualbox.sh |
+++ b/image_to_virtualbox.sh |
@@ -5,9 +5,27 @@ |
# found in the LICENSE file. |
# Script to convert the output of build_image.sh to a VirtualBox image. |
-# 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 --- |
IMAGES_DIR="${DEFAULT_BUILD_ROOT}/images" |
# Default to the most recent image |
@@ -28,7 +46,7 @@ eval set -- "${FLAGS_ARGV}" |
# Die on any errors. |
set -e |
-# Convert args to paths. Need eval to un-quote the string so that shell |
+# Convert args to paths. Need eval to un-quote the string so that shell |
# chars like ~ are processed; just doing FOO=`readlink -f $FOO` won't work. |
FLAGS_from=`eval readlink -f $FLAGS_from` |
FLAGS_to=`eval readlink -f $FLAGS_to` |
@@ -41,5 +59,5 @@ for EXTERNAL_tools in qemu-img VBoxManage; do |
fi |
done |
-$(dirname "$0")/image_to_vmware.sh --format=virtualbox --from=$FLAGS_from \ |
- --to=$(dirname "$FLAGS_to") --vbox_disk=$(basename "$FLAGS_to") |
+"${SCRIPTS_DIR}/image_to_vmware.sh" --format=virtualbox --from="$FLAGS_from" \ |
+ --to="$(dirname "$FLAGS_to")" --vbox_disk="$(basename "$FLAGS_to")" |