我有一个软件包X,具体取决于软件Y.Y通常由用户手动编译和安装,但并非总是如此。
如果我在我的spec文件中添加了一个要求,例如“requires:Y”,那么YYS将下载包Y并安装。如果Y是由用户安装的,则只是被覆盖,这是不正确的。
如果我没有提出要求,那些没有Y的人最终会错过运行X的必要软件。
通过检查某个地方是否存在二进制文件或检查环境变量,可以知道是否安装了Y.
如何处理这种情况?
答案 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