使用 l3build ctan 的文件权限

使用 l3build ctan 的文件权限

我正在尝试使用l3build ctan准备.zip适合 CTAN 上传的文件。特别是,我希望生成的.zip文件满足 CTAN 的文件权限要求(在https://ctan.org/file/help/ctan/CTAN-upload-addendum#filepermissions)。相关部分是:

提交给 CTAN 的文件显然是为了发布。这意味着它们应该是“全世界可读的”。(事实上,文件权限的“隐私”过分强调可能会导致安装过程出现严重问题。)

不幸的是,我自己确实使用了更严格的限制umask,所以我不能依赖“正常工作”的东西。

我研究了三种解决这个问题的可能性。首先,尝试在zip的一侧处理它,控制zipopts,但我找不到任何可以做到这一点的选项。其次,看看它本身是否提供了某种“钩子” l3build,但我也找不到。第三,我考虑构建一个 bash 脚本,它可以同时完成这两件事并将其l3build作为传递给 。唉,中的zipexe函数不仅仅是将文件列表传递给,而且还会在 之外的其他参数旁边构建排除项。因此,获取实际传递给 的内容并将其提供给似乎并不是一件容易的事(也许有办法,但我没有看到)。dirzipl3build-ctan.luazipexezipoptszipexechmod

既然如此,我如何确保.zip准备的文件符合l3build ctanCTAN 上传的“全球可读”要求?

答案1

此问题已在上游报告并修复https://github.com/latex3/l3build/pull/198,现在l3build可以确保满足 CTAN 文件权限要求,而与本地umask设置无关。

相关内容