summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-11-22 23:37:16 +0000
committerKarl Berry <karl@freefriends.org>2018-11-22 23:37:16 +0000
commit29f51454d26547cf60979a6578f2d4af728b27b9 (patch)
tree69a94b7daa5c22f42050122f71570ee82edb0acd
parent06264de0123b29bc0d5206d623cf0b4a464febc2 (diff)
doc
git-svn-id: svn://tug.org/texlive/trunk@49226 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/scripts/texlive/NEWS5
-rwxr-xr-xMaster/texmf-dist/scripts/texlive/tlmgr.pl34
-rw-r--r--Master/tlpkg/TeXLive/TLUtils.pm15
3 files changed, 36 insertions, 18 deletions
diff --git a/Master/texmf-dist/scripts/texlive/NEWS b/Master/texmf-dist/scripts/texlive/NEWS
index a3cf6503cf1..4407bf6ee85 100644
--- a/Master/texmf-dist/scripts/texlive/NEWS
+++ b/Master/texmf-dist/scripts/texlive/NEWS
@@ -2,6 +2,11 @@
Karl Berry, 2010.)
<p><b>tlmgr 48598 (released 29oct18):</b>
+<li>new environment variable TEXLIVE_PREFER_OWN to prefer compression
+(e.g., xz) and download (e.g., wget) programs shipped with TL to those
+provided by the system.
+
+<p><b>tlmgr 48598 (released 29oct18):</b>
<li>remove debugging line for caller() left in by mistake.
<li>update ctan backbone list (to the one remaining).
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl
index d72ba3983e5..36608bf55a0 100755
--- a/Master/texmf-dist/scripts/texlive/tlmgr.pl
+++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl
@@ -9704,10 +9704,9 @@ automatically selected by the installer. The order of selection is:
=item 1.
-If the environment variable C<TEXLIVE_DOWNLOADER> is
-defined, use it; abort if the specified program doesn't work.
-Possible values: C<curl>, C<wget>. The necessary options are added
-internally.
+If the environment variable C<TEXLIVE_DOWNLOADER> is defined, use it;
+abort if the specified program doesn't work. Possible values: C<lwp>,
+C<curl>, C<wget>. The necessary options are added internally.
=item 2.
@@ -9730,20 +9729,27 @@ If wget is available (either from the system or TL) and working, use that.
=back
-TL still provides C<wget> binaries for some platforms, so
-some download method should always be available.
+TL provides C<wget> binaries for platforms where necessary, so some
+download method should always be available.
=item C<TEXLIVE_PREFER_OWN>
-By default, programs provided by the system, i.e., found in the C<PATH> are
-preferred over those shipped with TeX Live. In particular, if C<xz> is found
-in the C<PATH> somewhere, this version is used instead of the one included
-in TeX Live.
+By default, compression and download programs provided by the system,
+i.e., found along C<PATH> are preferred over those shipped with TeX
+Live.
-This can create problems with too old systems, and can be overriden by
-setting the environment variable C<TEXLIVE_PREFER_OWN> to 1. In this case
-TeX Live will prefer programs for compressor and downloader as shipped with
-TeX Live over their respective variants provided by the system.
+This can create problems with systems that are too old, and so can be
+overridden by setting the environment variable C<TEXLIVE_PREFER_OWN> to
+1. In this case, executables shipped with TL will be preferred.
+
+Extra compression/download programs not provided by TL, such as gzip,
+lwp, and curl, are still checked for on the system and used if
+available, per the above. C<TEXLIVE_PREFER_OWN> only applies when the
+program being checked for is shipped with TL, namely the lz4 and
+xz compressors and wget downloader.
+
+Exception: on Windows, the C<tar.exe> shipped with TL is always used,
+regardless of any setting.
=back
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm
index 399e3fe4d1a..3f6746c36e0 100644
--- a/Master/tlpkg/TeXLive/TLUtils.pm
+++ b/Master/tlpkg/TeXLive/TLUtils.pm
@@ -2328,7 +2328,7 @@ sub read_file_ignore_cr {
}
-=item C<setup_programs($bindir, $platform)>
+=item C<setup_programs($bindir, $platform, $tlfirst)>
Populate the global C<$::progs> hash containing the paths to the
programs C<lz4>, C<tar>, C<wget>, C<xz>. The C<$bindir> argument specifies
@@ -2337,6 +2337,10 @@ gives the TeX Live platform name, used as the extension on our
executables. If a program is not present in the TeX Live tree, we also
check along PATH (without the platform extension.)
+If the C<$tlfirst> argument or the C<TEXLIVE_PREFER_OWN> envvar is set,
+prefer TL versions; else prefer system versions (except for Windows
+C<tar.exe>, where we always use ours).
+
Check many different downloads and compressors to determine what is
working.
@@ -2393,10 +2397,13 @@ sub setup_programs {
}
$::progs{'working_downloaders'} = [ @working_downloaders ];
my @working_compressors;
- for my $defprog (sort {$Compressors{$a}{'priority'} <=> $Compressors{$b}{'priority'}} keys %Compressors) {
+ for my $defprog (sort
+ { $Compressors{$a}{'priority'} <=> $Compressors{$b}{'priority'} }
+ keys %Compressors) {
# do not warn on errors
if (setup_one(($isWin ? "w32" : "unix"), $defprog,
- "$bindir/$defprog/$defprog.$platform", "--version", $tlfirst)) {
+ "$bindir/$defprog/$defprog.$platform", "--version",
+ $tlfirst)) {
push @working_compressors, $defprog;
# also set up $::{'compressor'} if not already done
# this selects the first one, but we might reset this depending on
@@ -2580,7 +2587,7 @@ into C<$destination>, which can be either
a filename of simply C<|>. In the latter case a file handle is returned.
Downloading first checks for the environment variable C<TEXLIVE_DOWNLOADER>,
-which takes various built-in values. If not set, the next check is fr
+which takes various built-in values. If not set, the next check is for
C<TL_DOWNLOAD_PROGRAM> and C<TL_DOWNLOAD_ARGS>. The former overrides the
above specification devolving to C<wget>, and the latter overrides the
default wget arguments.