summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-09-15 19:54:50 +0000
committerKarl Berry <karl@freefriends.org>2022-09-15 19:54:50 +0000
commit0aecc7f2b3179ece654552f2a285d94663585286 (patch)
tree685ac04034ce0029cae703ef885cdab122c055a7 /Master/texmf-dist/scripts
parent5abc7e06f59201294efebe46616a2fc48ebc04fa (diff)
l3build (15sep22)
git-svn-id: svn://tug.org/texlive/trunk@64402 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts')
-rw-r--r--Master/texmf-dist/scripts/l3build/l3build-install.lua8
-rwxr-xr-xMaster/texmf-dist/scripts/l3build/l3build.lua2
2 files changed, 9 insertions, 1 deletions
diff --git a/Master/texmf-dist/scripts/l3build/l3build-install.lua b/Master/texmf-dist/scripts/l3build/l3build-install.lua
index baea5a9a425..64d29fc5904 100644
--- a/Master/texmf-dist/scripts/l3build/l3build-install.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build-install.lua
@@ -327,9 +327,17 @@ function install_files(target,full,dry_run)
if errorlevel ~= 0 then return errorlevel end
+ -- Track created destination directories to avoid overhead from
+ -- repeatedly creating them
+ local destination_dirs = {}
+
-- Files are all copied in one shot: this ensures that cleandir()
-- can't be an issue even if there are complex set-ups
for _,v in ipairs(installmap) do
+ if not destination_dirs[v.dest] then
+ mkdir(v.dest)
+ destination_dirs[v.dest] = true
+ end
errorlevel = cp(v.file,v.source,v.dest)
if errorlevel ~= 0 then return errorlevel end
end
diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua
index 72d67d2e1c9..ebca82423f0 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 = "2022-04-19"
+release_date = "2022-09-15"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")