texlive[51397] trunk: l3build (18jun19)

commits+karl at tug.org commits+karl at tug.org
Wed Jun 19 00:29:21 CEST 2019


Revision: 51397
          http://tug.org/svn/texlive?view=revision&revision=51397
Author:   karl
Date:     2019-06-19 00:29:20 +0200 (Wed, 19 Jun 2019)
Log Message:
-----------
l3build (18jun19)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
    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-arguments.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build-upload.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	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua	2019-06-18 22:29:20 UTC (rev 51397)
@@ -25,7 +25,7 @@
 --]]
 
 -- Version information
-release_date = "2019-02-10"
+release_date = "2019-06-18"
 
 -- File operations are aided by the LuaFileSystem module
 local lfs = require("lfs")

Modified: trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md	2019-06-18 22:29:20 UTC (rev 51397)
@@ -7,6 +7,17 @@
 
 ## [Unreleased]
 
+## [2019-06-18]
+
+### Added
+
+- Switch `--show-log-on-error` for use with `--halt-on-error`. Results in the `.log` file
+  being show in full on the console to aid in non-interactive debugging.
+
+### Changed
+
+- Moved LuaTeX-specific font cache normalisation
+
 ## [2019-02-10]
 
 ### Fixed
@@ -251,7 +262,8 @@
 - Rationalise short option names: removed `-d`, `-E`, `-r`
 - Target `cmdcheck`: specific to LaTeX3 kernel work
 
-[Unreleased]: https://github.com/latex3/l3build/compare/2019-02-10...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2019-06-18...HEAD
+[2019-06-18]: https://github.com/latex3/l3build/compare/2019-02-10...2019-06-18
 [2019-02-10]: https://github.com/latex3/l3build/compare/2019-02-06...2019-02-10
 [2019-02-06]: https://github.com/latex3/l3build/compare/2018-12-23...2019-02-06
 [2018-12-23]: https://github.com/latex3/l3build/compare/2018-12-18...2018-12-23

Modified: trunk/Master/texmf-dist/doc/latex/l3build/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3build/README.md	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/doc/latex/l3build/README.md	2019-06-18 22:29:20 UTC (rev 51397)
@@ -1,7 +1,7 @@
 l3build: a testing and building system for LaTeX3
 =================================================
 
-Release 2019-02-10
+Release 2019-06-18
 
 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	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/doc/man/man1/l3build.1	2019-06-18 22:29:20 UTC (rev 51397)
@@ -1,4 +1,4 @@
-.TH l3build 1 "2019-02-10"
+.TH l3build 1 "2019-06-18"
 .SH NAME
 l3build \- Checking and building packages
 .SH SYNOPSIS

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

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-arguments.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-arguments.lua	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-arguments.lua	2019-06-18 22:29:20 UTC (rev 51397)
@@ -111,12 +111,6 @@
         short = "h",
         type  = "boolean"
       },
-    quiet =
-      {
-        desc  = "Suppresses TeX output when unpacking",
-        short = "q",
-        type  = "boolean"
-      },
     last =
       {
         desc  = "Name of last test to run",
@@ -128,11 +122,22 @@
         short = "m",
         type  = "string"
       },
+    quiet =
+      {
+        desc  = "Suppresses TeX output when unpacking",
+        short = "q",
+        type  = "boolean"
+      },
     rerun =
       {
         desc  = "Skip setup: simply rerun tests",
         type  = "boolean"
       },
+    ["show-log-on-error"] =
+      {
+        desc  = "If 'halt-on-error' stops, show the full log of the failure",
+        type  = "boolean"
+      },
     shuffle =
       {
         desc  = "Shuffle order of tests",

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua	2019-06-18 22:29:20 UTC (rev 51397)
@@ -243,6 +243,9 @@
        match(line, "^used structure  >") then
        return ""
     end
+    -- The first time a new font is used by LuaTeX, it shows up
+    -- as being cached: make it appear loaded every time
+    line = gsub(line, "save cache:", "load cache:")
     -- A tidy-up to keep LuaTeX and other engines in sync
     line = gsub(line, utf8_char(127), "^^?")
     -- Unicode engines display chars in the upper half of the 8-bit range:
@@ -345,9 +348,6 @@
         "Missing character: There is no (%^%^..) %(U%+(....)%)",
         "Missing character: There is no %1"
       )
-    -- The first time a new font is used, it shows up
-    -- as being cached
-    line = gsub(line, "(save cache:", "(load cache:")
     -- LuaTeX from v1.07 logs kerns differently ...
     -- This block only applies to the output of LuaTeX itself,
     -- hence needing a flag to skip the case of the reference log
