如何将用户定义的参数传递给 rpmbuild 以填充变量

Posted

技术标签:

【中文标题】如何将用户定义的参数传递给 rpmbuild 以填充变量【英文标题】:How to pass user defined parameters to rpmbuild to fill variables 【发布时间】:2014-02-28 20:02:21 【问题描述】:

是否可以将参数传递给 rpmbuild 以填充在规范文件中调用的用户定义变量?

示例: 在 .spec 文件中调用的用户定义变量 %foobar(但为空)应填充执行 rpmbuild 命令时传递的变量

rpmbuild -bb --foobar="Foo" somespecfile.spec

【问题讨论】:

【参考方案1】:

您可以获得最接近 AFAIK 的是条件构建,它允许您执行以下操作

rpmbuild -ba newpackage.spec --with feature

见http://rpm.org/user_doc/conditional_builds.html

【讨论】:

谢谢 - 这听起来像是一个选项。我会试试这个。【参考方案2】:
rpmbuild -bb --define '_foobar Foo' somespecfile.spec

并在规范中将其称为 %_foobar

(_ 是约定俗成的,不是必须的)

【讨论】:

【参考方案3】:

可以将其添加到 SPEC 文件中:

%define _topdir %(echo $PWD)/

【讨论】:

以上是关于如何将用户定义的参数传递给 rpmbuild 以填充变量的主要内容,如果未能解决你的问题,请参考以下文章

distutils:如何将用户定义的参数传递给 setup.py?

将参数传递给从 R 中的字符串调用的用户定义函数的最佳方法是啥?

如何将参数传递给 Facebook,fb://publish/?

如何将 UDF 的输入参数传递给 sapply

如何将自定义参数传递给事件处理程序

Omnipay - 如何将“自定义”或“发票”参数传递给 Paypal?