YUM / RPM - 如何指定未安装RPM的要求

时间:2012-06-20 13:59:41

标签: dependencies rpm yum

我有一个软件包X,具体取决于软件Y.Y通常由用户手动编译和安装,但并非总是如此。

如果我在我的spec文件中添加了一个要求,例如“requires:Y”,那么YYS将下载包Y并安装。如果Y是由用户安装的,则只是被覆盖,这是不正确的。

如果我没有提出要求,那些没有Y的人最终会错过运行X的必要软件。

通过检查某个地方是否存在二进制文件或检查环境变量,可以知道是否安装了Y.

如何处理这种情况?

1 个答案:

答案 0 :(得分:1)

可以设置RPM %pre文件的.spec部分,以检查二进制文件是否存在。

 %pre
    # Check if binary file exists . If not, exit with an error. 
    if [ -f /path/to/binary/file ]; then
        echo "Info: Pre-requisite exists: /path/to/binary/file"
    else
        echo "Error: Pre-requisite <name> not installed. Exiting..."
        exit 1
    fi