有人能解释一下为什么 perl-libwww-perl 满足 LWP::Simple 吗?

有人能解释一下为什么 perl-libwww-perl 满足 LWP::Simple 吗?

在 RHEL 6 上通过 RPM 安装 Munin,http://pkgs.repoforge.org/ 大多数安装都没有问题,但是在安装 munin-node 时出现以下问题:

rpm -Uvh munin-node-1.2.5-1.el5.rf.noarch.rpm
warning: munin-node-1.2.5-1.el5.rf.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
error: Failed dependencies:
        perl(LWP::Simple) is needed by munin-node-1.2.5-1.el5.rf.noarch

花了一段时间寻找 LWP::Simple 的 PRM(希望避免使用 CPAN,以便将来更轻松地实现安装自动化)。我进行了一些 yum 搜索。搜索了一些 Repos。我尝试了一些 LWP 包,但最终通过谷歌搜索找到了这个页面:

http://rpmfind.net/linux/rpm2html/search.php?query=perl(LWP%3A%3ASimple)

这里列出了软件包:perl-libwww-perl 我偶然通过 yum 安装了这个软件包。这满足了 LWP:Simple 依赖关系。但我不知道为什么……而且有点沮丧的是它在之前的搜索中没有出现。

答案1

perl-libwww-perl包含整个 CPANlibwww-perl软件包,包括LWP/Simple.pm。虽然我很清楚 RPM 依赖关系是如何工作的,但在我看来,RPM自动添加 Provides: perl(LWP::Simple) = 6.00当 RPM 包正在被构建时。


$ perl -E 'say for grep {-f} map {"$_/LWP/Simple.pm"} @INC'
/usr/share/perl5/vendor_perl/LWP/Simple.pm

$ ./usr/lib/rpm/perl.prov "/usr/share/perl5/vendor_perl/LWP/Simple.pm"
perl(LWP::Simple) = 6.00

相关内容