diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-29 21:11:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-29 21:11:43 +0000 |
commit | 82a638461359e5fd966fdca40ae90d9c018d7e99 (patch) | |
tree | 0248ee980cc7630a131f05ada7438b72a263e149 /Master | |
parent | 1f8faf3d0b1260c492c706b5a523fc2eda244dff (diff) |
l3build (29nov21)
git-svn-id: svn://tug.org/texlive/trunk@61185 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
16 files changed, 52 insertions, 19 deletions
diff --git a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md index 58348513392..edb288f5555 100644 --- a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md @@ -7,8 +7,25 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2021-11-29] + +### Changed +- Documentation improvements +- Use `checkengines[1]` as the default for `stdengine` +- Add sanity check for `TEXMFHOME` value +- Double \ when writing the curl options, so that \ + does not need to be doubled in note and announcement texts. + +### Fixed +- Installation of files when using MiKTeX (see #125) +- Incorrect line in `manifest` target (see #195) +- Placement of PDF files in subdirectory locations (issue #209) +- Detection of engine-specific tlg files for non-standard LuaTeX based engines (issues #214) + ## [2021-11-24] +- Always typeset in `typesetdir` (fixes #210) + ## [2021-11-12] ### Changed @@ -521,7 +538,8 @@ this project uses date-based 'snapshot' version identifiers. - Rationalise short option names: removed `-d`, `-E`, `-r` - Target `cmdcheck`: specific to LaTeX kernel work -[Unreleased]: https://github.com/latex3/l3build/compare/2021-11-24...HEAD +[Unreleased]: https://github.com/latex3/l3build/compare/2021-11-29...HEAD +[2021-11-29]: https://github.com/latex3/l3build/compare/2021-11-24...2021-11-29 [2021-11-24]: https://github.com/latex3/l3build/compare/2021-11-12...2021-11-24 [2021-11-12]: https://github.com/latex3/l3build/compare/2021-08-28...2021-11-12 [2021-08-28]: https://github.com/latex3/l3build/compare/2021-08-27...2021-08-28 diff --git a/Master/texmf-dist/doc/latex/l3build/README.md b/Master/texmf-dist/doc/latex/l3build/README.md index de540162dda..ef9f7e9b249 100644 --- a/Master/texmf-dist/doc/latex/l3build/README.md +++ b/Master/texmf-dist/doc/latex/l3build/README.md @@ -1,7 +1,7 @@ l3build: a testing and building system for LaTeX ================================================= -Release 2021-11-24 +Release 2021-11-29 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3build/l3build.pdf b/Master/texmf-dist/doc/latex/l3build/l3build.pdf Binary files differindex 06ff54ce90b..a5795862b59 100644 --- a/Master/texmf-dist/doc/latex/l3build/l3build.pdf +++ b/Master/texmf-dist/doc/latex/l3build/l3build.pdf diff --git a/Master/texmf-dist/doc/man/man1/l3build.1 b/Master/texmf-dist/doc/man/man1/l3build.1 index 5cf404fdf01..48aa33a92e2 100644 --- a/Master/texmf-dist/doc/man/man1/l3build.1 +++ b/Master/texmf-dist/doc/man/man1/l3build.1 @@ -1,4 +1,4 @@ -.TH l3build 1 "2021-11-24" +.TH l3build 1 "2021-11-29" .SH NAME l3build \- Checking and building packages .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf Binary files differindex 23a2b540867..c6a4129b2ea 100644 --- a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf diff --git a/Master/texmf-dist/scripts/l3build/l3build-arguments.lua b/Master/texmf-dist/scripts/l3build/l3build-arguments.lua index 470290db562..fdabb9d9497 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-arguments.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-arguments.lua @@ -136,7 +136,7 @@ option_list = }, ["show-log-on-error"] = { - desc = "If 'halt-on-error' stops, show the full log of the failure", + desc = "Show the full log of the failure with 'halt-on-error'", type = "boolean" }, ["show-saves"] = diff --git a/Master/texmf-dist/scripts/l3build/l3build-check.lua b/Master/texmf-dist/scripts/l3build/l3build-check.lua index 3e8089970a3..249b22164a8 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-check.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-check.lua @@ -684,9 +684,9 @@ function compare_tlg(difffile, tlgfile, logfile, cleanup, name, engine) local errorlevel local testname = name .. "." .. engine -- Do additional log formatting if the engine is LuaTeX, there is no - -- LuaTeX-specific .tlg file and the default engine is not LuaTeX + -- engine-specific .tlg file and the default engine is not LuaTeX if (match(engine,"^lua") or match(engine,"^harf")) - and not match(tlgfile, "%.luatex" .. "%" .. tlgext) + and not match(tlgfile, "%." .. engine .. "%" .. tlgext) and not match(stdengine,"^lua") then local lualogfile = logfile diff --git a/Master/texmf-dist/scripts/l3build/l3build-file-functions.lua b/Master/texmf-dist/scripts/l3build/l3build-file-functions.lua index 1fc9e1d47af..4aa591dd50d 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-file-functions.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-file-functions.lua @@ -177,7 +177,7 @@ function abspath(path) if ok then local result = currentdir() chdir(oldpwd) - return escapepath(gsub(result, "\\", "/")) + return escapepath(gsub(gsub(result,"^\\\\%?\\",""), "\\", "/")) end error(msg) end diff --git a/Master/texmf-dist/scripts/l3build/l3build-help.lua b/Master/texmf-dist/scripts/l3build/l3build-help.lua index 2e7d776a730..137fc040c52 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-help.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-help.lua @@ -32,7 +32,7 @@ function version() "\n" .. "l3build: A testing and building system for LaTeX\n\n" .. "Release " .. release_date .. "\n" .. - "Copyright (C) 2014-2020 The LaTeX Project" + "Copyright (C) 2014-2021 The LaTeX Project" ) end diff --git a/Master/texmf-dist/scripts/l3build/l3build-install.lua b/Master/texmf-dist/scripts/l3build/l3build-install.lua index 21257aad0d6..78fe2d4b2f6 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-install.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-install.lua @@ -38,6 +38,10 @@ local insert = table.insert local function gethome() set_program("latex") local result = options["texmfhome"] or var_value("TEXMFHOME") + if not result or result == "" or match(result, os_pathsep) then + print("Ambiguous TEXMFHOME setting: please use the --texmfhome option") + os.exit(1) + end mkdir(result) return abspath(result) end diff --git a/Master/texmf-dist/scripts/l3build/l3build-manifest-setup.lua b/Master/texmf-dist/scripts/l3build/l3build-manifest-setup.lua index f7051dac5c5..e74e667394f 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-manifest-setup.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-manifest-setup.lua @@ -243,7 +243,7 @@ function manifest_write_opening(filehandle) filehandle:write("# Manifest for " .. module .. "\n\n") filehandle:write([[ This file is a listing of all files considered to be part of this package. -It is automatically generated with `texlua build.lua manifest`. +It is automatically generated with `l3build manifest`. ]]) end diff --git a/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua b/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua index 1d44a2bc08e..d6d3981d7b9 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua @@ -141,9 +141,7 @@ local function typesetpdf(file,dir) print(" ! Compilation failed") return errorlevel end - local pdfname = name .. pdfext - rm(docfiledir,pdfname) - return cp(pdfname,dir,docfiledir) + return 0 end function typeset(file,dir,exe) @@ -211,7 +209,8 @@ function doc(files) local done = {} for _,typesetfiles in ipairs({typesetdemofiles,typesetfiles}) do for _,glob in pairs(typesetfiles) do - for _,p in ipairs(tree(typesetdir,glob)) do + local destpath,globstub = splitpath(glob) + for _,p in ipairs(tree(typesetdir,globstub)) do local path,srcname = splitpath(p.cwd) local name = jobname(srcname) if not done[name] then @@ -233,6 +232,9 @@ function doc(files) return errorlevel else done[name] = true + local pdfname = jobname(srcname) .. pdfext + rm(pdfname,destpath) + cp(pdfname,path,destpath) end end end diff --git a/Master/texmf-dist/scripts/l3build/l3build-upload.lua b/Master/texmf-dist/scripts/l3build/l3build-upload.lua index be814ce5ae8..4b3aa7aea61 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-upload.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-upload.lua @@ -319,6 +319,7 @@ function ctan_single_field(fname,fvalue,max,desc,mandatory) if (max > 0 and len(vs) > max) then error("The field " .. fname .. " is longer than " .. max) end + vs = vs:gsub('\\','\\\\') vs = vs:gsub('"','\\"') vs = vs:gsub('`','\\`') vs = vs:gsub('\n','\\n') diff --git a/Master/texmf-dist/scripts/l3build/l3build-variables.lua b/Master/texmf-dist/scripts/l3build/l3build-variables.lua index 9f2b25b8d2e..d78c39c92f6 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-variables.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-variables.lua @@ -133,7 +133,7 @@ if not string.find(status.banner,"2019") then {luatex = {binary="luahbtex",format = "lualatex-dev"}} end -stdengine = stdengine or "pdftex" +stdengine = stdengine or checkengines[1] or "pdftex" -- The tests themselves includetests = includetests or {"*"} diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua index 993e5863a92..09a70942c64 100755 --- a/Master/texmf-dist/scripts/l3build/l3build.lua +++ b/Master/texmf-dist/scripts/l3build/l3build.lua @@ -25,7 +25,7 @@ for those people who are interested. --]] -- Version information -release_date = "2021-11-24" +release_date = "2021-11-29" -- File operations are aided by the LuaFileSystem module local lfs = require("lfs") diff --git a/Master/texmf-dist/source/latex/l3build/l3build.dtx b/Master/texmf-dist/source/latex/l3build/l3build.dtx index 88cb82e0d4a..cf3ebd8cd5c 100644 --- a/Master/texmf-dist/source/latex/l3build/l3build.dtx +++ b/Master/texmf-dist/source/latex/l3build/l3build.dtx @@ -236,7 +236,7 @@ % }^^A % } % -% \date{Released 2021-11-24} +% \date{Released 2021-11-29} % % \maketitle % \tableofcontents @@ -1525,7 +1525,8 @@ % \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.) +% commandline quoting conventions. Any backslashes are doubled when writing +% to this file, so they do not need to be doubled in announcement and note texts.) % % 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 @@ -1858,7 +1859,7 @@ % % \subsection{Typesetting functions} % -% All typetting functions return $0$ on a successful completion. +% All typesetting functions return $0$ on a successful completion. % % \begin{function}{biber()} % \begin{syntax} @@ -1905,7 +1906,7 @@ % when creating non-standard typesetting steps. % \end{function} % -% \subsection{Customising the target list} +% \subsection{Customising the target and option lists} % % The targets known to \pkg{l3build} are stored in the global table % |target_list|. Each entry should have at least a |func|, pointing to the @@ -1924,6 +1925,13 @@ % \end{itemize} % The functions |func|, |bundle_func| and |pre| must return 0 on success. % +% The list of options (switches) is controlled by the |option_list| table. +% The name of each entry in the table is the \enquote{long} version of the +% option. Each entry requires a |type|, one of |boolean|, |string| or +% |table|. As for targets, each entry should have a |desc| to construct +% the |help()|. It is also possible to provide a |short| name for the option: +% this should be a single letter. +% % \subsection{Customising the manifest file} % \label{sec:manifest} % |