summaryrefslogtreecommitdiff
path: root/systems/texlive/tlnet/install-tl
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-10-18 03:01:19 +0000
committerNorbert Preining <norbert@preining.info>2019-10-18 03:01:19 +0000
commit05b01edf56c54f79f4d3bd69677b1946f31ef5b8 (patch)
treedb6bf292aae890721f697196097e057e98616b70 /systems/texlive/tlnet/install-tl
parent4b52b3987478d3197855edc2e7e24276fc2c3cb3 (diff)
CTAN sync 201910180301
Diffstat (limited to 'systems/texlive/tlnet/install-tl')
-rwxr-xr-xsystems/texlive/tlnet/install-tl28
1 files changed, 22 insertions, 6 deletions
diff --git a/systems/texlive/tlnet/install-tl b/systems/texlive/tlnet/install-tl
index 68c6f20f18..74be0fd1b9 100755
--- a/systems/texlive/tlnet/install-tl
+++ b/systems/texlive/tlnet/install-tl
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# $Id: install-tl 51840 2019-08-07 22:27:00Z karl $
+# $Id: install-tl 52423 2019-10-17 22:32:30Z karl $
# Copyright 2007-2019
# Reinhard Kotucha, Norbert Preining, Karl Berry, Siep Kroonenberg.
# This file is licensed under the GNU General Public License version 2
@@ -8,7 +8,7 @@
# Be careful when changing wording: *every* normal informational message
# output here must be recognized by the long grep in tl-update-tlnet.
-my $svnrev = '$Revision: 51840 $';
+my $svnrev = '$Revision: 52423 $';
$svnrev =~ m/: ([0-9]+) /;
$::installerrevision = ($1 ? $1 : 'unknown');
@@ -180,6 +180,8 @@ use strict;
# global list of lines that get logged (see TLUtils.pm::_logit).
@::LOGLINES = ();
+# if --version, --help, etc., this just gets thrown away, which is ok.
+&log ("TeX Live installer invocation: $0", map { " $_" } @ARGV, "\n");
# global list of warnings
@::WARNLINES = ();
@@ -2122,9 +2124,23 @@ sub read_profile {
} # read_profile
sub do_install_packages {
- my @what;
- foreach my $package (sort keys %install) {
- push @what, $package if ($install{$package} == 1);
+ # let's install the critical packages first, since they are the most
+ # likely to fail (so let's fail early), and nothing is usable without them.
+ my @what = ();
+ foreach my $package (sort {
+ if ($a =~ /$CriticalPackagesRegexp/) {
+ if ($b =~ /$CriticalPackagesRegexp/) {
+ return $a cmp $b; # both critical
+ } else {
+ return -1; # critical before non-critical
+ }
+ } elsif ($b =~ /$CriticalPackagesRegexp/) {
+ return 1; # critical before non-critical
+ } else {
+ return $a cmp $b;
+ }
+ } keys %install) {
+ push (@what, $package) if ($install{$package} == 1);
}
# temporary unset the localtlpdb options responsible for
# running all kind of postactions, since install_packages
@@ -3163,7 +3179,7 @@ This script and its documentation were written for the TeX Live
distribution (L<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: install-tl 51840 2019-08-07 22:27:00Z karl $
+$Id: install-tl 52423 2019-10-17 22:32:30Z karl $
=cut
# to remake HTML version: pod2html --cachedir=/tmp install-tl >/tmp/itl.html