如何在spec文件中指定两个BuildRequires项目,其中2nd依赖于第一个正在安装?

问题描述 投票:0回答:2

我正在尝试构建一个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
rpm rpm-spec
2个回答
0
投票

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

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


1
投票

不,在RPM SPEC文件中还没有这样的规定。你仍然可以做一件事: -

a)首先安装source-for-second-rpm。 b)安装刚刚制作的RPM。

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

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

所以,你需要做以下事情: - a)yum install epel-release b)yum install abc.rpm

© www.soinside.com 2019 - 2024. All rights reserved.