summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2016-01-17 10:34:56 (EST)
committer P. J. McDermott <pj@pehjota.net>2016-01-17 10:34:56 (EST)
commita8e57bde8d2d9ba23a8c5fc7ddc6438c0142d33f (patch)
treef6a8a785ae52de10da5ea37e83339d3f96657659
parent69b9e4d24a0efa73405bbe42f7e06b567bb1f60e (diff)
cmd/*: Check return value of profile_detect()
Also clean up on error now.
-rw-r--r--src/cmd/build.sh5
-rw-r--r--src/cmd/mkinitramfs.sh5
-rw-r--r--src/cmd/opkg.sh5
-rw-r--r--src/cmd/shell.sh5
4 files changed, 16 insertions, 4 deletions
diff --git a/src/cmd/build.sh b/src/cmd/build.sh
index d48742e..5151c46 100644
--- a/src/cmd/build.sh
+++ b/src/cmd/build.sh
@@ -70,7 +70,10 @@ cmd_build_main()
cmd_build_pkg_dir="${arg}"
done
- profile_detect "${root}"
+ if ! profile_detect "${root}"; then
+ [ "x${dev}" != 'x' ] && block_umount "${root}"
+ return 2
+ fi
if ! [ -d "${cmd_build_pkg_dir}" ]; then
error "$(get_msg 'cmd_build_not_a_dir')" "${cmd_build_pkg_dir}"
diff --git a/src/cmd/mkinitramfs.sh b/src/cmd/mkinitramfs.sh
index d319f3d..e888548 100644
--- a/src/cmd/mkinitramfs.sh
+++ b/src/cmd/mkinitramfs.sh
@@ -57,7 +57,10 @@ cmd_mkinitramfs_main()
root="$(block_mount "${dev}")"
fi
- profile_detect "${root}"
+ if ! profile_detect "${root}"; then
+ [ "x${dev}" != 'x' ] && block_umount "${root}"
+ return 2
+ fi
arch="$(cat "${root}/etc/proteanos_arch")"
plat="$(cat "${root}/etc/proteanos_plat")"
diff --git a/src/cmd/opkg.sh b/src/cmd/opkg.sh
index 712baab..cb592c9 100644
--- a/src/cmd/opkg.sh
+++ b/src/cmd/opkg.sh
@@ -78,7 +78,10 @@ cmd_opkg_main()
fi
done
- profile_detect "${root}"
+ if ! profile_detect "${root}"; then
+ [ "x${dev}" != 'x' ] && block_umount "${root}"
+ return 2
+ fi
session_begin "${root}" . cmd_opkg_fini false
diff --git a/src/cmd/shell.sh b/src/cmd/shell.sh
index 578e5d1..d964ec5 100644
--- a/src/cmd/shell.sh
+++ b/src/cmd/shell.sh
@@ -37,7 +37,10 @@ cmd_shell_main()
root="$(block_mount "${dev}")"
fi
- profile_detect "${root}"
+ if ! profile_detect "${root}"; then
+ [ "x${dev}" != 'x' ] && block_umount "${root}"
+ return 2
+ fi
session_begin "${root}" . : false
if [ ${#} -eq 0 ]; then