From 7fbd52bed03ac408b83a740e607ddcf94be29458 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 30 Sep 2019 21:51:15 +0000 Subject: l3build (30sep19) git-svn-id: svn://tug.org/texlive/trunk@52229 c570f23f-e606-0410-a88d-b1316a301751 --- .../texlive/linked_scripts/l3build/l3build.lua | 2 +- Master/texmf-dist/doc/latex/l3build/CHANGELOG.md | 14 +++++++++++++- Master/texmf-dist/doc/latex/l3build/README.md | 2 +- Master/texmf-dist/doc/latex/l3build/l3build.pdf | Bin 704702 -> 705328 bytes Master/texmf-dist/doc/man/man1/l3build.1 | 2 +- Master/texmf-dist/doc/man/man1/l3build.man1.pdf | Bin 15106 -> 15105 bytes .../texmf-dist/scripts/l3build/l3build-install.lua | 21 ++++++++++++++++----- .../scripts/l3build/l3build-variables.lua | 3 +++ Master/texmf-dist/scripts/l3build/l3build.lua | 2 +- Master/texmf-dist/source/latex/l3build/l3build.dtx | 12 ++++++++++-- 10 files changed, 46 insertions(+), 12 deletions(-) diff --git a/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua b/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua index 1696ef18721..7f0f9dced92 100644 --- a/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua +++ b/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua @@ -25,7 +25,7 @@ for those people who are interested. --]] -- Version information -release_date = "2019-09-29" +release_date = "2019-09-30" -- File operations are aided by the LuaFileSystem module local lfs = require("lfs") diff --git a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md index e2102c8b4f9..330e7b73ef3 100644 --- a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md @@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2019-09-30] + +### Added + +- New `flattentds` variable for controlling complex TDS structures +- Additional notes on `texmfdir` + +### Fixed + +- Copy TDS files inside subdirectories (fixes #100) + ## [2019-09-29] ### Fixed @@ -349,7 +360,8 @@ this project uses date-based 'snapshot' version identifiers. - Rationalise short option names: removed `-d`, `-E`, `-r` - Target `cmdcheck`: specific to LaTeX3 kernel work -[Unreleased]: https://github.com/latex3/l3build/compare/2019-09-29...HEAD +[Unreleased]: https://github.com/latex3/l3build/compare/2019-09-30...HEAD +[2019-09-30]: https://github.com/latex3/l3build/compare/2019-09-29...2019-09-30 [2019-09-29]: https://github.com/latex3/l3build/compare/2019-09-28...2019-09-29 [2019-09-28]: https://github.com/latex3/l3build/compare/2019-09-25...2019-09-28 [2019-09-25]: https://github.com/latex3/l3build/compare/2019-09-18...2019-09-25 diff --git a/Master/texmf-dist/doc/latex/l3build/README.md b/Master/texmf-dist/doc/latex/l3build/README.md index 44e890e8d6d..66cc0e28ec5 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 LaTeX3 ================================================= -Release 2019-09-29 +Release 2019-09-30 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3build/l3build.pdf b/Master/texmf-dist/doc/latex/l3build/l3build.pdf index 7e9ddb0aeda..41594c4ebba 100644 Binary files a/Master/texmf-dist/doc/latex/l3build/l3build.pdf and b/Master/texmf-dist/doc/latex/l3build/l3build.pdf differ diff --git a/Master/texmf-dist/doc/man/man1/l3build.1 b/Master/texmf-dist/doc/man/man1/l3build.1 index 8812fdb603b..3317114e5b5 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 "2019-09-29" +.TH l3build 1 "2019-09-30" .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 index 52687e032ea..6eb22ce027f 100644 Binary files a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf and b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf differ diff --git a/Master/texmf-dist/scripts/l3build/l3build-install.lua b/Master/texmf-dist/scripts/l3build/l3build-install.lua index d2222c8561e..77338b67a06 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-install.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-install.lua @@ -115,27 +115,36 @@ function install_files(target,full,dry_run) end dir = dir .. (subdir and ("/" .. subdir) or "") local filenames = { } + local sourcepaths = { } local paths = { } -- Generate a file list and include the directory for _,glob_table in pairs(files) do for _,glob in pairs(glob_table) do for file,_ in pairs(tree(source,glob)) do -- Just want the name - local file = gsub(file,"^%./","") + local path,filename = splitpath(file) + local sourcepath = "/" + if path == "." then + sourcepaths[filename] = source + else + path = gsub(path,"^%.","") + sourcepaths[filename] = source .. path + if not flattentds then sourcepath = path .. "/" end + end local matched = false for _,location in ipairs(tdslocations) do local path,glob = splitpath(location) local pattern = glob_to_pattern(glob) - if match(file,pattern) then + if match(filename,pattern) then insert(paths,path) - insert(filenames,path .. "/" .. file) + insert(filenames,path .. sourcepath .. filename) matched = true break end end if not matched then insert(paths,dir) - insert(filenames,dir .. "/" .. file) + insert(filenames,dir .. sourcepath .. filename) end end end @@ -155,7 +164,9 @@ function install_files(target,full,dry_run) print("- " .. file) else local path,file = splitpath(file) - errorlevel = cp(file,source,target .. "/" .. path) + local installpath = target .. "/" .. path + mkdir(installpath) + errorlevel = cp(file,sourcepaths[file],installpath) if errorlevel ~= 0 then return errorlevel end end end diff --git a/Master/texmf-dist/scripts/l3build/l3build-variables.lua b/Master/texmf-dist/scripts/l3build/l3build-variables.lua index 11186c0e3f9..06cfdd34aff 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-variables.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-variables.lua @@ -177,6 +177,9 @@ epoch = epoch or 1463734800 if flatten == nil then flatten = true end +if flattentds == nil then + flattentds = true +end maxprintline = maxprintline or 79 packtdszip = packtdszip or false typesetcmds = typesetcmds or "" diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua index 1696ef18721..7f0f9dced92 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 = "2019-09-29" +release_date = "2019-09-30" -- 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 dfaca411872..5c1f0db5ed3 100644 --- a/Master/texmf-dist/source/latex/l3build/l3build.dtx +++ b/Master/texmf-dist/source/latex/l3build/l3build.dtx @@ -147,6 +147,7 @@ \luavarset{ctanzip}{ctanpkg ... "-ctan"}{Name of the zip file (without extension) created for upload to CTAN} \luavarset{epoch} {1463734800} {Epoch (Unix date) to set for test runs} \luavarset{flatten} {true} {Switch to flatten any source structure when sending to CTAN} +\luavarset{flattentds} {true} {Switch to flatten any source structure when creating a TDS structure} \luavarset{maxprintline}{79} {Length of line to use in log files} \luavarset{packtdszip} {false} {Switch to build a TDS-style zip file for CTAN} \luavarset{typesetcmds} {""} {Instructions to be passed to \TeX{} when doing typesetting} @@ -230,7 +231,7 @@ % }^^A % } % -% \date{Released 2019-09-29} +% \date{Released 2019-09-30} % % \maketitle % \tableofcontents @@ -401,6 +402,12 @@ % Options passed to the binary are defined in the variable \var{checkopts}. % % By default, |texmf| trees are searched for input files when checking. This can be disabled by setting \var{checksearch} to |false|: isolation provides confidence that the tests cannot accidentally be running with incorrect files installed in the main distribution or |hometexmf|. +% +% The \var{texmfdir} variable sets a directory which is made available for +% recursive searching \emph{in addition} to any files copied from +% \var{supportdir}. No subdivison of \var{texmfdir} is attempted, thus it +% should not contain multiple files with the same name. The \var{texmfdir} +% is made available both to checking and typesetting. % \end{buildcmd} % % @@ -768,7 +775,8 @@ % be useful in these cases: this enables recursive searching in the appropriate % tree locations. With the standard settings, this structure will be removed % when creating a CTAN release: the variable \var{flatten} may be -% used to control this behavior. +% used to control this behavior. The \var{flattentds} setting controls +% the same concept for TDS creation. % % A series of example layouts and matching |build.lua| files are available from % \url{https://github.com/latex3/l3build/tree/master/examples}. -- cgit v1.2.3