texlive[71371] trunk: l3build (27may24)

commits+karl at tug.org commits+karl at tug.org
Mon May 27 21:30:08 CEST 2024


Revision: 71371
          https://tug.org/svn/texlive?view=revision&revision=71371
Author:   karl
Date:     2024-05-27 21:30:08 +0200 (Mon, 27 May 2024)
Log Message:
-----------
l3build (27may24)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3build/README.md
    trunk/Master/texmf-dist/doc/latex/l3build/l3build.pdf
    trunk/Master/texmf-dist/doc/man/man1/l3build.1
    trunk/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
    trunk/Master/texmf-dist/scripts/l3build/l3build-aux.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build-help.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build.lua
    trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx

Modified: trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua	2024-05-27 19:30:08 UTC (rev 71371)
@@ -25,7 +25,7 @@
 --]]
 
 -- Version information
-release_date = "2024-02-08"
+release_date = "2024-05-27"
 
 -- File operations are aided by the LuaFileSystem module
 local lfs = require("lfs")

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2024-05-27 19:30:08 UTC (rev 71371)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 71079 2024-04-25 22:15:30Z karl $
+# $Id: tlmgr.pl 71331 2024-05-24 07:30:36Z preining $
 # Copyright 2008-2024 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
@@ -8,8 +8,8 @@
 
 use strict; use warnings;
 
-my $svnrev = '$Revision: 71079 $';
-my $datrev = '$Date: 2024-04-26 00:15:30 +0200 (Fri, 26 Apr 2024) $';
+my $svnrev = '$Revision: 71331 $';
+my $datrev = '$Date: 2024-05-24 09:30:36 +0200 (Fri, 24 May 2024) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -1821,6 +1821,22 @@
 
 # 
 SEARCH
 #
+sub format_search_tlpdb_result {
+  my $ret = shift;
+  my $retfile = '';
+  my $retdesc = '';
+  for my $pkg (sort keys %{$ret->{"packages"}}) {
+    $retdesc .= "$pkg - " . $ret->{"packages"}{$pkg} . "\n";
+  }
+  for my $pkg (sort keys %{$ret->{"files"}}) {
+    $retfile .= "$pkg:\n";
+    for my $f (@{$ret->{"files"}{$pkg}}) {
+      $retfile .= "\t$f\n";
+    }
+  }
+  return ($retfile, $retdesc);
+}
+
 sub action_search {
   my ($r) = @ARGV;
   my $tlpdb;
@@ -1855,17 +1871,7 @@
     my $json = TeXLive::TLUtils::encode_json($ret);
     print($json);
   } else {
-    my $retfile = '';
-    my $retdesc = '';
-    for my $pkg (sort keys %{$ret->{"packages"}}) {
-      $retdesc .= "$pkg - " . $ret->{"packages"}{$pkg} . "\n";
-    }
-    for my $pkg (sort keys %{$ret->{"files"}}) {
-      $retfile .= "$pkg:\n";
-      for my $f (@{$ret->{"files"}{$pkg}}) {
-        $retfile .= "\t$f\n";
-      }
-    }
+    my ($retfile, $retdesc) = format_search_tlpdb_result($ret);
     print ($retdesc);
     print ($retfile);
   }
@@ -4328,7 +4334,8 @@
       }
       # we didn't find a package like this, so use search
       info("$prg: cannot find package $pkg, searching for other matches:\n");
-      my ($foundfile, $founddesc) = search_tlpdb($remotetlpdb,$pkg,1,1,0);
+      my $ret = search_tlpdb($remotetlpdb,$pkg,1,1,0);
+      my ($foundfile, $founddesc) = format_search_tlpdb_result($ret);
       print "\nPackages containing \`$pkg\' in their title/description:\n";
       print $founddesc;
       print "\nPackages containing files matching \`$pkg\':\n";
