是否可以在Centos / RHEL 7上的spec文件中发布安装需要依赖项? 我尝试过Requires:somepackage = 1.0.0.0 问题是我需要在安装依赖项之前运行脚本。 我试图在%pre部分中运行它,但似乎在要求之前没有执行它。 %pre部分由于缺少许可证文件而运行并失败。
spec文件如下所示:
Name: MyClient
Requires: MyServerPackage = 1.0.0.0
%pre
echo "Write license that is needed by MyServerPackage prior to install" > /tmp/mylicense
问题是我收到错误:%pre(MyServerPackage)脚本失败,退出状态1 因为在运行MyServerPackages%前脚本时,/ tmp / mylicense不存在。 我还试图添加一个名为mylicense的包并添加一个PreReq:mylicense。但无论我尝试什么,我都会从MyServerPackage%pre中检查出错。
答案 0 :(得分:1)
我需要在安装依赖项之前运行脚本。
那是不可能的;对于所有你知道的事情,两年前可能已经安装了依赖项。
要回答我想到您要去的地方,您可以指定特定部分需要某些内容:
Requires: MyServerPackage
Requires(pre,preun): MyServerPackage
这将告诉它(第1行)要安装,MyServerPackage
应始终存在。然后第2行明确表示,如果您同时安装它,那么在安装或尝试卸载此软件包之前应该存在。例如,如果其他包设置用户名等,则此功能非常有用