main 和 Universe 中的 apt 包是否总是保证由 Ubuntu 或 Debian 维护人员从源代码​​构建?

gee*_*ley 12 apt repository open-source official-repositories software-installation

我想知道 Canonical(和/或 Debian)是否提供任何形式的保证,即 main 和 Universe 存储库中的所有包总是由它们自己从源代码构建,或者由它们验证(在确定性或签名的可复制构建的情况下),而不是仅仅包括其他人编译的二进制文件(这意味着您也必须信任他们,不要在他们的编译过程中做一些阴暗或不清楚的事情,或者在适用的情况下使用除私钥之外的公共源代码库之外的任何内容进行签名)。

Debian 和 Ubuntu 对此有何政策?他们有关于此事的官方页面或声明吗?我希望他们至少为主要做这件事,但宇宙呢?当我从 Universe 安装某些东西时,我“信任”谁(提供他们声称已编译的内容)?只是 Canonical/Debian 还是作者自己?

相关:(我在可重复构建中找到的一些信息,大部分是旧的)

pop*_*pey 18

main 和 Universe 中的包是在启动板构建场中从源代码构建的。您无需要求对此进行验证,因为您可以自己找到它。

例如,在撰写本文时,bind上传到 Ubuntu 20.04 LTS (Focal) 的最新版本是 1:9.16.1-0ubuntu2.5。您可以通过focus-changes公共邮件列表看到这一点。特别是这篇文章链接到启动板,您可以在其中查看源文件和构建,以及每个受支持架构的构建日志。例如,对于使用该版本包的AMD64构建发现这里与构建日志这里

您可以对每个 Ubuntu 版本中的每个包重复此过程。

虽然我提到了 main 和 Universe,但受限和多元宇宙包也是如此,它们也构建在启动板上。然而,它们可能包含非自由组件,因此不能保证“从源代码”构建,但是每个都有一个源包,即使它包含一些二进制组件。


Cal*_*ell 7

从 Debian 的角度来看:所有软件包都构建在我们的专用服务器(buildd's)上。非构建在 buildd 上的包不允许进入测试并进入稳定版本。此外,自 2018 年以来构建的每个包都包含一个 .buildinfo 文件:虽然这不能保证可重现的构建,但它确实启用了它们。Bullseye 中的所有软件包都有这个文件,这要归功于 Debian 开发人员最近的努力,以触发那些很少更新的软件包(例如,字体软件包)的重建。

总的来说,Debian 的人们是可重复构建的忠实粉丝,而且很多推动它们的人都是该项目的一部分。构建再现性工具被集成到基础设施中:例如,包通常使用标准化时间戳构建,并且很快将使用标准化位置构建。