texlive[62297] trunk: doc,sync

commits+karl at tug.org commits+karl at tug.org
Mon Feb 28 23:13:17 CET 2022


Revision: 62297
          http://tug.org/svn/texlive?view=revision&revision=62297
Author:   karl
Date:     2022-02-28 23:13:17 +0100 (Mon, 28 Feb 2022)
Log Message:
-----------
doc,sync

Modified Paths:
--------------
    trunk/Build/source/README
    trunk/Build/source/texk/tests/TeXLive/TLConfig.pm
    trunk/Build/source/texk/tests/TeXLive/TLUtils.pm
    trunk/Master/tlpkg/TeXLive/TLUtils.pm
    trunk/Master/tlpkg/doc/releng.txt

Modified: trunk/Build/source/README
===================================================================
--- trunk/Build/source/README	2022-02-28 22:04:29 UTC (rev 62296)
+++ trunk/Build/source/README	2022-02-28 22:13:17 UTC (rev 62297)
@@ -34,8 +34,11 @@
 
 armhf-linux:
   Raspbian/Raspberry Pi OS (Debian Buster)
-  gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
+  gcc version 10.2.1 20210110 (Raspbian 10.2.1-6+rpi1)
   ./Build --enable-xindy CLISP=${BUILD_ROOT_DIR}/clisp/clisp-build/clisp}
+  armhf-linux binaries are created and tested on RPi;
+  they run on RPi, as well as ARMv7 CPUs, but are untested on non-RPi
+  ARMv6 machines.
 
 i386-cygwin, x86_64-cygwin: gcc-10.2.0, cygwin-3.1.7
   TL_CONFIGURE_ARGS="--enable-xindy --enable-shared CLISP=/path/to/clisp.exe
@@ -42,7 +45,6 @@
     LDFLAGS='-Wl,--no-insert-timestamp -Wl,--stack,0x800000'" \
   ./Build
   
-
 i386-freebsd, amd64-freebsd:
   Built on contextgarden, see below.
   FreeBSD 11.4
@@ -50,7 +52,7 @@
 i386-linux: see travis below.
 
 i386-netbsd, amd64-netbsd:
-  NetBSD/amd64 9.1
+  NetBSD/amd64 9.2
   gcc version 7.5.0 (nb4 20200810)
     TL_MAKE=gmake CC=gcc CXX=g++ \
     CFLAGS=-D_NETBSD_SOURCE \
@@ -80,7 +82,7 @@
 x86_64-linuxmusl:
   CentOS 7 Docker image with musl libc 1.1.5, plus gcc10:
     yum -y install centos-release-scl-rh
