我正在等待 TeX Live 上的软件包更新。我认为
在此过程中,我注意到我不知道需要多少步骤才能看到软件包更新tlmgr update
。到目前为止,我已经确定了以下内容,以siunitx
v3.0.3 为例:
发布日期GitHub(我猜是可选的)。时间戳为“2021-05-20T14:56:29Z”。方便的是,一项资产被命名为
siunitx-ctan.zip
。更新出现在加拿大运输安全局,上面写着“3.0.3 2021-05-20”(我没有找到时间戳。)
此更新出现在TeX Live SVN。有趣的是,截至目前(2021 年 5 月 21 日星期五,格林威治标准时间 06:14),最新版本为 v3.0.2,提交时间为“2021 年 5 月 20 日星期四 20:17:51 UTC”。(因此该提交是之后比 GitHub 版本更高 - 但版本号较低。)
此更新出现在TeX Live 软件包存储库(似乎由 CTAN 托管)。该主机
siunitx.tar.xz
与 相同siunitx.r59239.tar.xz
,时间戳为“2021-05-18 01:52”。这是 v3.0.0。因此,
tlmgr show siunitx
说:
package: siunitx
[...]
revision: 59239
[...]
cat-version: 3.0.0
因此,我相信,如果我在第 2 步更新之前做过同样的概述,我可能会在这个流程的不同阶段看到 v3.0.3、v3.0.2、v3.0.1 和 v3.0.0。这似乎需要很多时间。这些步骤不是自动化的吗?无论如何,这些都是相关步骤吗,还是我遗漏了什么?
答案1
工作流程如下。
- 软件包作者做出更改并决定发布
- 他们创建一个 zip 文件,其中包含他们的代码和文档以及其他文件
- 该 zip 文件使用以下方式上传至 CTAN:https://ctan.org/upload
- 一封邮件发送给 CTAN 维护人员,告知他们上传可用(这些在https://ctan.org/incoming(对“局外人”)
- CTAN 团队的一名成员解压了 zip 文件,使用脚本检查并查看了它
- 假设一切正常,他们将其安装到中央服务器的实时区域
- 镜像系统在 1-2 天内将上传内容传播到整个网络
- 与 (7) 同时,TeX Live 团队 (针对 TeX Live) 或 Christian Schenk (针对 MiKTeX) 发现发生了更改 - 我认为这是通过脚本完成的。
- TL 团队将更改导入到他们的 SVN 中 - 有脚本可以执行此操作,但文件结构的任何更改都可能需要手动干预
- TL 更改会自动发送到 CTAN 并在镜像网络中传播,同样需要 1-2 天时间
这里的自动化仅限于一些方便的脚本、CTAN 镜像系统和(我认为)向 TL 团队发送的通知。请注意没有任何这完全取决于软件包作者选择如何跟踪他们自己的代码中的更改。他们可以使用单个文件,完全没有版本控制 - CTAN 不在乎。
请注意,由于镜像和手动检查,在 TL 选取第一个版本之前,可能会将多个版本上传到 CTAN,而这些版本之间的间隔很近。因此,某些版本可能会被“跳过”,尤其是在正在进行积极开发时。