diff options
-rw-r--r-- | Build/source/texk/tests/TeXLive/TLUtils.pm | 63 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-try-install | 2 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-asy | 13 | ||||
-rw-r--r-- | Master/tlpkg/doc/releng.txt | 7 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/place | 12 |
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 |