summaryrefslogtreecommitdiffstats
path: root/src/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd')
-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