我已经从我们的项目创建了RPM包。这个包中只有二进制文件和脚本,二进制文件依赖于特定的内核版本(3.10.0-327.el7)。所以我把它添加到了RPM规范文件中:

Requires:       kernel = 3.10.0-327.el7

现在它大部分时间都可以正常工作,但是如果目标机器上安装了kernel-3.10.0-327.4.4.el7(注意4.4.el7),而不是kernel-3.10.0-327.el7,那么百胜不会安装kernel-3.10.0-327.el7,而是安装kernel-debug-3.10.0-327.el7,这基本上破坏了我的软件包。
有没有一种方法可以在RPM规范文件中指定我不需要内核开发程序,但我希望将特定的内核作为依赖项安装?
谢谢。

最佳答案

我知道这是老问题,但我只是在同一个问题上跌跌撞撞。希望能对别人有所帮助。为了解决这个问题,我把这行代码格式化如下。

Requires:       kernel-%{_target_cpu} = 3.10.0-693.el7

(不同的版本,相同的问题)我在kmods v1标准的模板中找到了这个解决方案。这里有记录:https://rpmfusion.org/Packaging/KernelModules/Kmods1

10-01 12:56