From f1901fc1651b1d69f87063c570d924110b1bd146 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 24 Dec 2021 22:42:10 +0000 Subject: doc,sync git-svn-id: svn://tug.org/texlive/trunk@61401 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/tests/TeXLive/TLConfig.pm | 8 ++-- Build/source/texk/tests/TeXLive/TLUtils.pm | 59 +++++++++++++++---------- Master/texmf-dist/scripts/texlive/tlmgr.pl | 68 ++++++++++++++--------------- Master/tlpkg/bin/c2lx | 3 +- Master/tlpkg/bin/tl-check-fmtshare | 5 ++- 5 files changed, 76 insertions(+), 67 deletions(-) diff --git a/Build/source/texk/tests/TeXLive/TLConfig.pm b/Build/source/texk/tests/TeXLive/TLConfig.pm index e24a368a533..b4a9a4c6875 100644 --- a/Build/source/texk/tests/TeXLive/TLConfig.pm +++ b/Build/source/texk/tests/TeXLive/TLConfig.pm @@ -1,12 +1,12 @@ -# $Id: TLConfig.pm 59225 2021-05-16 17:41:12Z karl $ # TeXLive::TLConfig.pm - module exporting configuration values # Copyright 2007-2021 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. +use strict; use warnings; package TeXLive::TLConfig; -my $svnrev = '$Revision: 59225 $'; +my $svnrev = '$Revision: 61229 $'; my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown"; sub module_revision { return $_modulerevision; } @@ -60,12 +60,12 @@ BEGIN { # the year of our release, will be used in the location of the # network packages, and in menu names, and other places. -$ReleaseYear = 2021; +our $ReleaseYear = 2021; # users can upgrade from this year to the current year; might be the # same as the release year, or any number of releases earlier. # Generally not tested, but should be. -$MinRelease = 2016; +our $MinRelease = 2016; # Meta Categories do not ship files, but only call for other packages. our @MetaCategories = qw/Collection Scheme/; diff --git a/Build/source/texk/tests/TeXLive/TLUtils.pm b/Build/source/texk/tests/TeXLive/TLUtils.pm index 4036f441b38..3aeeab28516 100644 --- a/Build/source/texk/tests/TeXLive/TLUtils.pm +++ b/Build/source/texk/tests/TeXLive/TLUtils.pm @@ -3,9 +3,11 @@ # This file is licensed under the GNU General Public License version 2 # or any later version. +use strict; use warnings; + package TeXLive::TLUtils; -my $svnrev = '$Revision: 60823 $'; +my $svnrev = '$Revision: 61372 $'; my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown"; sub module_revision { return $_modulerevision; } @@ -127,15 +129,23 @@ C - TeX Live infrastructure miscellany # avoid -warnings. our $PERL_SINGLE_QUOTE; # we steal code from Text::ParseWords -use vars qw( - $::LOGFILE $::LOGFILENAME @::LOGLINES - @::debug_hook @::ddebug_hook @::dddebug_hook @::info_hook - @::install_packages_hook @::warn_hook - $TeXLive::TLDownload::net_lib_avail - $::checksum_method $::gui_mode $::machinereadable $::no_execute_actions - $::regenerate_all_formats - $JSON::false $JSON::true -); + +# We use myriad global and package-global variables, unfortunately. +# To avoid "used only once" warnings, we must use the variable names +# again; one way to do that would be to assign them all to themselves in +# the BEGIN block, but this seems (slightly) less ugly. +# Example in first reply to: https://perlmonks.org/?node_id=11139324 +# +# Because we are providing a block to the package command, the scope is +# limited to that block, so the current real package ends up unaffected. +package main { + our ($LOGFILE, $LOGFILENAME, @LOGLINES, + @debug_hook, @ddebug_hook, @dddebug_hook, @info_hook, + @install_packages_hook, @warn_hook, + $checksum_method, $gui_mode, $machinereadable, + $no_execute_actions, $regenerate_all_formats); } +package JSON { our ($false, $true); } +package TeXLive::TLDownload { our $net_lib_avail; } BEGIN { use Exporter (); @@ -966,7 +976,7 @@ sub mkdirhier { # from the UNC path, since (! -d //servername/) tests true $subdir = $& if ( win32() && ($tree =~ s!^//[^/]+/!!) ); - @dirs = split (/[\/\\]/, $tree); + my @dirs = split (/[\/\\]/, $tree); for my $dir (@dirs) { $subdir .= "$dir/"; if (! -d $subdir) { @@ -1278,11 +1288,11 @@ sub copy { chmod ($mode, $outfile) || warn "chmod($mode,$outfile) failed: $!"; - while ($read = sysread (IN, $buffer, $blocksize)) { + while (my $read = sysread (IN, $buffer, $blocksize)) { die "read($infile) failed: $!" unless defined $read; $offset = 0; while ($read) { - $written = syswrite (OUT, $buffer, $read, $offset); + my $written = syswrite (OUT, $buffer, $read, $offset); die "write($outfile) failed: $!" unless defined $written; $read -= $written; $offset += $written; @@ -1520,7 +1530,7 @@ sub time_estimate { $min %= 60; } my $sec = $remsecs % 60; - $remtime = sprintf("%02d:%02d", $min, $sec); + my $remtime = sprintf("%02d:%02d", $min, $sec); if ($hour) { $remtime = sprintf("%02d:$remtime", $hour); } @@ -1531,7 +1541,7 @@ sub time_estimate { $tmin %= 60; } my $tsec = $esttotalsecs % 60; - $tottime = sprintf("%02d:%02d", $tmin, $tsec); + my $tottime = sprintf("%02d:%02d", $tmin, $tsec); if ($thour) { $tottime = sprintf("%02d:$tottime", $thour); } @@ -2057,7 +2067,7 @@ sub add_link_dir_dir { } if (-w $to) { debug ("TLUtils::add_link_dir_dir: linking from $from to $to\n"); - chomp (@files = `ls "$from"`); + chomp (my @files = `ls "$from"`); my $ret = 1; for my $f (@files) { # don't make a system-dir link to our special "man" link. @@ -2093,7 +2103,7 @@ sub remove_link_dir_dir { my ($from, $to) = @_; if ((-d "$to") && (-w "$to")) { debug("TLUtils::remove_link_dir_dir: removing links from $from to $to\n"); - chomp (@files = `ls "$from"`); + chomp (my @files = `ls "$from"`); my $ret = 1; foreach my $f (@files) { next if (! -r "$to/$f"); @@ -2654,11 +2664,11 @@ END_COMPRESSOR_BAD if ($::opt_verbosity >= 2) { require Data::Dumper; - use vars qw($Data::Dumper::Indent $Data::Dumper::Sortkeys - $Data::Dumper::Purity); # -w pain - $Data::Dumper::Indent = 1; - $Data::Dumper::Sortkeys = 1; # stable output - $Data::Dumper::Purity = 1; # recursive structures must be safe + # avoid spurious "used only once" warnings due to require + # (warnings restored at end of scope). https://perlmonks.org/?node_id=3333 + no warnings 'once'; + local $Data::Dumper::Sortkeys = 1; # stable output + local $Data::Dumper::Purity = 1; # reconstruct recursive structures print STDERR "DD:dumping "; print STDERR Data::Dumper->Dump([\%::progs], [qw(::progs)]); } @@ -3649,7 +3659,7 @@ Return call(er) stack, as a string. sub backtrace { my $ret = ""; - my ($line, $subr); + my ($filename, $line, $subr); my $stackframe = 1; # skip ourselves while ((undef,$filename,$line,$subr) = caller ($stackframe)) { # the undef is for the package, which is already included in $subr. @@ -4275,6 +4285,7 @@ Returns the local file name if succeeded, otherwise undef. sub download_to_temp_or_file { my $url = shift; + my $ret; my ($url_fh, $url_file); if ($url =~ m,^(https?|ftp|file)://, || $url =~ m!$SshURIRegex!) { ($url_fh, $url_file) = tl_tmpfile(); @@ -4643,7 +4654,7 @@ sub mktexupd { foreach my $db (@texmfdbs) { $db=substr($db, -1) if ($db=~m|/$|); # strip leading / $db = lc($db) if win32(); - $up = (win32() ? lc($path) : $path); + my $up = (win32() ? lc($path) : $path); if (substr($up, 0, length("$db/")) eq "$db/") { # we appended a / because otherwise "texmf" is recognized as a # substring of "texmf-dist". diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl index 6ba987e36b0..9367edccc69 100755 --- a/Master/texmf-dist/scripts/texlive/tlmgr.pl +++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl @@ -9459,32 +9459,32 @@ The allowed keys are: =over 4 -=item C, value 0 or 1 (default 1), same as command-line +=item C 0 or 1 (default 1), same as command-line option. -=item C, value 0 or 1 (default 1). +=item C 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings. -=item C I, with a language code value as with the +=item C I, with a language code value as with the command-line option. -=item C, value 0 or 1 (default 0, see below). +=item C 0 or 1 (default 0, see below). -=item C, value 0 or 1 (default 1), same as +=item C 0 or 1 (default 1), same as command-line option. -=item C, value 0 or 1 (default 0), same as +=item C 0 or 1 (default 0), same as command-line option. -=item C, value any float. -Controls the scaling of fonts in the Tk based frontends. +=item C I (default 1.0); +scaling factor for fonts in the Tk-based frontends. -=item C, value: comma-separated list of packages -(no space allowed). Same as the command line option C<--exclude> -for the action C. +=item C I +(no spaces allowed). Same as the command line option C<--exclude> +for the C action. -=item C, value 0 or 1 (default 1), same as +=item C 0 or 1 (default 1), same as command-line option. =back @@ -9493,32 +9493,29 @@ The system-wide config file can contain one additional key: =over 4 -=item C I [,I,...] -The value is a comma-separated list of C actions which are -allowed to be executed when C is invoked in system mode (that is, -without C<--usermode>). - -This allows distributors to include the C in their packaging, but -allow only a restricted set of actions that do not interfere with their -distro package manager. For native TeX Live installations, it doesn't -make sense to set this. +=item C I[,I,...] +The value is a comma-separated list (no spaces) of C actions +which are allowed to be executed when C is invoked in system mode +(that is, without C<--usermode>). This allows distributors to include +C in their packaging, but allow only a restricted set of actions +that do not interfere with their distro package manager. For native TeX +Live installations, it doesn't make sense to set this. =back -The C key needs more explanation. By default, package -checksums computed and stored on the server (in the TLPDB) are compared -to checksums computed locally after downloading. C -disables this process. - -The checksum algorithm is SHA-512. Your system must have one of (looked -for in this order) the Perl C module, the C -program (L), the C program (from GNU -Coreutils, L), or finally the -C program (just to support old Macs). If none of these are -available, a warning is issued and C proceeds without checking -checksums. (Incidentally, other SHA implementations, such as the pure -Perl and pure Lua modules, are much too slow to be usable in our -context.) C avoids the warning. +Finally, the C key needs more explanation. By default, +package checksums computed and stored on the server (in the TLPDB) are +compared to checksums computed locally after downloading. +C disables this process. The checksum algorithm is +SHA-512. Your system must have one of (looked for in this order) the +Perl C module, the C program +(L), the C program (from GNU Coreutils, +L), or finally the C +program (just to support old Macs). If none of these are available, a +warning is issued and C proceeds without checking checksums. +C avoids the warning. (Incidentally, other SHA +implementations, such as the pure Perl and pure Lua modules, are much +too slow to be usable in our context.) =head1 CRYPTOGRAPHIC VERIFICATION @@ -9653,7 +9650,6 @@ just as in normal mode. In user mode, these actions operate only on the user tree's configuration files and/or C. -creates configuration files in user tree =head1 MULTIPLE REPOSITORIES diff --git a/Master/tlpkg/bin/c2lx b/Master/tlpkg/bin/c2lx index 845144a1e6a..256b7f66bbc 100755 --- a/Master/tlpkg/bin/c2lx +++ b/Master/tlpkg/bin/c2lx @@ -29,7 +29,8 @@ elif test "x$1" = x3; then pkgs="l3kernel l3packages l3experimental l3build l3backend" elif test "x$1" = xjxu; then shift; label=jxu - pkgs="beaulivre colorist einfart lebhart minimalist simplivre" + pkgs="beaulivre colorist einfart lebhart mindflow minimalist" + pkgs="$pkgs projlib simplivre" else echo "$0: unknown latex or group type: $1 (one of: e dev 3 jxu)" >&2 exit 1 diff --git a/Master/tlpkg/bin/tl-check-fmtshare b/Master/tlpkg/bin/tl-check-fmtshare index 593b2205a2b..e8e9297b375 100755 --- a/Master/tlpkg/bin/tl-check-fmtshare +++ b/Master/tlpkg/bin/tl-check-fmtshare @@ -272,8 +272,9 @@ for fmt in $fmts; do echo "$0: running on $remotesys: $remotecmd" >$rfot ssh -n $remotesys "$remotecmd" >$rfot 2>&1 if test $? -ne 0; then - echo "$0: fmt load failed on $remotesys: $fmt" >&2 - echo "$0: see transcript: $rfot" >&2 + echo "$0: *** fmt load failed on $remotesys: $fmt" >&2 + echo "$0: *** see transcript: $rfot" >&2 + cat $rfot >&2 exit 1 else echo "$0: fmt load ok on $remotesys: $fmt" -- cgit v1.2.3