From d591e5abd44a7f052daf9e40281051f5aeeb2c02 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 9 Dec 2021 21:05:14 +0000 Subject: l3build (9dec21) git-svn-id: svn://tug.org/texlive/trunk@61260 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/scripts/l3build/l3build-ctan.lua | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'Master/texmf-dist/scripts/l3build/l3build-ctan.lua') diff --git a/Master/texmf-dist/scripts/l3build/l3build-ctan.lua b/Master/texmf-dist/scripts/l3build/l3build-ctan.lua index 1f5aa2bc906..2efdd14067d 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-ctan.lua +++ b/Master/texmf-dist/scripts/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() -- cgit v1.2.3