texlive[62539] Master: install-tl: disk check

commits+preining at tug.org commits+preining at tug.org
Wed Mar 9 02:23:18 CET 2022


Revision: 62539
          http://tug.org/svn/texlive?view=revision&revision=62539
Author:   preining
Date:     2022-03-09 02:23:17 +0100 (Wed, 09 Mar 2022)
Log Message:
-----------
install-tl: disk check

text mode installer shows required/free space
warn on installation if space does not suffice
allow overriding

Modified Paths:
--------------
    trunk/Master/install-tl
    trunk/Master/tlpkg/installer/install-menu-text.pl

Modified: trunk/Master/install-tl
===================================================================
--- trunk/Master/install-tl	2022-03-09 01:08:37 UTC (rev 62538)
+++ trunk/Master/install-tl	2022-03-09 01:23:17 UTC (rev 62539)
@@ -951,7 +951,11 @@
   if ($diskfree != -1) {
     my $reserve = 100;
     if ( $diskfree + $reserve < $vars{'total_size'}) {
-      die("DISK SPACE INSUFFICIENT!");
+      if ($ENV{'TEXLIVE_INSTALL_NO_DISKCHECK'}) {
+        tlwarn("Insufficient disk space, but continuing anyway.");
+      } else {
+        die("DISK SPACE INSUFFICIENT!");
+      }
     }
   }
   # now remove final slash from TEXDIR even if it is the root of a drive

Modified: trunk/Master/tlpkg/installer/install-menu-text.pl
===================================================================
--- trunk/Master/tlpkg/installer/install-menu-text.pl	2022-03-09 01:08:37 UTC (rev 62538)
+++ trunk/Master/tlpkg/installer/install-menu-text.pl	2022-03-09 01:23:17 UTC (rev 62539)
@@ -963,6 +963,7 @@
 
 sub do_install {
   my $reserve = 100;
+  my $doit = 1;
   if ($vars{'free_size'} > 0
       && $vars{'free_size'} + $reserve < $vars{'total_size'}) { 
     print STDERR <<"EOF";
@@ -974,13 +975,22 @@
 or choose a different installation location,
 or reduce what gets installed.
 
-Press Enter to return to the menu.
+Press Enter to return to the menu, or type i to install anyway.
 ***************************************************************
 EOF
     my $ans = readline (*STDIN);
+    $doit = 0;
+    chomp($ans);
+    if ($ans eq "i" or $ans eq "I") {
+      $doit = 1;
+    }
+  }
+  if ($doit) {
+    # set env variable to make install-tl not trip over
+    $ENV{'TEXLIVE_INSTALL_NO_DISKCHECK'} = 1;
+    $RETURN = $MENU_INSTALL;
+  } else {
     main_menu();
-  } else {
-    $RETURN = $MENU_INSTALL;
   }
 }
 



More information about the tex-live-commits mailing list.