为即将到来的 Fedora Linux 43 开发周期提交的更改提案希望建立一种预期,即发行版的 RPM 包构建是可重复的。
在过去的几年里,Fedora 花了大量时间在基础设施和更改上,以允许可重复的构建,以便独立用户可以以相同的方式重新构建包,以确保他们的软件没有被污染或以其他方式修改。它已成为 Linux 更大规模的可重复构建工作的一部分。随着 Fedora 43 的更改提案被考虑,它将建立一种期望,即软件包构建是可重复的,并且 Fedora 软件包维护者会采取任何必要的措施来确保满足这些条件。
“Package builds are expected to be reproduucible”更改提案解释了:
“在过去的几个版本中,我们更改了构建基础设施,使包构建具有可重复性。这足以达到 90%。其余问题需要在单个包中修复。在此 Change 之后,软件包构建应该是可重现的。当检测到不可重复性时,将对软件包提交 Bug。目标是使不少于 99% 的软件包构建具有可重复性。
此更改主要是为了确保维护者能够解决其软件包的可重复性问题。尽管存在一些悬而未决的问题可能会阻止/免除某些软件包,例如 Haskell 软件包在多个 CPU 线程上编译时当前无法重现,MinGW 软件包具有不可重现的调试数据,Golang 软件包也具有不可重现的调试数据,内核使用临时密钥进行模块签名,以及一些软件包使用私钥进行 UEFI 安全启动签名。
希望这个变化能成功,一切都能顺利进行,Fedora 43 的这个受欢迎的变化为包构建增加了更多的确定性,并确保所有包——或尽可能多的包——都可以以可重复的方式构建。
转自 Fedora 43 Hopes To Set An Expectation That Package Builds Are Reproducible – Phoronix