当主题阅读时,我想知道在RPM规范文件中是否可以根据条件制作所需的包?
例如,如果在安装目标上,请检查shell语句,例如主机正在使用绑定接口 并且只有让要求生效。
答案 0 :(得分:1)
作为对原始问题的回答 - 是的,这是可能的,但您可以实现的内容取决于您希望用作条件的内容,并且在程序包的构建期间将这些内容写入程序包,而不是在安装期间。您可以轻松地在.spec中执行某些操作,例如
%if some_condition_is_true
Requires: foo
%else
Requires: bar
%fi
问题是,这有多大意义,您的具体用例是什么?
对于您所描述的内容,这是不可能的,因为您无法在安装期间更改软件包。您的方案有几个选项:
%pre/%post
脚本中,以便它只能有条件地运行。有关条件/动态宏的更多详细信息,自rpm.org v4.12以来大多数情况下可用,请参阅http://www.rpm.org/wiki/DynamicDependencies
有关%pre/%post
和其他scriptlet的更多详细信息,请参阅https://fedoraproject.org/wiki/Packaging:ScriptletSnippets
答案 1 :(得分:0)
没有。您可以手动修改Requires
行并关闭自动检测,然后根据需要处理可选项。