Skip to content

feat(gmp): 加 CN 镜像 - #201

Merged
Sunrisepeak merged 1 commit into
mainfrom
feat/gmp-cn-mirror
Aug 10, 2026
Merged

feat(gmp): 加 CN 镜像#201
Sunrisepeak merged 1 commit into
mainfrom
feat/gmp-cn-mirror

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

compat.gmp 此前只有 ftp.gnu.org 一个源,CN 用户拉这 3.3MB 的 tarball 只能走国际线路。本 PR 把三个平台的 url 都改成 GLOBAL/CN 表:

  • GLOBAL 保持 https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.gz(权威 GNU release,默认解析优先级不变)
  • CN = https://gitcode.com/mcpp-res/gmp/releases/download/6.3.0/gmp-6.3.0.tar.gz

镜像资产

新建 gitcode 仓库 mcpp-res/gmp,release tag 6.3.0,资产 gmp-6.3.0.tar.gz

字节一致性是实测的,不是假设:上游下载 → sha256 = e56fd59d76810932a0555aa15a14b61c16bed66110d3c75cc2ac49ddaa9ab24c(与描述符里原本写着的值一致)→ 上传 → 再从公开 CN url 下回来 → 3332377 字节、同一个 sha256。所以表里那一个 sha256 同时认证两条臂。

生成器同步

pkgs/c/compat.gmp.luatools/gmp/generate_descriptor.py 生成的,模板 (PKG_TMPL) 一起改了,否则下次 write 会把镜像表抹掉。python3 tools/gmp/generate_descriptor.py checkcompat.gmp.lua is in sync with this generator

本地验证

  • tests/check_mirror_urls.lua / check_package_name.lua / check_platform_version_parity.lua / check_cross_package_refs.lua 全过
  • tests/list_cn_urls.lua 正确抽出那一条 CN url
  • mcpp xpkg parse pkgs/c/compat.gmp.lua 通过(本地 mcpp 2026.8.8.4)
  • CN url curl 实拉 200

compat.gmp 此前只有 ftp.gnu.org 一个源,CN 用户拉这 3.3MB 的 tarball 只能
走国际线路。现在 url 写成 GLOBAL/CN 表:GLOBAL 仍是 ftp.gnu.org 的权威
release,CN 指向 gitcode 上的 mcpp-res/gmp。

两边是同一份字节。上游下载后 sha256 = e56fd59d...ab24c,与描述符里原本
就写着的值一致;上传到 gitcode 的 6.3.0 release 后再从公开 url 下回来,
3332377 字节、sha256 相同。所以表里那一个 sha256 同时认证两条臂,不需要
按源各写一份。

描述符是 tools/gmp/generate_descriptor.py 生成的,模板一起改了 ——
`generate_descriptor.py check` 报 in sync,重新生成是空 diff。
tests/check_mirror_urls.lua 与 mcpp xpkg parse 本地均通过。
@Sunrisepeak
Sunrisepeak merged commit 1e0c71b into main Aug 10, 2026
9 of 10 checks passed
@Sunrisepeak Sunrisepeak mentioned this pull request Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant