summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/tests/TeXLive/TLUtils.pm63
-rwxr-xr-xMaster/tlpkg/bin/tl-try-install2
-rwxr-xr-xMaster/tlpkg/bin/tl-update-asy13
-rw-r--r--Master/tlpkg/doc/releng.txt7
-rwxr-xr-xMaster/tlpkg/libexec/place12
5 files changed, 64 insertions, 33 deletions
diff --git a/Build/source/texk/tests/TeXLive/TLUtils.pm b/Build/source/texk/tests/TeXLive/TLUtils.pm
index 3aeeab28516..3de34cafd0a 100644
--- a/Build/source/texk/tests/TeXLive/TLUtils.pm
+++ b/Build/source/texk/tests/TeXLive/TLUtils.pm
@@ -1,5 +1,5 @@
# TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
-# Copyright 2007-2021 Norbert Preining, Reinhard Kotucha
+# Copyright 2007-2022 Norbert Preining, Reinhard Kotucha
# This file is licensed under the GNU General Public License version 2
# or any later version.
@@ -7,7 +7,7 @@ use strict; use warnings;
package TeXLive::TLUtils;
-my $svnrev = '$Revision: 61372 $';
+my $svnrev = '$Revision: 61711 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -131,21 +131,50 @@ C<TeXLive::TLUtils> - TeX Live infrastructure miscellany
our $PERL_SINGLE_QUOTE; # we steal code from Text::ParseWords
# 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
+# To avoid "used only once" warnings, we must use the variable names again.
#
-# 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; }
+# This ugly repetition in the BEGIN block works with all Perl versions.
+BEGIN {
+ $::LOGFILE = $::LOGFILE;
+ $::LOGFILENAME = $::LOGFILENAME;
+ @::LOGLINES = @::LOGLINES;
+ @::debug_hook = @::debug_hook;
+ @::ddebug_hook = @::ddebug_hook;
+ @::dddebug_hook = @::dddebug_hook;
+ @::info_hook = @::info_hook;
+ @::warn_hook = @::warn_hook;
+ $::checksum_method = $::checksum_method;
+ $::gui_mode = $::gui_mode;
+ @::install_packages_hook = @::install_packages_hook;
+ $::machinereadable = $::machinereadable;
+ $::no_execute_actions = $::no_execute_actions;
+ $::regenerate_all_formats = $::regenerate_all_formats;
+ #
+ $JSON::false = $JSON::false;
+ $JSON::true = $JSON::true;
+ #
+ $TeXLive::TLDownload::net_lib_avail = $TeXLive::TLDownload::net_lib_avail;
+}
+
+## A cleaner way is to use the "package PKGNAME BLOCK" syntax:
+## when providing a block to the package command, the scope is
+## limited to that block, so the current real package ends up unaffected.
+## Example in first reply to: https://perlmonks.org/?node_id=11139324
+## (Other solutions are also given there, but they don't work well in
+## our context here, although we use them elsewhere.)
+##
+## Unfortunately the package BLOCK syntax was invented for perl 5.14.0,
+## ca.2011, and OpenCSW on Solaris 10 only provides an older Perl. If we
+## ever drop Solaris 10 support, we can replace the above with this.
+##
+#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 ();
@@ -414,7 +443,7 @@ sub platform_name {
# We don't use uname numbers here.)
#
# this changes each year, per above:
- my $mactex_darwin = 14; # lowest minor rev supported by x86_64-darwin.
+ my $mactex_darwin = 14; # lowest minor rev supported by universal-darwin.
#
# Most robust approach is apparently to check sw_vers (os version,
# returns "10.x" values), and sysctl (processor hardware).
diff --git a/Master/tlpkg/bin/tl-try-install b/Master/tlpkg/bin/tl-try-install
index fcdb858913f..14e83036010 100755
--- a/Master/tlpkg/bin/tl-try-install
+++ b/Master/tlpkg/bin/tl-try-install
@@ -1,6 +1,6 @@
#!/bin/sh
# Public domain. Originally written 2019, Karl Berry.
-# Try a TL installation into /tmp/ki (hardwired),
+# Try a TL installation into /tmp/ki (by default),
# using install-tl with a given profile.
vc_id='$Id$'
diff --git a/Master/tlpkg/bin/tl-update-asy b/Master/tlpkg/bin/tl-update-asy
index c9d454a7ab8..109c129954f 100755
--- a/Master/tlpkg/bin/tl-update-asy
+++ b/Master/tlpkg/bin/tl-update-asy
@@ -44,14 +44,15 @@ elif test "x$1" = x--build; then
# this part is about building the x86 linux asymptote on tug.org.
# Despite all the dire warnings above, this part actually can be run
# as a script, because it's so often necessary to redo.
- set -e
+ unset GREP_OPTIONS CDPATH
PATH=/usr/bin:/usr/sbin; export PATH # system gcc for sake of shared libs
- #PATH=/usr/local/bin:$PATH # need new gs to pass tests, but ok
- PATH=$lb:$PATH # get our kpsewhich
+ PATH=$lb:$PATH # get our kpsewhich
svn=/usr/local/bin/svn # so we need our svn explicitly
- unset GREP_OPTIONS CDPATH
-
set -x
+ rhtoolset=/opt/rh/devtoolset-10/enable
+ test -s $rhtoolset && . $rhtoolset
+
+ set -e
cd /home/texlive/karl/Build/source/utils/asymptote
$svn update
$svn revert asy-keywords.el
@@ -66,7 +67,7 @@ elif test "x$1" = x--build; then
./configure --prefix=/tmp/ainst \
--with-latex=/tmp/ainst/latex --with-context=/tmp/ainst/context \
--disable-fftw --disable-gl --disable-gsl \
- --enable-texlive-build CFLAGS=-g CXXFLAGS=-std=c++11 #-ansi
+ --enable-texlive-build CFLAGS=-g CXXFLAGS=-std=c++17 #-ansi
make
make check
make install-prebuilt
diff --git a/Master/tlpkg/doc/releng.txt b/Master/tlpkg/doc/releng.txt
index 82f8fa28b08..0220a01ef10 100644
--- a/Master/tlpkg/doc/releng.txt
+++ b/Master/tlpkg/doc/releng.txt
@@ -189,7 +189,7 @@ real one. To do the build:
env force_rebuild=true cron.branch
11. In cron.tl, set net_frozen=false, critical= , and
- return to regular catalogue_compare updates.
+ return to regular catalogue_compare=true updates.
In the crontab, enable the pretest entries.
12. Life and daily updates resume: run c2l to update trunk->tlpretest,
@@ -276,7 +276,7 @@ M. As pretest proceeds, update the doc:
tl-update-txi
Don't forget to commit everything (texmf-dist/doc, Build/source, ...).
-N. Really test during and at end of pretest that
+N. Really test during, and at end, of pretest that
(really! don't leave it for post-release failure)
.fmt's sharable are across endian/word-different platforms,
including luatex:
@@ -293,7 +293,7 @@ W. Two days before the final pretest (i.e., to-be-published) build:
Put date into NEWS and ChangeLog files above.
Update Build/source/tardate.ac && reautoconf.
tlmgr version number in texmf-dist/scripts/texlive/NEWS.
- In cron.tl, set catalogue_compare=true for final syncs.
+ In cron.tl, force catalogue_compare=true for final syncs.
Run make distclean in Build/source/utils/asymptote
to aviod that build junk ending up in the source tarball.
Reenable images_frozen=false so we get the new sources,
@@ -515,6 +515,7 @@ critical=
images_frozen=true
net_frozen=false
all_frozen=false
+catalogue_compare=true intermittently
after TC release:
- texcollection
diff --git a/Master/tlpkg/libexec/place b/Master/tlpkg/libexec/place
index 947921404d2..4b02bb13e78 100755
--- a/Master/tlpkg/libexec/place
+++ b/Master/tlpkg/libexec/place
@@ -256,19 +256,19 @@ my $dirlist_file = "$tmpfile.dirs";
$DIRLIST = ">$dirlist_file";
open (DIRLIST) || die "open($DIRLIST) failed: $!";
#
-print "place: directories are:\n";
+print "\n\f place: directories are:\n";
for my $dir (sort keys %dirs) {
print "$dir\n";
print DIRLIST "$dir\n";
}
-#
close (DIRLIST) || warn "close($DIRLIST) failed: $!";
-# Always run svn update, even without --place. This will let a worker
-# detect that a particular package update has already been done by
-# someone else.
+# Always run svn update, even without --place. This can help a worker
+# detect that a package update has already been done by someone else.
if ($opt_mode eq "svn") {
- print ("\nsvn update of those directories:\n");
+ print ("\nsvn status of those directories:\n");
+ system ("svn status `cat $dirlist_file`");
+ print ("\f\nsvn update of those directories:\n");
system ("svn update `cat $dirlist_file`");
}
# do nothing in git mode