如何查看rpm融合包的源代码?

如何查看rpm融合包的源代码?

这个答案https://unix.stackexchange.com/a/617937/542871提到可以在以下位置检查 rpm 融合文件的代码:https://pkgs.rpmfusion.org/cgit/但我在那里没有找到我感兴趣的文件。还有其他方法吗?

答案1

您可以浏览https://rpmfusion.org/,例如打开:Fedora -> 39 -> Updates -> Free -> Source -> qmplay2 然后你会看到:

qmplay2-23.10.22-1.fc39.src [1.5 MiB]   Changelog by Martin Gansser (2023-10-23):

- Update to 23.10.22

src.rpm 源代码。但是,您可以使用 rpm2cpio 或 Midnight Commander 来提取/检查它!

它是不是这是您可以信任 RPMFusion 的保证,而我几年前就不再这样做了。问题是您无法控制/洞察他们的构建场,因此二进制包可能包含在构建过​​程中添加的恶意软件。


其次,当您安装他们的存储库文件时,您可以使用以下命令下载源:dnf download --source package_name,例如dnf download --source cgit

答案2

首先,您需要找出源包的名称是什么,该名称可以与已安装的包名称不同(通常是因为一个源包提供了多个包)。对于xorg-x11-drv-nvidia-cuda它的xorg-x11-drv-nvidia.您可以使用 获取此信息dnf repoquery --source xorg-x11-drv-nvidia-cuda

然后你就可以找到这个包了分布式git,但是源文件不在那里,只有 SPEC 文件(可能包含用于下载源文件的 URL,但它可以只是文件名)和补丁和其他小文件 - 源文件通常太大而无法包含在 GIT 中存储库。如果您想获取完整的源文件,最简单的方法是从以下位置下载 SRPM(包含 SPEC 和所有源代码的存档):浩二(选择您要检查的确切版本并下载.src.rpm文件源代码部分)并提取它(SRPM 只是一个包含 SPEC 文件和所有源的存档)。

如果您想更多地使用打包,您可以使用安装rpmfusion-packager并克隆整个 dist git rfpkg clone xorg-x11-drv-nvidia,然后使用rfpkg sources.您可以阅读 RPMFusion 的更多包装这里

相关内容