]> gitweb.fluxo.info Git - kvmx.git/commitdiff
Better trap at kvmx-create (2) and rollback from global env config for LC_ALL and...
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 14 Jun 2018 00:28:46 +0000 (21:28 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 14 Jun 2018 00:28:46 +0000 (21:28 -0300)
kvmx-create

index eafd489e5692224d76198eca60ac2948173fca0d..b7cb993be715d2efaa6ba8d112c092ed091a4bc9 100755 (executable)
@@ -23,10 +23,6 @@ BASENAME="`basename $0`"
 DIRNAME="`dirname $0`"
 GLOBAL_USER_CONFIG_FILE="$HOME/.config/kvmxconfig"
 
-# Environment config
-export LC_ALL=C
-export DEBIAN_FRONTEND=noninteractive
-
 # Load basic functions
 export APP_BASE="`$DIRNAME/kvmx app_base`"
 source $APP_BASE/lib/kvmx/functions || exit 1
@@ -79,7 +75,7 @@ function kvmx_install_package {
 
   if [ "$?" == "1" ]; then
     echo "Installing package $1..."
-    $SUDO apt-get install $1 -y || exit 1
+    DEBIAN_FRONTEND=noninteractive $SUDO apt-get install $1 -y || exit 1
   fi
 }
 
@@ -260,14 +256,14 @@ function kvmx_create_custom {
   kvmx_sudo_run mount ${device}${partition_prefix}2 $WORK/
 
   # Trap $WORK umount
-  trap 'if [ -e "$WORK" ]; then umount $WORK && rmdir $WORK; fi' INT TERM
+  trap 'if [ -e "$WORK" ]; then umount $WORK/{sys,proc,dev} &> /dev/null; umount $WORK &> /dev/null; rmdir $WORK; fi' INT TERM
 
   # Non-interactive installation
-  APT_INSTALL="kvmx_sudo_run chroot $WORK/ apt-get install -y"
+  APT_INSTALL="LC_ALL=C DEBIAN_FRONTEND=noninteractive kvmx_sudo_run chroot $WORK/ apt-get install -y"
 
   # Initial system install.
   echo "Installing base system..."
-  kvmx_sudo_run debootstrap \
+  LC_ALL=C DEBIAN_FRONTEND=noninteractive kvmx_sudo_run debootstrap \
     --force-check-gpg --arch=$arch $version $WORK/ $mirror
 
   # Initial configuration.