主要观点:
- 重建 Trisquel 中所有添加/修改的软件包后,发现其 99%的二进制包来自 Ubuntu,且很大程度上由 Debian 源代码包构建,探讨能否完全重建官方二进制包及相关情况。
- 介绍了 Reproducible-build.org 追踪 Debian 可重现性错误的工作,但不知其重建版本与官方包是否匹配,部分重建版本与官方包不匹配。
- 作者创建了 debdistrebuild 项目,用于在 GitLab 管道中重建单个发行版的差异,已重建 Debian bullseye、bookworm、trixie 以及 Ubuntu jammy 和 noble 的 top-50 popcon 包,并总结了结果。
- 分析了重建版本与官方版本不同的原因,包括构建路径差异、perl 头文件差异、嵌入版本号等,当前设计使用最新版本的构建依赖进行重建,而使用原始构建时的相同版本构建依赖可提高可重现性,但存在挑战。
- 认为达到 100%的幂等重建是一个有趣的目标,需要开始测量幂等重建状态,且重建性概念与可重现性和可引导性定义互补。
关键信息:
- Trisquel 大部分二进制包来源及构建情况。
- Reproducible-build.org 的相关工作及与官方包的匹配情况。
- debdistrebuild 项目及其重建成果和分析。
- 重建版本与官方版本不同的各类原因及当前设计。
- 关于幂等重建的目标和与其他概念的关系。
重要细节:
- 给出了 Debian 官方 coreutils 和 reproducible-build.org 构建的 buildinfo 文件对比,SHA256 校验和不匹配但仍声明可重现。
- 详细说明了 debdistrebuild 在不同架构上重建的包的情况及具体百分比。
- 列举了不同类型的可重现性问题,如汇编差异等。
- 解释了“幂等重建”的概念及与其他构建项目的区别,如与可重现性和可引导性的不同。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。