Parcourir la source

catch error and umount vfs

Signed-off-by: greatbridf <greatbridf@icloud.com>
greatbridf il y a 1 jour
Parent
commit
40f16a0fec
1 fichiers modifiés avec 11 ajouts et 0 suppressions
  1. 11 0
      deploy.sh

+ 11 - 0
deploy.sh

@@ -97,6 +97,12 @@ $mirror/$alpine_version/community
 EOF
 EOF
 }
 }
 
 
+umount_vfs_cleanup() {
+	for fs in proc sys dev; do
+		umount "$chroot_dir/$fs"
+	done
+}
+
 bind_mount_vfs() {
 bind_mount_vfs() {
 	for fs in proc sys dev; do
 	for fs in proc sys dev; do
 		mount -o bind "/$fs" "$chroot_dir/$fs"
 		mount -o bind "/$fs" "$chroot_dir/$fs"
@@ -111,7 +117,12 @@ install_inside_chroot() {
 	chmod +x "$inside_deploy_path"
 	chmod +x "$inside_deploy_path"
 
 
 	bind_mount_vfs
 	bind_mount_vfs
+	trap umount_vfs_cleanup EXIT
+
 	chroot "$chroot_dir" /deploy.sh setup
 	chroot "$chroot_dir" /deploy.sh setup
+
+	trap - EXIT
+	umount_vfs_cleanup
 }
 }
 
 
 extra_setup_vim() {
 extra_setup_vim() {