尽量依靠 Arch Linux 的 devtools,遵循 Arch Linux Ports 的标准,编写易于扩展的脚本。希望既可以完成对 loongarch 的构建,也可以比较容易的扩展到其他平台。
仅维护与 Arch Linux 官方仓库的 Patch,尽量推进上游化。
主要采用在对应架构物理机上进行本地构建,和采用 qemu-user 在 x86 电脑构建。容器或交叉编译还需要进一步调研。
指定包名称后自动下载最新的 PKGBUILD,必要的情况下应用本地的补丁,构建完成后,同步 WEB 服务器的编译状态。如果编译错误,将日志也传递到 WEB 服务器。
- 手动触发,用于 bug 修复
- 自动触发,根据上游 Arch Linux 的更新,自动触发相应包的构建
- 自动触发,根据上游软件包的更新,自动触发相应包的构建(此时不应更新 TIER0,需要进行测试)
打包完成后,需要进行签名才可以上传 TIER0 服务器,包仓库数据库不需要签名。
测试目前仅依赖软件包各自的测试脚本,部分重点软件需要人工审核。
采用数据库记录构建状态和历史,包括软件包的当前版本、基线(x86_64)版本、构建状态等信息。更新数据库的 API 仅提供内网访问,对外仅提供查询最新数据。
TODO