@@ -544,9 +544,14 @@
   local function check_and_diff(ext,engine,comp,pdftest)
     runtest(name,engine,hide,ext,pdftest,true)
     local errorlevel = comp(name,engine)
-    if errorlevel ~= 0 and options["halt-on-error"] then
+    if errorlevel == 0 then
+      return errorlevel
+    end
+    if options["show-log-on-error"] then
+      showfailedlog(name)
+    end
+    if options["halt-on-error"] then
       showfaileddiff()
-      return 1
     end
     return errorlevel
   end
@@ -728,7 +733,7 @@
       -- Ensure lines are of a known length
       os_setenv .. " max_print_line=" .. maxprintline
         .. os_concat ..
-      binary .. format 
+      binary .. format
         .. " " .. asciiopt .. " " .. checkopts
         .. setup(lvtfile)
         .. (hide and (" > " .. os_null) or "")
@@ -907,6 +912,20 @@
   print("")
 end
 
+function showfailedlog(name)
+  print("\nCheck failed with log file")
+  for _,i in ipairs(filelist(testdir, name..".log")) do
+    print("  - " .. testdir .. "/" .. i)
+    print("")
+    local f = open(testdir .. "/" .. i,"r")
+    local content = f:read("*all")
+    close(f)
+    print("-----------------------------------------------------------------------------------")
+    print(content)
+    print("-----------------------------------------------------------------------------------")
+  end
+end
+
 function showfaileddiff()
   print("\nCheck failed with difference file")
   for _,i in ipairs(filelist(testdir, "*" .. os_diffext)) do
@@ -927,7 +946,7 @@
   for _,name in pairs(names) do
     if testexists(name) then
       for _,engine in pairs(engines) do
-        local testengine = ((engine == stdengine and "") or "." .. engine)        
+        local testengine = ((engine == stdengine and "") or "." .. engine)
         local function save_test(test_ext,gen_ext,out_ext,pdfmode)
           local out_file = name .. testengine .. out_ext
           local gen_file = name .. "." .. engine .. gen_ext
@@ -956,7 +975,7 @@
       return 1
     else
       print('Test "'.. name .. '"not found')
-      return 1     
+      return 1
     end
   end
   return 0

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-upload.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-upload.lua	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-upload.lua	2019-06-18 22:29:20 UTC (rev 51397)
@@ -121,12 +121,13 @@
 
 
 -- curl file version
-  local curlopt=open(ctanzip .. ".curlopt","w")
+  local curloptfile = uploadconfig.curlopt_file or (ctanzip .. ".curlopt")
+  local curlopt=open(curloptfile,"w")
   output(curlopt)
   write(ctan_post)
   close(curlopt)
   
-  ctan_post=curlexe .. " --config " .. ctanzip .. ".curlopt"
+  ctan_post=curlexe .. " --config " .. curloptfile
   
 
 if options["debug"] then

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build.lua	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build.lua	2019-06-18 22:29:20 UTC (rev 51397)
@@ -25,7 +25,7 @@
 --]]
 
 -- Version information
-release_date = "2019-02-10"
+release_date = "2019-06-18"
 
 -- 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	2019-06-18 22:28:37 UTC (rev 51396)
+++ trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx	2019-06-18 22:29:20 UTC (rev 51397)
@@ -1,6 +1,6 @@
 % \iffalse
 %
-% File l3build.dtx (C) Copyright 2014-2018 The LaTeX3 Project
+% File l3build.dtx (C) Copyright 2014-2019 The LaTeX3 Project
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -227,7 +227,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2019-02-10}
+% \date{Released 2019-06-18}
 %
 % \maketitle
 % \tableofcontents
@@ -352,10 +352,12 @@
 % \item |--halt-on-error| (|-H|) Specifies that checks
 %   should stop as soon as possible, rather than running all requested
 %   tests; the difference file is printed in the terminal directly in the case of failure
-%  \item |--last| Name of the last test to run
+% \item |--last| Name of the last test to run
 % \item |--message| (|-m|) Text for upload announcement
 % \item |--quiet| (|-q|) Suppresses output from unpacking
 % \item |--rerun| Run tests without unpacking/set up
+% \item |--show-log-on-error| To be used in addition to \texttt{--halt-on-error} and results
+%   in the full \texttt{.log} file of a failed test to be shown on the console
 % \item |--shuffle| Shuffle the order in which tests run
 % \item |--texmfhome| Sets the location of the user tree for installing
 % \end{itemize}
@@ -1331,15 +1333,37 @@
 % and a simple example of an extract from a \texttt{build.lua} file using this is shown
 % in Figure~\ref{fig:uploadconfig}.
 %
-% Note that the \texttt{upload} target will \emph{not} execute the \texttt{ctan} target first.
+% Note that the \texttt{upload} target will \emph{not} execute the
+% \texttt{ctan} target first.
 %
+% This upload facility assumes availablity of |curl| on your
+% system. In the case of Windows, the system curl will not be
+% available if you are using a 32 bit \TeX\ implementation. Curl
+% executables are available for a variety of operating systems from
+% \url{https://curl.haxx.se/download.html}.
+%
 % \paragraph{Announcement text}
 % It can be convenient not to include the announcement text within the |build.lua| file
 % directly. The command line argument |--message| (|-m|) allows the announcement to be
 % included as part of the |l3build| arguments, and |--file| (|-F|) reads the announcement
-% from a specified file. Note that if the announcement text is omitted a `silent update'
+% from a specified file. The \texttt{build.lua} file may also specify that this text is to
+% be taken from the file specified by
+% |uploadconfig.announcement_file|, this allows the release-specific announcement to be
+% specified outside the main |build.lua| file. If
+% |uploadconfig.announcement_file| is |nil| or specifies a file that
+% can not be read, and no announcement is provided by the
+% |announcement| field or commandline arguments, |l3build| will
+% interactively prompt for text (which may be empty).
+%
+% Note that if the announcement text is empty a `silent update'
 % is performed; this should usually be performed for minor bug or documentation fixes only.
 %
+% \paragraph{Note text}
+% This optional field is for passing notes to the CTAN maintainers. As
+% for announcements, the text may be set in |uploadconfig.note| or
+% perhaps more usefully, if |uploadconfig.note_file| is the filename of a
+% readable file the file text is used as the note.
+%
 % \paragraph{Uploader details}
 % The CTAN team use the uploader email address as a form of low-security sanity
 % check that the upload is coming from a reputable source. Therefore, it is advisable not
@@ -1356,13 +1380,41 @@
 % non-existing package or if you attempt to upload a new package with the same name as a
 % pre-existing one.
 %
+% \paragraph{The \texttt{curl} options file}
+%
+% The \pkg{l3build} upload options are passed to |curl| by writing the
+% fields to a text file with a default name being
+% \meta{package}|-ctan.curlopt|. This is then passed to curl using its
+% |--config| commandline option.  (Using an intermediate file helps
+% keep \pkg{l3build} portable between systems using different
+% commandline quoting conventions.)
+%
+% By default the file is written into the current directory alongside
+% the zip file to be uploaded. You may wish to specify that this file
+% is ignored by any version control in that directory (using
+% |.gitignore| or similar). Or alternatively you can use the
+% |uploadconfig.curl_file| field in the |build.lua| file to specify an
+% alternative name or location for this file.
+%
+% \paragraph{Debugging}
 % If you have have difficulty with the upload process, add the option |--debug| to divert
-% the request from CTAN to a service that redirects the input back again so it can be examined.
+% the request from CTAN to a service that redirects the input back
+% again so it can be examined.
+% It can also be useful to check the contents of the |curlopts| file which has a
+% record of the options passed to curl.
 %
 % \begin{table}[p]
 %   \def\YES{\textbullet}
-%   \caption{Fields used in the \texttt{uploadconfig} setup table. The first section of fields are \emph{required} and if they are omitted the user will be interactively prompted for further input. Most commands take string input, but those that are indicated with `Multi' accept more than one entry using an array of strings.}
+%   \caption{Fields used in the \texttt{uploadconfig} setup table. The
+%   first section of fields are \emph{required} and if they are
+%   omitted the user will be interactively prompted for further
+%   input. Most commands take string input, but those that are
+%   indicated with `Multi' accept more than one entry using an array
+%   of strings.  Most of the fields correspond directly to the fields
+%   in the CTAN upload API, the last group relate to file use by
+%   \pkg{l3build}.}
 %   \label{tab:upload-setup}
+% \medskip
 %   \begin{minipage}{\linewidth}
 %   \begin{tabular}{@{}lccp{8cm}@{}}
 %     \toprule
@@ -1387,6 +1439,10 @@
 %  \texttt{support     } &      & \YES & URL(s) of support channels             \\
 %  \texttt{topic       } &      & \YES & Topic(s)\footnote{See \url{https://ctan.org/topics/highscore}} \\
 %  \texttt{update      } &      &      & Boolean \texttt{true} for an update, \texttt{false} for a new package   \\
+% \midrule
+%  \texttt{announcement\_file} &  &      & Announcement text  file                    \\
+%  \texttt{note\_file} &  &      & Note text file              \\
+%  \texttt{curlopt\_file} &  &      & The filename containing the options passed to curl    \\
 %     \bottomrule
 %   \end{tabular}
 %   \end{minipage}



More information about the tex-live-commits mailing list