第 7 章 RHEL 9 中的新功能


这部分记录了 Red Hat Enterprise Linux 8 和 9 之间与 RPM 打包相关的重要变化。

7.1. 动态构建依赖项

Red Hat Enterprise Linux 9 引进了 %generate_buildrequires 部分,它可生成动态构建依赖项。

现在,可以使用新的 %generate_buildrequires 脚本,以编程方式生成额外的构建依赖项。这在使用特殊实用程序编写的语言打包软件时很有用,它用于确定运行时或构建运行时依赖项,如 Rust、Node.js、Ruby、Python 或 Haskell。

您可以使用 %generate_build requires 脚本来动态确定在构建时将哪些 BuildRequires 指令添加到 SPEC 文件中。如果存在,%generate_buildrequires%prep 部分后执行,并可以访问解压缩并修补的源文件。脚本必须使用与常规 BuildRequires 指令相同的语法将找到的构建依赖项打印到标准输出。

然后,rpmbuild 实用程序会在继续构建前检查是否满足依赖关系。

如果缺少一些依赖项,则会创建带有 .buildreqs.nosrc.rpm 后缀的软件包,其中包含找到的 BuildRequires,且没有源文件。在重启构建前,您可以使用此软件包在安装 dnf builddep 命令中缺少的构建依赖项。

如需更多信息,请参阅您系统上 rpmbuild (8) 手册页中的 DYNAMIC BUILD DEPENDENCIES 部分。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat