diff options
author | Karl Berry <karl@freefriends.org> | 2022-09-15 19:54:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-09-15 19:54:50 +0000 |
commit | 0aecc7f2b3179ece654552f2a285d94663585286 (patch) | |
tree | 685ac04034ce0029cae703ef885cdab122c055a7 /Master/texmf-dist/scripts/l3build/l3build-install.lua | |
parent | 5abc7e06f59201294efebe46616a2fc48ebc04fa (diff) |
l3build (15sep22)
git-svn-id: svn://tug.org/texlive/trunk@64402 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/l3build/l3build-install.lua')
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-install.lua | 8 |
1 files changed, 8 insertions, 0 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 |