Bug 1122368
| Summary: | Missing perl-Time-HiRes requirement | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Steven Moix <steven.moix> | |
| Component: | perl | Assignee: | Petr Pisar <ppisar> | |
| Status: | CLOSED ERRATA | QA Contact: | Martin Kyral <mkyral> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 7.0 | CC: | georgios, isenfeld, jorton, lists, mkyral, ppisar | |
| Target Milestone: | rc | Keywords: | EasyFix, Patch | |
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | perl-5.16.3-284.el7 | Doc Type: | Bug Fix | |
| Doc Text: |
Cause:
Running cpan(1) tool for the first time while
perl-Time-HiRes and perl-local-lib packages are not
installed.
Consequence:
The tool crashes because Time::HiRes or local::lib Perl
module is not available.
Fix:
Run-time dependency on perl(Time::HiRes) has been added
into perl package, run-time dependency on
perl(local::lib) has been added into perl-CPAN package.
Result:
When cpan(1) tool is installed it will pull in all needed
dependencies.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1122498 (view as bug list) | Environment: | ||
| Last Closed: | 2015-03-05 07:55:22 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
|
Description
Steven Moix
2014-07-23 05:43:32 UTC
This is a bug in `perl' package. The package should run-require `perl(Time::HiRes)' because Net::Ping module's hires() subroutine loads Time::HiRes:
$hires = 0;
sub hires
{
my $self = shift;
$hires = 1 unless defined
($hires = ((defined $self) && (ref $self)) ? shift() : $self);
require Time::HiRes if $hires;
}
There is another issue after proceeding next:
Can't locate local/lib.pm in @INC (@INC contains: /root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /root) at /usr/share/perl5/CPAN/FirstTime.pm line 1300.
The CPAN::FirstTime module offers local::lib by default if site directories do not exist:
sub _local_lib_config {
# Set environment stuff for this process
require local::lib;
[...]
}
perl-CPAN sub-package should run-require `perl(local::lib)' too.
How to test: (1) # yum remove perl (2) # yum install /usr/bin/cpan (3) # rm -rf ~/.cpan (4) # cpan </dev/null Before: The reported message is printed and the `cpan' command dies with a non-zero exit code. After: The `cpan' command succeeds. Yes, the failing requirement is true. Until this is fixed, a simple yum -y install perl-Time-HiRes should be enough to remedy the issue. I cron-ed it on newly installed RHEL and CentOS 7 boxes and no further problems were raised. *** Bug 1154741 has been marked as a duplicate of this bug. *** Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0338.html |