0

我正在尝试编辑一个规范文件,当我尝试使用 RPM 在其他计算机上安装它时总是失败。我正在使用 CentOS。这是错误。

error: Failed dependencies:
perl(ActsUtil) is needed by my_program
perl(ParseBishop) is needed by my_program

这两个文件都是 RPM 的依赖项。问题是,这两个文件实际上是在 RPM 包中提供的。这两个文件都是 .pm 文件,位于/opt/mysoftware/bin. 我知道可以使用rpm - ivh --nodeps mysoftware. 但我不喜欢使用那种方法。所以,我尝试修复规范文件。这是我尝试过的一些代码。

第一次尝试

Summary:....
Name:..
Version:..
....
....
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

第二次尝试

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop, ActsUtil
...
...
%install
...
...
%changelog

第三次尝试

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop.pm, ActsUtil.pm
...
...
%install
...
...
%changelog

第四次尝试

Summary:....
Name:..
Version:..
....
....
Provides: /opt/mysoftware/bin/ParseBishop, /opt/mysoftware/bin/ActsUtil
...
...
%install
...
...
%changelog

我做错了“提供”命令吗?还是我解决问题的方法已经错了?非常感谢所有指导和帮助。

4

1 回答 1

1

我找到了解决方案。问题是我的提供在错误的区域。它应该位于代码的顶部。

Summary:...
Name:...
Version:...
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

来验证这一点。我rpm -qp --provides mysoftware.rpm在内置文件夹中使用过。它将显示我的包裹中提供的内容。感谢所有帮助。

于 2013-10-25T02:01:57.657 回答