summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3build/l3build-ctan.lua
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-12-10 03:01:42 +0000
committerNorbert Preining <norbert@preining.info>2021-12-10 03:01:42 +0000
commite8ddf481fa0d453faba1a05623b2d4cba9b6404e (patch)
treedb96e35cfa187f7ab90ec266a63b577db8a5095d /macros/latex/contrib/l3build/l3build-ctan.lua
parent48aad54f9d8faf7776248c653b2a7da9bb2ffa95 (diff)
CTAN sync 202112100301
Diffstat (limited to 'macros/latex/contrib/l3build/l3build-ctan.lua')
-rw-r--r--macros/latex/contrib/l3build/l3build-ctan.lua20
1 files changed, 16 insertions, 4 deletions
diff --git a/macros/latex/contrib/l3build/l3build-ctan.lua b/macros/latex/contrib/l3build/l3build-ctan.lua
index 1f5aa2bc90..2efdd14067 100644
--- a/macros/latex/contrib/l3build/l3build-ctan.lua
+++ b/macros/latex/contrib/l3build/l3build-ctan.lua
@@ -33,17 +33,28 @@ local newzip = require"l3build-zip"
-- Copy files to the main CTAN release directory
function copyctan()
- mkdir(ctandir .. "/" .. ctanpkg)
+ local pkgdir = ctandir .. "/" .. ctanpkg
+ mkdir(pkgdir)
+
+ -- Handle pre-formed sources: do two passes to avoid any cleandir() issues
+ for _,dest in pairs(tdsdirs) do
+ mkdir(pkgdir .. "/" .. dest)
+ end
+ for src,dest in pairs(tdsdirs) do
+ cp("*",src,pkgdir .. "/" .. dest)
+ end
+
+ -- Now deal with the one-at-a-time files
local function copyfiles(files,source)
if source == currentdir or flatten then
for _,filetype in pairs(files) do
- cp(filetype,source,ctandir .. "/" .. ctanpkg)
+ cp(filetype,source,pkgdir)
end
else
for _,filetype in pairs(files) do
for _,p in ipairs(tree(source,filetype)) do
local path = dirname(p.src)
- local ctantarget = ctandir .. "/" .. ctanpkg .. "/"
+ local ctantarget = pkgdir .. "/"
.. source .. "/" .. path
mkdir(ctantarget)
cp(p.src,source,ctantarget)
@@ -57,8 +68,9 @@ function copyctan()
end
copyfiles(sourcefiles,sourcefiledir)
for _,file in pairs(textfiles) do
- cp(file, textfiledir, ctandir .. "/" .. ctanpkg)
+ cp(file, textfiledir, pkgdir)
end
+
end
function bundlectan()