tsafer fails - libdevuansdk - common library for devuan's simple distro kits HTML git clone https://git.parazyd.org/libdevuansdk DIR Log DIR Files DIR Refs DIR Submodules DIR README DIR LICENSE --- DIR commit 7b0dab995d26e135d1ad5cc8652946294fcdf6c8 DIR parent e244de8be46bc949d670f625f1fc2fc21e479661 HTML Author: parazyd <parazyd@dyne.org> Date: Wed, 3 May 2017 14:04:59 +0200 safer fails Diffstat: M zlibs/helpers | 76 ++++++++++++++++++------------- 1 file changed, 45 insertions(+), 31 deletions(-) --- DIR diff --git a/zlibs/helpers b/zlibs/helpers t@@ -33,14 +33,14 @@ build_image_dist() { notice "building complete dist image" act "$image_name" - bootstrap_complete_base || zerr - blend_preinst || zerr - image_prepare_raw || zerr - image_partition_raw_${parted_type} || zerr - build_kernel_${arch} || zerr - blend_postinst || zerr - rsync_to_raw_image || zerr - image_pack_dist || zerr + bootstrap_complete_base || { zerr; wrapup } + blend_preinst || { zerr; wrapup } + image_prepare_raw || { zerr; wrapup } + image_partition_raw_${parted_type} || { zerr; wrapup } + build_kernel_${arch} || { zerr; wrapup } + blend_postinst || { zerr; wrapup } + rsync_to_raw_image || { zerr; wrapup } + image_pack_dist || { zerr; wrapup } } build_iso_dist() { t@@ -50,16 +50,16 @@ build_iso_dist() { notice "building complete iso image" - bootstrap_complete_base || zerr - blend_preinst || zerr - iso_prepare_strap || zerr - build_kernel_${arch} || zerr - iso_setup_isolinux || zerr - iso_write_isolinux_cfg || zerr + bootstrap_complete_base || { zerr; wrapup } + blend_preinst || { zerr; wrapup } + iso_prepare_strap || { zerr; wrapup } + build_kernel_${arch} || { zerr; wrapup } + iso_setup_isolinux || { zerr; wrapup } + iso_write_isolinux_cfg || { zerr; wrapup } #[[ $INSTALLER = 1 ]] && iso_setup_installer || zerr - blend_postinst || zerr - iso_squash_strap || zerr - iso_xorriso_build || zerr + blend_postinst || { zerr; wrapup } + iso_squash_strap || { zerr; wrapup } + iso_xorriso_build || { zerr; wrapup } } build_vagrant_dist() { t@@ -69,16 +69,16 @@ build_vagrant_dist() { notice "building complete vagrant image" - image_${imageformat}_as_strapdir || zerr - bootstrap_complete_base || zerr - vm_inject_overrides || zerr - blend_preinst || zerr - vm_setup_grub || zerr - blend_postinst || zerr - vm_umount_${imageformat} || zerr - vm_vbox_setup || zerr - vm_vagrant_package || zerr - vm_pack_dist || zerr + image_${imageformat}_as_strapdir || { zerr; wrapup } + bootstrap_complete_base || { zerr; wrapup } + vm_inject_overrides || { zerr; wrapup } + blend_preinst || { zerr; wrapup } + vm_setup_grub || { zerr; wrapup } + blend_postinst || { zerr; wrapup } + vm_umount_${imageformat} || { zerr; wrapup } + vm_vbox_setup || { zerr; wrapup } + vm_vagrant_package || { zerr; wrapup } + vm_pack_dist || { zerr; wrapup } } getfield() { t@@ -120,15 +120,29 @@ devprocsys() { sudo mount -o bind /dev/pts $werdo/dev/pts && act "mounted devpts" && \ return 0 elif [[ $watdo = umount ]]; then - sudo umount $werdo/dev/pts && act "umounted devpts" && sleep 1 && \ - sudo umount $werdo/dev && act "umounted dev" && sleep 1 && \ - sudo umount $werdo/proc && act "umounted proc" && sleep 1 && \ - sudo umount $werdo/sys && act "umounted sys" && sleep 1 && \ + sudo umount $werdo/dev/pts && act "umounted devpts" && sleep 1 + sudo umount $werdo/dev && act "umounted dev" && sleep 1 + sudo umount $werdo/proc && act "umounted proc" && sleep 1 + sudo umount $werdo/sys && act "umounted sys" && sleep 1 return 0 fi return 1 } +wrapup() { + # a hopefully clean exit + fn wrapup + req=(strapdir) + ckreq || { + die "something is very wrong" + die "cleanup yourself, sorry" + exit 1 + } + + devprocsys umount $strapdir + exit 1 +} + findloopmapp() { fn findloopmapp req=(workdir image_name)