发布在 Fedora 邮件列表中 建议 标准化 RPM 规范文件中的宏,允许您向 RPM 包添加在构建阶段选择编译标志和其他依赖项的功能。
使用示例:
%如果%{使用ssl}
构建要求:openssl-devel
%万一
准备百分比
%configure %{use_enable ssl openssl}
%检查
进行测试 %{?_use_ssl:-DSSL}
在本例中,当在spec文件中指定USE宏ssl时,将添加对openssl-devel包的额外依赖,并在启用--enable-openssl选项的情况下执行配置步骤,并进行相应的测试在构建期间执行。
假设构建选项将由二进制宏%_use_指定带有额外的包装,例如:
- %{使用} – 取值0或1,
- %{使用_启用[ [ ]]} – 扩展为“禁用-” 或--启用- 。
将这种类型的选项添加到规范文件中将允许您从相同的源编译不同版本的发行版。
例如,要最小化构建依赖关系树,您可以使用全局参数 %{use docs},这会禁用文档的构建。
您可以通过配置构建环境来设置适当的选项集。 此外,选项可以全局设置,也可以通过为每个包单独重新定义它们来设置。
该提案尚未被接受,正在讨论中。
来源: linux.org.ru