下午好,
我目前正在构建一个RPM,它有一些我在网上找不到答案的要求。我把它缩小到一个问题。
通常,当我从命令行运行安装时,其中一个步骤让我运行以下命令yum groupinstall "Compatibility libraries"
,它在我的64位桌面上安装32位兼容库。我想知道是否有办法在RPM-spec文件的 Requires:
字段中完成此操作,因为我只找到了一种方法来要求非常具体的RPM依赖项?
我总是可以添加安装了yum groupinstall "Compatibility Libraries"
的10-15个单独的软件包,但我希望有更好的选择。
RPM说明: 我的RPM本质上是非常基本的。它会将多个tar文件解压缩到不同的位置,覆盖整个主安装目录中的文件,安装兼容性库,然后继续启动服务。
如果有人需要更多信息我想要完成的事情,请告诉我。谢谢。
答案 0 :(得分:1)
您只能在Requires:
行中要求特定的包,而不是群组。你绝对不应该在你的yum
脚本中运行%post
,因为那时(a)你隐藏了你的依赖关系,没有人喜欢看到他们没有预料到的东西安装,并且( b)你可能最终会被卡住,因为yum
中的%post
需要等待现有的yum进程退出。
对于库 Requires:
,rpm构建过程通常会为您解决问题。您仍然需要手动指定相应的BuildRequires:
依赖项,这些是构建包所需的内容。
如果您想更详细地更新您的问题(例如,指定文件的链接以及您尝试做的事情的说明,如果规范中不明显),也许我们可以提出更好的解决方案。