-    yum -y install devtoolset-10-gcc-c++
+    yum -y install devtoolset-9-gcc-c++
     yum install -y fontconfig-devel libX11-devel libXmu-devel libXaw-devel
   Binaries are taken from the CI testing via github;
   see the source/.github/* files for details on how to build,

Modified: trunk/Build/source/texk/tests/TeXLive/TLConfig.pm
===================================================================
--- trunk/Build/source/texk/tests/TeXLive/TLConfig.pm	2022-02-28 22:04:29 UTC (rev 62296)
+++ trunk/Build/source/texk/tests/TeXLive/TLConfig.pm	2022-02-28 22:13:17 UTC (rev 62297)
@@ -1,3 +1,4 @@
+# $Id: TLConfig.pm 62186 2022-02-26 17:51:21Z 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
@@ -6,7 +7,7 @@
 use strict; use warnings;
 package TeXLive::TLConfig;
 
-my $svnrev = '$Revision: 61229 $';
+my $svnrev = '$Revision: 62186 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -40,6 +41,7 @@
     $TeXLiveURL
     @CriticalPackagesList
     $CriticalPackagesRegexp
+    @InstallExtraRequiredPackages
     $WindowsMainMenuName
     $RelocPrefix
     $RelocTree
@@ -60,7 +62,7 @@
 
 # the year of our release, will be used in the location of the
 # network packages, and in menu names, and other places.
-our $ReleaseYear = 2021;
+our $ReleaseYear = 2022;
 
 # users can upgrade from this year to the current year; might be the
 # same as the release year, or any number of releases earlier.
@@ -121,6 +123,16 @@
   $CriticalPackagesRegexp = '^(texlive\.infra|tlperl\.win32$)';
 }
 
+
+# Extra package that are required for installation and installed
+# during the first run of the installer.
+# texlive-scripts are necessary for mktexlsr, updmap, fmtutil, ...
+# the installation cannot continue without those
+our @InstallExtraRequiredPackages = qw/texlive-scripts kpathsea hyphen-base/;
+if ($^O =~ /^MSWin/i) {
+  push @InstallExtraRequiredPackages, "luatex";
+}
+
 #
 our @AcceptedFallbackDownloaders = qw/curl wget/;
 our %FallbackDownloaderProgram = ( 'wget' => 'wget', 'curl' => 'curl');
@@ -357,6 +369,12 @@
 A list of all those packages which we do not update regularly since they
 are too central, currently texlive.infra and (for Windows) tlperl.win32.
 
+=item C<@TeXLive::TLConfig::InstallExtraRequiredPackages>
+
+A list of packages that are required in addition to those from
+C<@CriticalPackagesList> for the installer to be able to conclude
+installation.
+
 =item C<$TeXLive::TLConfig::RelocTree>
 
 The texmf-tree name that can be relocated, defaults to C<texmf-dist>.

Modified: trunk/Build/source/texk/tests/TeXLive/TLUtils.pm
===================================================================
--- trunk/Build/source/texk/tests/TeXLive/TLUtils.pm	2022-02-28 22:04:29 UTC (rev 62296)
+++ trunk/Build/source/texk/tests/TeXLive/TLUtils.pm	2022-02-28 22:13:17 UTC (rev 62297)
@@ -1,4 +1,4 @@
-# $Id: TLUtils.pm 61960 2022-02-09 21:43:08Z karl $
+# $Id: TLUtils.pm 62112 2022-02-20 22:57:45Z preining $
 # TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
 # Copyright 2007-2022 Norbert Preining, Reinhard Kotucha
 # This file is licensed under the GNU General Public License version 2
@@ -8,7 +8,7 @@
 
 package TeXLive::TLUtils;
 
-my $svnrev = '$Revision: 61960 $';
+my $svnrev = '$Revision: 62112 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -73,7 +73,7 @@
   TeXLive::TLUtils::create_language_def($tlpdb,$dest,$localconf);
   TeXLive::TLUtils::create_language_lua($tlpdb,$dest,$localconf);
   TeXLive::TLUtils::time_estimate($totalsize, $donesize, $starttime)
-  TeXLive::TLUtils::install_packages($from_tlpdb,$media,$to_tlpdb,$what,$opt_src, $opt_doc)>);
+  TeXLive::TLUtils::install_packages($from_tlpdb,$media,$to_tlpdb,$what,$opt_src, $opt_doc, $retry, $continue);
   TeXLive::TLUtils::do_postaction($how, $tlpobj, $do_fileassocs, $do_menu, $do_desktop, $do_script);
   TeXLive::TLUtils::announce_execute_actions($how, @executes, $what);
   TeXLive::TLUtils::add_symlinks($root, $arch, $sys_bin, $sys_man, $sys_info);
@@ -502,7 +502,7 @@
     'amd64-midnightbsd'=> 'MidnightBSD on x86_64',
     'amd64-netbsd'     => 'NetBSD on x86_64',
     'armel-linux'      => 'GNU/Linux on ARM',
-    'armhf-linux'      => 'GNU/Linux on ARMv6/RPi',
+    'armhf-linux'      => 'GNU/Linux on RPi(32-bit) and ARMv7',
     'hppa-hpux'        => 'HP-UX',
     'i386-cygwin'      => 'Cygwin on Intel x86',
     'i386-darwin'      => 'MacOSX legacy (10.5-10.6) on Intel x86',
@@ -1579,7 +1579,7 @@
 }
 
 
-=item C<install_packages($from_tlpdb, $media, $to_tlpdb, $what, $opt_src, $opt_doc)>
+=item C<install_packages($from_tlpdb, $media, $to_tlpdb, $what, $opt_src, $opt_doc, $retry, $continue)>
 
 Installs the list of packages found in C<@$what> (a ref to a list) into
 the TLPDB given by C<$to_tlpdb>. Information on files are taken from
@@ -1588,12 +1588,17 @@
 C<$opt_src> and C<$opt_doc> specify whether srcfiles and docfiles should be
 installed (currently implemented only for installation from uncompressed media).
 
+If C<$retry> is trueish, retry failed packages a second time.
+
+If C<$continue> is trueish, installation failure of non-critical packages
+will be ignored.
+
 Returns 1 on success and 0 on error.
 
 =cut
 
 sub install_packages {
-  my ($fromtlpdb,$media,$totlpdb,$what,$opt_src,$opt_doc) = @_;
+  my ($fromtlpdb,$media,$totlpdb,$what,$opt_src,$opt_doc, $opt_retry, $opt_continue) = @_;
   my $container_src_split = $fromtlpdb->config_src_container;
   my $container_doc_split = $fromtlpdb->config_doc_container;
   my $root = $fromtlpdb->root;
@@ -1651,7 +1656,7 @@
     # (and not installing from disk).
     if (!$fromtlpdb->install_package($package, $totlpdb)) {
       tlwarn("TLUtils::install_packages: Failed to install $package\n");
-      if ($media eq "NET") {
+      if ($opt_retry) {
         tlwarn("                           $package will be retried later.\n");
         push @packs_again, $package;
       } else {
@@ -1670,7 +1675,12 @@
     info("$infostr\n");
     # return false if download failed again
     if (!$fromtlpdb->install_package($package, $totlpdb)) {
-      return 0;
+      if ($opt_continue) {
+        push @::installation_failed_packages, $package;
+        tlwarn("Failed to install $package, but continue anyway!\n");
+      } else {
+        return 0;
+      }
     }
     $donesize += $tlpsizes{$package};
   }
@@ -4080,7 +4090,7 @@
 # 
 sub query_ctan_mirror_curl {
   my $max_trial = 3;
-  my $warg = (win32() ? "-w %{url_effective} " : "-w '%{url_effective}' ");
+  my $warg = (win32() ? '-w "%{url_effective}" ' : "-w '%{url_effective}' ");
   for (my $i = 1; $i <= $max_trial; $i++) {
     # -L -> follow redirects
     # -s -> silent

Modified: trunk/Master/tlpkg/TeXLive/TLUtils.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TLUtils.pm	2022-02-28 22:04:29 UTC (rev 62296)
+++ trunk/Master/tlpkg/TeXLive/TLUtils.pm	2022-02-28 22:13:17 UTC (rev 62297)
@@ -502,7 +502,7 @@
     'amd64-midnightbsd'=> 'MidnightBSD on x86_64',
     'amd64-netbsd'     => 'NetBSD on x86_64',
     'armel-linux'      => 'GNU/Linux on ARM',
-    'armhf-linux'      => 'GNU/Linux on ARMv6/RPi',
+    'armhf-linux'      => 'GNU/Linux on RPi(32-bit) and ARMv7',
     'hppa-hpux'        => 'HP-UX',
     'i386-cygwin'      => 'Cygwin on Intel x86',
     'i386-darwin'      => 'MacOSX legacy (10.5-10.6) on Intel x86',

Modified: trunk/Master/tlpkg/doc/releng.txt
===================================================================
--- trunk/Master/tlpkg/doc/releng.txt	2022-02-28 22:04:29 UTC (rev 62296)
+++ trunk/Master/tlpkg/doc/releng.txt	2022-02-28 22:13:17 UTC (rev 62297)
@@ -76,7 +76,8 @@
 the trunk is updating tlpretest for YYYY+1.
 
 The branch must be created right before the first pretest-specific
-commit (which is the next item, in Part II).
+commit (which is the next item, in Part II). Ensure *.pm are updated in
+Build/source first.
 
   cd /home/texlive/branch
   rm -rf * .[^.]* # be sure .svn et al. are gone
@@ -127,9 +128,6 @@
 Master/tlpkg/bin/tl-update-images
 Master/tlpkg/bin/tl-update-messages 
 Master/tlpkg/bin/tl-update-tlnet
-Master/tlpkg/installer/*.png
-  (make -C Master/tlpkg/doc/graphics -W texlive-installer-graphics.tex texlive.png)
-  then mv into place.
 Master/texmf-dist/web2c/texmfcnf.lua
 Master/texmf-dist/web2c/texmf.cnf  # from Build/.../kpathsea
   (also ensure that the Build and Master texmf.cnf files are in sync)
@@ -144,7 +142,7 @@
 6. Run tex \\end to check that dynamic mktexfmt works. 
 Ensure that web2c/texmf.cnf is updated for the current year (per above).
 
-6a. Then run fmtutil-user --all to check that all formats build.
+6a. Then run fmtutil-user --all to check that all formats build ok.
 
 6b. (For karl at tug.org: leave new ~karl/.texlive`date +%Y` for bnb,
 and update ~bnb/.cshrc after commit.)
@@ -155,7 +153,7 @@
     Build/source/inst/texmf-dist Master/texmf-dist
 
 8. Now, finally, try a first update of tlpretest:
-  env force_rebuild=true ~karl/bin/cron.pretest
+  env force_rebuild=true ~karl/bin/cron.pretest  # ~15min
 This will fail because the pretest dir is not yet set up, but
 that's ok; the idea is to check the output and ensure all is basically ok.
 The complaints about unknown "svn status output line"s are ok.
@@ -172,9 +170,13 @@
 rewritten. See recreate comments in tl-update-tlpdb and tl-update-containers.
 
 9b. Sanity check: Do an installation as a normal user from the new
-tlpretest, and keep it updated daily.
+tlpretest, and keep this installation updated daily as normal users do,
+that is, with tlmgr update --self --all.
 
-9c. In 2020, as a special case, after a first successful build, this was run:
+9c. Update other automatically-built binary sets, and ask tlbuild to
+build all (including asymptote).
+
+9d. In 2020, as a special case, after a first successful build, this was run:
   tl-fix-container-links
 In order to make all the archive/*.tar.xz files into versioned symlinks,
 so a given tarball will not be regenerated unless the content changes.
@@ -181,13 +183,25 @@
 This was a one-time event, but left here as an example for the unknown future.
 
 10. As of 2021, we want to keep updating tlnet from the new branch, as
-described in I.6. For sanity, it is best to edit cron.tl to use a temp
-destination instead of tlnet for the branch, initialize that repo from
-tlnet (as above with tlpretest), and then do a test build before the
-real one. To do the build:
+described in item I.6. For safety, let's do a trial build from the new
+branch to a temporary destination, say /home/texlive/tmp, before
+updating the real tlnet.  Initialize the tmp dir as above with
+tlpretest, item 9):
+  cd /home/texlive/tmp
+  rm -rf *
+  cp -ar ~ftp/texlive/tlnet/[a-u]* .  # omit tlnet/README*
+  
+10a. Edit ~karl/bin/cron.tl:
+- use /home/texlive/tmp instead of $ftp/tlnet for tlnet_dir;
+- add --testlocation=/home/texlive/trial to the tl-update-tlnet invocation.
+
+10b. To do the test branch build:
   env force_rebuild=true cron.branch
+Assuming it goes ok, then undo the edits.
+There will be no linked_scripts dir (no build done), but that's ok;
+we won't be installing binaries from a build.
 
-11. In cron.tl, set net_frozen=false, critical= , and
+11. In cron.tl, set critical= , net_frozen=false, and
     return to regular catalogue_compare=true updates.
     In the crontab, enable the pretest entries.
 



More information about the tex-live-commits mailing list.