Skip to content

Latest commit

 

History

History
37 lines (20 loc) · 1.53 KB

build_process.md

File metadata and controls

37 lines (20 loc) · 1.53 KB

构建流程

尽量依靠 Arch Linux 的 devtools,遵循 Arch Linux Ports 的标准,编写易于扩展的脚本。希望既可以完成对 loongarch 的构建,也可以比较容易的扩展到其他平台。

代码仓库

仅维护与 Arch Linux 官方仓库的 Patch,尽量推进上游化。

构建方式

主要采用在对应架构物理机上进行本地构建,和采用 qemu-user 在 x86 电脑构建。容器或交叉编译还需要进一步调研。

单包构建脚本(loong-build.sh)

指定包名称后自动下载最新的 PKGBUILD,必要的情况下应用本地的补丁,构建完成后,同步 WEB 服务器的编译状态。如果编译错误,将日志也传递到 WEB 服务器。

构建触发方式(待完善)

  1. 手动触发,用于 bug 修复
  2. 自动触发,根据上游 Arch Linux 的更新,自动触发相应包的构建
  3. 自动触发,根据上游软件包的更新,自动触发相应包的构建(此时不应更新 TIER0,需要进行测试)

签名

打包完成后,需要进行签名才可以上传 TIER0 服务器,包仓库数据库不需要签名。

测试

测试目前仅依赖软件包各自的测试脚本,部分重点软件需要人工审核。

构建状态维护

采用数据库记录构建状态和历史,包括软件包的当前版本、基线(x86_64)版本、构建状态等信息。更新数据库的 API 仅提供内网访问,对外仅提供查询最新数据。

安装映像制作

TODO