如何在specfile中指定两个BuildRequires项,其中第二个依赖于已安装的第一个?

时间:2019-04-09 10:40:19

标签: rpm rpm-spec

我正在尝试构建一个RPM,其中有两个BuildRequires项;第一个是存储库RPM,它是第二个RPM的源。第二个BuildRequires项显然取决于第一个安装的存储库,但是这两个安装在一起,因此第二个RPM尚未从所需的存储库获取,因为它尚未安装。我可以配置为先安装第一个,然后再尝试安装第二个吗?

BuildRequires:  source-for-second-rpm
BuildRequires:  second-rpm

....

Getting requirements for /root/rpmbuild/SPECS/stuff.spec
 --> source-for-second-rpm
 --> 1:second-rpm     < this is not the correct version as above not yet installed

....

Installing:
 second-rpm                sourced-from-other-repository!
 source-for-second-rpm     sourced-correctly

2 个答案:

答案 0 :(得分:1)

否,RPM SPEC文件中尚无此规定。 您仍然可以做一件事:-

a)首先安装“每秒转数”的源。
b)安装您刚制作的RPM。

注意:-不要将 source-for-second-rpm 作为您的RPM的依赖项。

让我们说我想构建一个名为abc.rpm的RPM,它依赖于python36。 现在python36软件包在epel-release存储库中可用。

因此,您需要执行以下操作:-
a)yum install epel-release
b)百胜安装abc.rpm

答案 1 :(得分:0)

这意味着在这两个rpm中没有正确设置依赖项。

通常 second-rpm 应该Requires source-for-second-rpm ,显然不是这种情况。如果正确设置了这些要求,则将以正确的顺序安装rpm。