diff options
author | Norbert Preining <norbert@preining.info> | 2022-02-16 03:00:44 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-02-16 03:00:44 +0000 |
commit | e1b70cd3906c3b92e231eb8001f1a0c0eb2053c1 (patch) | |
tree | 8d8178c7c5b2fbd37ba1fad7e2d58d1bab7533a4 /systems/texlive/tlnet/tlpkg/TeXLive | |
parent | f53e32586563f8905b64242c461f777360059e2e (diff) |
CTAN sync 202202160300
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/TeXLive')
-rw-r--r-- | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm b/systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm index 1230c46c5e..85b899e881 100644 --- a/systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm +++ b/systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm @@ -1,4 +1,4 @@ -# $Id: TLUtils.pm 61996 2022-02-12 22:45:16Z karl $ +# $Id: TLUtils.pm 62016 2022-02-14 06:44:19Z 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 @@ use strict; use warnings; package TeXLive::TLUtils; -my $svnrev = '$Revision: 61996 $'; +my $svnrev = '$Revision: 62016 $'; my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown"; sub module_revision { return $_modulerevision; } @@ -73,7 +73,7 @@ C<TeXLive::TLUtils> - TeX Live infrastructure miscellany 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, $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 @@ sub time_estimate { } -=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, $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,15 @@ the TLPDB C<$from_tlpdb>. 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<$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_continue) = @_; my $container_src_split = $fromtlpdb->config_src_container; my $container_doc_split = $fromtlpdb->config_doc_container; my $root = $fromtlpdb->root; @@ -1670,7 +1673,12 @@ sub install_packages { 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}; } |