TL2024 from .iso fail under cygwin (win11 pro)

Karl Berry karl at freefriends.org
Thu May 2 22:47:38 CEST 2024


    Yes.  "wget" could be replaced by "wget or curl".

Thanks. For the record, attempted to implement in r71152 (plus
subsequent De Morgan fix from Ken, r71157):

--- Master/install-tl	(revision 71151)
+++ Master/install-tl	(working copy)
@@ -361,16 +361,13 @@ my %profiledata;
 if (-r "installation.profile"
     && $opt_interaction
     && !exists $ENV{"TEXLIVE_INSTALL_NO_RESUME"}) {
-  if ($from_ext_gui) { # prepare for dialog interaction
-    print "mess_yesno\n";
-  }
+  print "mess_yesno\n" if $from_ext_gui; # prepare for dialog interaction
   my $pwd = Cwd::getcwd();
   print "ABORTED TL INSTALLATION FOUND: installation.profile (in $pwd)\n";
-  print
-    "Do you want to continue with the exact same settings as before (y/N): ";
+  print "Do you want to continue with the same settings as before (y/N): ";
   print "\nendmess\n" if $from_ext_gui;
   my $answer = <STDIN>;
-  if ($answer =~ m/^y(es)?$/i) {
+  if ($answer && $answer =~ m/^y(es)?$/i) {
     $opt_profile = "installation.profile";
   }
 }
@@ -601,6 +598,25 @@ if (!$opt_custom_bin && (platform() eq "i386-cygwi
     }
   }
 }
+#
+# More Cygwin: if the user doesn't have Cygwin's wget or curl,
+# it's unlikely anything good will happen.
+if ($^O eq 'cygwin'
+    && (! -x "/usr/bin/curl.exe" && ! -x "/usr/bin/wget.exe")) {
+      print "mess_yesno\n" if $from_ext_gui; # prepare for dialog interaction
+      print <<END_CYGWIN_WGET_MSG;
+It seems you are using Cygwin and have not installed Cygwin's
+curl or wget. See the TeX Live Guide information on Cygwin for required
+and recommended packages:
+  https://tug.org/texlive/doc/texlive-en/texlive-en.html#cygwin
+END_CYGWIN_WGET_MSG
+  print "Continue anyway (unlikely to work) (y/N): ";
+  print "\nendmess\n" if $from_ext_gui;
+  my $answer = <STDIN>;
+  if (! $answer || $answer !~ m/^y(es)?$/i) {
+    tldie("$0: Ok, goodbye. Please install the needed packages.\n");
+  }
+}
 
 # determine which media are available, don't put NET here, it is
 # assumed to be available at any time
Index: Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex
===================================================================
--- Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex	(revision 71151)
+++ Master/texmf-dist/doc/texlive/texlive-en/texlive-en.tex	(working copy)
@@ -19,7 +19,7 @@
         \url{https://tug.org/texlive/}
        }
 
-\date{21 April 2024}
+\date{2 May 2024}
 
 \begin{document}
 \maketitle
@@ -539,7 +539,7 @@ documentation.
 \textbf{Special considerations for Cygwin:} Unlike other
 Unix-compatible systems, Cygwin does not by default include all of the
 prerequisite programs needed by the \TL{} installer.  See
-section~\ref{sec:cygwin}.
+section~\ref{sec:cygwin} for the packages which you need to install first.
 
 
 \subsubsection{\macOS}
@@ -654,10 +654,10 @@ Actions:
 \subsubsection{Cygwin}
 \label{sec:cygwin}
 
-Before beginning the installation, use Cygwin's \filename{setup.exe} program to
-install the \filename{perl} and \filename{wget} packages if you have
-not already done so.  The following additional packages are
-recommended:
+Before beginning the installation, use Cygwin's \filename{setup.exe}
+program to install the \filename{perl} and either \filename{curl} or
+\filename{wget} packages if you have not already done so. The following
+additional packages are recommended:
 \begin{itemize*}
 \item \filename{fontconfig} [needed by \XeTeX\ and Lua\TeX]
 \item \filename{ghostscript} [needed by various utilities]
Index: Master/tlpkg/TeXLive/TLPDB.pm
===================================================================
--- Master/tlpkg/TeXLive/TLPDB.pm	(revision 71151)
+++ Master/tlpkg/TeXLive/TLPDB.pm	(working copy)
@@ -369,12 +369,13 @@ More info: https://tug.org/texlive/acquire.html
 END_DOWNLOAD_FAILURE_MSG
 
         # If they have the Cygwin wget.exe, some other problem.
-        if ($^O eq 'cygwin' && -x "/usr/bin/wget.exe") {
+        if ($^O eq 'cygwin'
+            && (! -x "/usr/bin/curl.exe" && ! -x "/usr/bin/wget.exe")) {
           $diemsg .= <<END_CYGWIN_WGET_MSG;
 
-It seems you are using Cygwin and haven't installed Cygwin's wget.
-See the TeX Live Guide information on Cygwin for required and
-recommended packages:
+It seems you are using Cygwin and have not installed Cygwin's
+curl or wget. See the TeX Live Guide information on Cygwin for required
+and recommended packages:
   https://tug.org/texlive/doc/texlive-en/texlive-en.html#cygwin
 END_CYGWIN_WGET_MSG
         }


More information about the tex-live mailing list.