texlive[62485]

commits+karl at tug.org commits+karl at tug.org
Sun Mar 6 23:54:07 CET 2022


Revision: 62485
          http://tug.org/svn/texlive?view=revision&revision=62485
Author:   karl
Date:     2022-03-06 23:54:07 +0100 (Sun, 06 Mar 2022)
Log Message:
-----------
irrelevant sync (branch)

Modified Paths:
--------------
    branches/branch2021.final/Build/source/texk/tests/TeXLive/TLConfig.pm
    branches/branch2021.final/Build/source/texk/tests/TeXLive/TLUtils.pm

Modified: branches/branch2021.final/Build/source/texk/tests/TeXLive/TLConfig.pm
===================================================================
--- branches/branch2021.final/Build/source/texk/tests/TeXLive/TLConfig.pm	2022-03-06 22:27:37 UTC (rev 62484)
+++ branches/branch2021.final/Build/source/texk/tests/TeXLive/TLConfig.pm	2022-03-06 22:54:07 UTC (rev 62485)
@@ -1,3 +1,4 @@
+# $Id: TLConfig.pm 62096 2022-02-20 13:57:50Z preining $
 # TeXLive::TLConfig.pm - module exporting configuration values
 # Copyright 2007-2021 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
@@ -6,7 +7,7 @@
 use strict; use warnings;
 package TeXLive::TLConfig;
 
-my $svnrev = '$Revision: 61229 $';
+my $svnrev = '$Revision: 62096 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -40,6 +41,7 @@
     $TeXLiveURL
     @CriticalPackagesList
     $CriticalPackagesRegexp
+    @InstallExtraRequiredPackages
     $WindowsMainMenuName
     $RelocPrefix
     $RelocTree
@@ -121,6 +123,16 @@
   $CriticalPackagesRegexp = '^(texlive\.infra|tlperl\.win32$)';
 }
 
+
+# Extra package that are required for installation and installed
+# during the first run of the installer.
+# texlive-scripts are necessary for mktexlsr, updmap, fmtutil, ...
+# the installation cannot continue without those
+our @InstallExtraRequiredPackages = qw/texlive-scripts kpathsea hyphen-base/;
+if ($^O =~ /^MSWin/i) {
+  push @InstallExtraRequiredPackages, "luatex";
+}
+
 #
 our @AcceptedFallbackDownloaders = qw/curl wget/;
 our %FallbackDownloaderProgram = ( 'wget' => 'wget', 'curl' => 'curl');
@@ -357,6 +369,12 @@
 A list of all those packages which we do not update regularly since they
 are too central, currently texlive.infra and (for Windows) tlperl.win32.
 
+=item C<@TeXLive::TLConfig::InstallExtraRequiredPackages>
+
+A list of packages that are required in addition to those from
+C<@CriticalPackagesList> for the installer to be able to conclude
+installation.
+
 =item C<$TeXLive::TLConfig::RelocTree>
 
 The texmf-tree name that can be relocated, defaults to C<texmf-dist>.

Modified: branches/branch2021.final/Build/source/texk/tests/TeXLive/TLUtils.pm
===================================================================
--- branches/branch2021.final/Build/source/texk/tests/TeXLive/TLUtils.pm	2022-03-06 22:27:37 UTC (rev 62484)
+++ branches/branch2021.final/Build/source/texk/tests/TeXLive/TLUtils.pm	2022-03-06 22:54:07 UTC (rev 62485)
@@ -1,4 +1,4 @@
-# $Id: TLUtils.pm 61960 2022-02-09 21:43:08Z karl $
+# $Id: TLUtils.pm 62112 2022-02-20 22:57:45Z preining $
 # TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
 # Copyright 2007-2022 Norbert Preining, Reinhard Kotucha
 # This file is licensed under the GNU General Public License version 2
@@ -8,7 +8,7 @@
 
 package TeXLive::TLUtils;
 
-my $svnrev = '$Revision: 61960 $';
+my $svnrev = '$Revision: 62112 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -73,7 +73,7 @@
   TeXLive::TLUtils::create_language_def($tlpdb,$dest,$localconf);
   TeXLive::TLUtils::create_language_lua($tlpdb,$dest,$localconf);
   TeXLive::TLUtils::time_estimate($totalsize, $donesize, $starttime)
-  TeXLive::TLUtils::install_packages($from_tlpdb,$media,$to_tlpdb,$what,$opt_src, $opt_doc)>);
+  TeXLive::TLUtils::install_packages($from_tlpdb,$media,$to_tlpdb,$what,$opt_src, $opt_doc, $retry, $continue);
   TeXLive::TLUtils::do_postaction($how, $tlpobj, $do_fileassocs, $do_menu, $do_desktop, $do_script);
   TeXLive::TLUtils::announce_execute_actions($how, @executes, $what);
   TeXLive::TLUtils::add_symlinks($root, $arch, $sys_bin, $sys_man, $sys_info);
@@ -1579,7 +1579,7 @@
 }
 
 
-=item C<install_packages($from_tlpdb, $media, $to_tlpdb, $what, $opt_src, $opt_doc)>
+=item C<install_packages($from_tlpdb, $media, $to_tlpdb, $what, $opt_src, $opt_doc, $retry, $continue)>
 
 Installs the list of packages found in C<@$what> (a ref to a list) into
 the TLPDB given by C<$to_tlpdb>. Information on files are taken from
@@ -1588,12 +1588,17 @@
 C<$opt_src> and C<$opt_doc> specify whether srcfiles and docfiles should be
 installed (currently implemented only for installation from uncompressed media).
 
+If C<$retry> is trueish, retry failed packages a second time.
+
+If C<$continue> is trueish, installation failure of non-critical packages
+will be ignored.
+
 Returns 1 on success and 0 on error.
 
 =cut
 
 sub install_packages {
-  my ($fromtlpdb,$media,$totlpdb,$what,$opt_src,$opt_doc) = @_;
+  my ($fromtlpdb,$media,$totlpdb,$what,$opt_src,$opt_doc, $opt_retry, $opt_continue) = @_;
   my $container_src_split = $fromtlpdb->config_src_container;
   my $container_doc_split = $fromtlpdb->config_doc_container;
   my $root = $fromtlpdb->root;
@@ -1651,7 +1656,7 @@
     # (and not installing from disk).
     if (!$fromtlpdb->install_package($package, $totlpdb)) {
       tlwarn("TLUtils::install_packages: Failed to install $package\n");
-      if ($media eq "NET") {
+      if ($opt_retry) {
         tlwarn("                           $package will be retried later.\n");
         push @packs_again, $package;
       } else {
@@ -1670,7 +1675,12 @@
     info("$infostr\n");
     # return false if download failed again
     if (!$fromtlpdb->install_package($package, $totlpdb)) {
-      return 0;
+      if ($opt_continue) {
+        push @::installation_failed_packages, $package;
+        tlwarn("Failed to install $package, but continue anyway!\n");
+      } else {
+        return 0;
+      }
     }
     $donesize += $tlpsizes{$package};
   }
@@ -4080,7 +4090,7 @@
 # 
 sub query_ctan_mirror_curl {
   my $max_trial = 3;
-  my $warg = (win32() ? "-w %{url_effective} " : "-w '%{url_effective}' ");
+  my $warg = (win32() ? '-w "%{url_effective}" ' : "-w '%{url_effective}' ");
   for (my $i = 1; $i <= $max_trial; $i++) {
     # -L -> follow redirects
     # -s -> silent



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