Old versions of CPAN don't install DateTime properly

VERIFIED FIXED in Bugzilla 3.6

Status

()

defect
VERIFIED FIXED
9 years ago
7 years ago

People

(Reporter: mkanat, Assigned: mkanat)

Tracking

Bugzilla 3.6
Bug Flags:
approval +
approval3.6 +

Details

Attachments

(1 attachment)

Assignee

Description

9 years ago
DateTime requires Params::Validate. Installing Params::Validate via CPAN dies if Module::Build isn't installed. So, install-module.pl should make sure that Module::Build is installed whenever it does an installation (that will protect us against any future similar situations).
Assignee

Comment 1

9 years ago
This is actually worse than I thought. It turns out that the version of CPAN that ships with Perl 5.8.8 doesn't install DateTime and Params::Validate properly at all--it ignores the Build.PL file, because it doesn't support Module::Build. So the XS components of both those modules never get installed, and so things will be much slower than they otherwise would.
Summary: Installing DateTime with install-module.pl fails if Module::Build isn't installed → Old versions of CPAN don't install DateTime properly

Comment 2

9 years ago
What are our alternatives?
Assignee

Comment 3

9 years ago
We need at least CPAN 1.81 for things to work right. Once we have that, we can also install the YAML module, and then CPAN will use the YAML module to read the prerequisites of DateTime, and install Module::Build properly, fixing all these bugs in one swoop.
Assignee

Comment 4

9 years ago
So probably what I'm going to do here is check the version of CPAN installed. Then, if it's too old, I'll have install-module.pl do nothing but upgrade CPAN and install YAML, and then quit with a red message saying to run the command again.
Assignee

Comment 5

9 years ago
Okay, I've filed the following bug against DateTime:

  https://rt.cpan.org/Ticket/Display.html?id=56732
Assignee

Comment 6

9 years ago
And this bug against Params::Validate:

  https://rt.cpan.org/Ticket/Display.html?id=56733
Assignee

Updated

9 years ago
Blocks: 557769
Assignee

Comment 7

9 years ago
  Okay, I think that this bug may actually affect several modules, and who knows what modules it will affect in the future.

  Here's what I'm going to do:

  If the required modules are missing or too old, I'm going to install them, and then re-run the original command using exec().
Assignee

Comment 8

9 years ago
Posted patch v1Splinter Review
Okay, this updates the CPAN module if it's too old, and the YAML module if it's not there. It also updates the CPAN setting defaults for newer versions of CPAN. Also, I removed perl.secsup.org from the urllist because it seems to frequently have problems and hang when we try to download stuff from it.

The colorize_ stuff is only going onto HEAD, but the rest of the patch is going to 3.6 also.
Assignee: installation → mkanat
Status: NEW → ASSIGNED
Attachment #440347 - Flags: review+
Assignee

Comment 9

9 years ago
For 3.6, I removed the colorize_ lines on checkin.

Committing to: bzr+ssh://bzr.mozilla.org/bugzilla/trunk/
modified install-module.pl
modified Bugzilla/Install/CPAN.pm
modified Bugzilla/Install/Requirements.pm
Committed revision 7133.

Committing to: bzr+ssh://bzr.mozilla.org/bugzilla/3.6/
modified install-module.pl
modified Bugzilla/Install/CPAN.pm
modified Bugzilla/Install/Requirements.pm
Committed revision 7087.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Assignee

Updated

9 years ago
No longer blocks: 557769
Duplicate of this bug: 557769
Assignee

Updated

9 years ago
Flags: approval3.6+
Flags: approval+

Comment 11

9 years ago
bugzilla-3.6: confirmed the message "Cannot determine local time zone" while opening the new bug

Which release this will be fixed in?
Assignee

Comment 12

9 years ago
  This will be fixed in 3.6.1.

Comment 13

9 years ago
This worked correctly for me in 3.6.1
Assignee

Comment 14

9 years ago
Cool, good to know. :-)
Status: RESOLVED → VERIFIED

Comment 15

9 years ago
I am still getting this error in bugzilla-3.6.1 on FreeBSD-8.1. I know it is supposed to be fixed, but ...


--- message ---
Software error:

Cannot determine local time zone
Assignee

Comment 16

9 years ago
@Yuri At this point, your problem is a support issue. Ask the support-bugzilla mailing list about it. The mailing list is described here:

  http://www.bugzilla.org/support/

Comment 17

9 years ago
Why?

This PR is supposed to be fixed and I don;t find it fixed. This is exactly the same issue this PR is about.

Comment 18

7 years ago
I am facing same problem while installing perlmodule DateTime.. Installing on CentOS 5.5,Bugzilla Version 3.6.1..

[root@dev1 bugzilla]# /usr/bin/perl install-module.pl DateTime
 Error is " Failed 43/95 test scripts, 54.74% okay. 1/1 subtests failed, 0.00% okay.
make: *** [test_dynamic] Error 255
  /usr/bin/make test -- NOT OK
Running make install
Appending installation info to /var/www/html/bugzilla/lib/i386-linux-thread-multi/perllocal.pod
  /usr/bin/make install  -- OK
"

and i have tried 

"[root@dev1 bugzilla]# yum install DateTime
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iitm.ac.in
 * epel: mirror.nus.edu.sg
 * extras: ftp.iitm.ac.in
 * updates: ftp.iitm.ac.in
Setting up Install Process
No package DateTime available.
Nothing to do "

 while checking "yum list perl" it showing DateTime is installed
You need to log in before you can comment on or make changes to this bug.