@@ -10584,7 +10591,7 @@
 distribution (L<https://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 71079 2024-04-25 22:15:30Z karl $
+$Id: tlmgr.pl 71331 2024-05-24 07:30:36Z preining $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md	2024-05-27 19:30:08 UTC (rev 71371)
@@ -7,6 +7,15 @@
 
 ## [Unreleased]
 
+## [2024-05-27]
+
+### Changed
+- Respect `--rerun` in `doc` target (issue \#112)
+
+### Fixed
+- Skip unknown engines correctly in `l3build save`
+- Handling of environment settings in some cases (issue \#353)
+
 ## [2024-02-08]
 
 ### Changed
@@ -776,7 +785,8 @@
 - Rationalise short option names: removed `-d`, `-E`, `-r`
 - Target `cmdcheck`: specific to LaTeX kernel work
 
-[Unreleased]: https://github.com/latex3/l3build/compare/2024-02-08...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2024-05-27...HEAD
+[2024-05-27]: https://github.com/latex3/l3build/compare/2024-02-08...2024-05-27
 [2024-02-08]: https://github.com/latex3/l3build/compare/2024-01-18...2024-02-08
 [2024-01-18]: https://github.com/latex3/l3build/compare/2024-01-09...2024-01-18
 [2024-01-09]: https://github.com/latex3/l3build/compare/2024-01-04...2024-01-09

Modified: trunk/Master/texmf-dist/doc/latex/l3build/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3build/README.md	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/doc/latex/l3build/README.md	2024-05-27 19:30:08 UTC (rev 71371)
@@ -1,7 +1,7 @@
 l3build: a testing and building system for LaTeX
 =================================================
 
-Release 2024-02-08
+Release 2024-05-27
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3build/l3build.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/l3build.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/l3build.1	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/doc/man/man1/l3build.1	2024-05-27 19:30:08 UTC (rev 71371)
@@ -1,91 +1,71 @@
-.TH l3build 1 "2024-02-08"
+.TH L3BUILD 1 "2024-05-27" "LaTeX"
+
 .SH NAME
-l3build \- Checking and building packages
+l3build
+
 .SH SYNOPSIS
-l3build <target> [<options>] [<names>]
+ Usage l3build <target> [<options>] [<names>]
+
 .SH DESCRIPTION
-The l3build system is a Lua script for building TeX packages, with particular
-emphasis on regression testing. It is written in cross-platform Lua code, so
-can be used by any modern TeX distribution with the texlua interpreter. A
-package for building with l3build can be written in any TeX dialect; its
-defaults are set up for LaTeX packages written in the DocStrip style.
-.PP
-The standard l3build targets are:
-.IP check
-Runs all automated tests
-.IP clean
-Cleans out directory tree
-.IP ctan
-Creates CTAN-ready archive
-.IP doc
-Typesets all documentation files
-.IP install
-Installs files into the local texmf tree
-.IP manifest
-Creates a manifest file
-.IP save
-Saves test validation log
-.IP tag
-Updates release tags in files
-.IP uninstall
-Uninstalls files from the local texmf tree
-.IP unpack
-Unpacks the source files into the build tree
-.IP upload
-Sends archive to CTAN for public release
+------
+
+The l3build module is designed to support the development of
+high-quality LaTeX code by providing:
+* A unit testing system
+* Automated typesetting of code sources
+* A reliable packaging system for CTAN releases
+
+The bundle consists of a Lua script to run the tasks and a
+.tex file which provides the testing environment. These were
+originally developed for supporting LaTeX development but
+are designed such that they can be readily used by others. Full
+documentation is provided.
+
+.SH COMMANDS
+Valid targets are:
+   check        Runs all automated tests
+   clean        Cleans out directory tree
+   ctan         Creates CTAN-ready archive
+   doc          Typesets all documentation files
+   install      Installs files into the local texmf tree
+   manifest     Creates a manifest file
+   save         Saves test validation log
+   tag          Updates release tags in files
+   uninstall    Uninstalls files from the local texmf tree
+   unpack       Unpacks the source files into the build tree
+   upload       Sends archive to CTAN for public release
+
 .SH OPTIONS
-Various options apply
-.IP --config|-c
-Sets the config(s) used for running tests
-.IP --date
-Sets the date to insert into sources
-.IP --debug
-Runs target in debug mode
-.IP --dirty
-Skips cleaning up the test area
-.IP --dry-run
-Dry run for install or upload
-.IP --email
-Email address of CTAN uploader
-.IP --engine|-e
-Sets the engine(s) to use for running test
-.IP --epoch
-Sets the epoch for tests and typesetting
-.IP --file|-F
-Takes the upload announcement from the given file
-.IP --first
-Name of first test to run
-.IP --full
-Installs all files
-.IP --halt-on-error|-H
-Stops running tests after the first failure
-.IP --help|-h
-Prints help message and exits
-.IP --last
-Name of last test to run
-.IP --message|-m
-Text for upload announcement message
-.IP --quiet|-q
-Suppresses TeX output when unpacking
-.IP --rerun
-Skips setup: simply reruns tests
-.IP --show-log-on-error
-Shows the full log of the failure with 'halt-on-error'
-.IP --show-saves|-S
-Shows the invocation to update failing .tlg files
-.IP --shuffle
-Shuffles order of tests
-.IP --stdengine|-s
-Run tests with the std engine (config dependent)
-.IP --texmfhome
-Location of user texmf tree
-.IP --version
-Prints version information and exits
-.SH BUGS
-.SH AUTHOR
-The LaTeX Project (latex-team at latex-project.org)
-.PP
-Please log issues on the GitHub homepage:
-https://github.com/latex3/l3build/issues.
-.SH SEE ALSO
-See l3build.pdf for more details.
+Valid options are:
+   --config|-c            Sets the config(s) used for running tests
+   --date                 Sets the date to insert into sources
+   --debug                Runs target in debug mode
+   --dirty                Skips cleaning up the test area
+   --dry-run              Dry run for install or upload
+   --email                Email address of CTAN uploader
+   --engine|-e            Sets the engine(s) to use for running test
+   --epoch                Sets the epoch for tests and typesetting
+   --file|-F              Takes the upload announcement from the given file
+   --first                Name of first test to run
+   --full                 Installs all files
+   --halt-on-error|-H     Stops running tests after the first failure
+   --help|-h              Prints this message and exits
+   --last                 Name of last test to run
+   --message|-m           Text for upload announcement message
+   --quiet|-q             Suppresses TeX output when unpacking
+   --rerun                Skips setup: simply reruns tests
+   --show-log-on-error    Shows the full log of the failure with 'halt-on-error'
+   --show-saves|-S        Shows the invocation to update failing .tlg files
+   --shuffle              Shuffles order of tests
+   --stdengine|-s         Run tests with the std engine (config dependent)
+   --texmfhome            Location of user texmf tree
+   --version              Prints version information and exits
+
+.SH "SEE ALSO"
+Full manual available via 'texdoc l3build'.
+
+Repository  : https://github.com/latex3/l3build
+
+Bug tracker : https://github.com/latex3/l3build/issues
+.SH AUTHORS
+Copyright (C) 2014-2024 The LaTeX Project

Modified: trunk/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-aux.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-aux.lua	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-aux.lua	2024-05-27 19:30:08 UTC (rev 71371)
@@ -189,9 +189,9 @@
   dir = abspath(dir)
   vars = vars or {}
   -- Allow for local texmf files
-  local env = ""
-  if not match(checkformat,"^context$")  then
-    env = os_setenv .. " TEXMFCNF=." .. os_pathsep .. os_concat
+  local env
+  if checkformat ~= "context" then
+    env = os_setenv .. " TEXMFCNF=." .. os_pathsep
   end
   local envpaths = "." .. localtexmf() .. os_pathsep
     .. abspath(localdir) .. os_pathsep
@@ -201,11 +201,9 @@
     envpaths = gsub(envpaths,'"','')
   end
   for _,var in pairs(vars) do
-    if env ~= "" then
-      env = env .. os_setenv .. " " .. var .. "=" .. envpaths .. os_concat
-    else
-      env = os_setenv .. " " .. var .. "=" .. envpaths
-    end
+    env = (env and (env .. os_concat) or "")
+      .. os_setenv .. " " .. var .. "=" .. envpaths
   end
-  return run(dir,set_epoch_cmd(epoch, forcedocepoch) .. env .. cmd)
+  return run(dir,set_epoch_cmd(epoch, forcedocepoch)
+    .. (env and (env .. os_concat) or "") .. cmd)
 end

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua	2024-05-27 19:30:08 UTC (rev 71371)
@@ -778,7 +778,7 @@
   local function setup(file)
     return " -jobname=" .. name .. tokens .. ' "\\input ' .. file .. '" '
   end
-  if match(checkformat,"^context$") then
+  if  checkformat == "context" then
     function setup(file) return tokens .. ' "' .. file .. '" '  end
   end
   if match(binary,"make4ht") then
@@ -1119,7 +1119,12 @@
       return errorlevel
     end
   end
-  local engines = options["engine"] or {stdengine}
+  local engines
+  if options["engine"] then
+    engines = checkengines -- sanitized by check_engines()
+  else
+    engines = {stdengine}
+  end
   if names == nil then
     print("Arguments are required for the save command")
     return 1

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-help.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-help.lua	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-help.lua	2024-05-27 19:30:08 UTC (rev 71371)
@@ -59,7 +59,7 @@
   if not (match(arg[0], "l3build%.lua$") or match(arg[0],"l3build$")) then
     scriptname = arg[0]
   end
-  print("usage: " .. scriptname .. " <target> [<options>] [<names>]")
+  print("\nUsage: " .. scriptname .. " <target> [<options>] [<names>]")
   print("")
   print("Valid targets are:")
   local longest,t = setup_list(target_list)

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua	2024-05-27 19:30:08 UTC (rev 71371)
@@ -181,7 +181,10 @@
 -- Typeset all required documents
 -- Uses a set of dedicated auxiliaries that need to be available to others
 function doc(files)
-  local errorlevel = docinit()
+  local errorlevel = 0
+  if not options["rerun"] then
+    errorlevel = docinit()
+  end
   if errorlevel ~= 0 then return errorlevel end
   local done = {}
   local files_unknown = {}

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build.lua	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build.lua	2024-05-27 19:30:08 UTC (rev 71371)
@@ -25,7 +25,7 @@
 --]]
 
 -- Version information
-release_date = "2024-02-08"
+release_date = "2024-05-27"
 
 -- File operations are aided by the LuaFileSystem module
 local lfs = require("lfs")

Modified: trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx	2024-05-27 19:29:56 UTC (rev 71370)
+++ trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx	2024-05-27 19:30:08 UTC (rev 71371)
@@ -251,7 +251,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-02-08}
+% \date{Released 2024-05-27}
 %
 % \maketitle
 % \tableofcontents
@@ -1227,9 +1227,9 @@
 % \subsection{Settings in \texttt{texmf.cnf}}
 %
 % To allow application of non-standard \TeX{} trees or similar non-standard
-% settings, \pkg{l3build} enables searching for a \texttt{texmf.cnf} file
-% by setting the envirnmental variable \texttt{TEXMFCNF}. This might
-% for example be used with a file containing
+% settings, \pkg{l3build} sets the environment variable \texttt{TEXMFCNF}
+% to allow reading of any \texttt{texmf.cnf} file present in the support folder.
+% This might for example be used with a file containing
 % \begin{verbatim}
 % TEXMFAUXTREES = ../../texmf,
 % \end{verbatim}



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