Closed Bug 472458 Opened 16 years ago Closed 16 years ago

checksetup.pl should check for DateTime::TimeZone

Categories

(Bugzilla :: Installation & Upgrading, defect)

3.3.1
defect
Not set
major

Tracking

()

RESOLVED FIXED
Bugzilla 3.4

People

(Reporter: bigstijn, Assigned: LpSolit)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Build Identifier: Bugzilla 3.3.1

I get the error
"undef error - Cannot determine local time zone" after submitting a bug (postbug.cgi).

The installation in done on windows XP with ActiveState Perl.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Summary: "undef error - Cannot determine local time zone" after submitting bug (postbug.cgi) → "undef error - Cannot determine local time zone" after submitting bug (post_bug.cgi)
Checksetup:

C:\Apacheroot\bugzilla-3.3.1>perl checksetup.pl
* This is Bugzilla 3.3.1 on perl 5.8.8
* Running on WinXP/.Net Build 2600 (Service Pack 2)

Checking perl modules...
Checking for              CGI.pm (v3.21)   ok: found v3.29
Checking for          Digest-SHA (any)     ok: found v5.45
Checking for            TimeDate (v2.21)   ok: found v2.22
Checking for            DateTime (v0.28)   ok: found v0.34
Checking for           PathTools (v0.84)   ok: found v3.25
Checking for                 DBI (v1.41)   ok: found v1.58
Checking for    Template-Toolkit (v2.15)   ok: found v2.19
Checking for          Email-Send (v2.16)   ok: found v2.185
Checking for          Email-MIME (v1.861)  ok: found v1.861
Checking for Email-MIME-Modifier (v1.442)  ok: found v1.442
Probably some restrictions on the DateTime version should be set into checksetup.pl, although I don't know yet which version would work.

Probably something to do with
http://www.nntp.perl.org/group/perl.datetime/2004/02/msg4857.html ?

On Vista, there can also be some problems, I guess: (from google's cache)
I am using Windows Vista with ActivePerl 5.8.8.822. I have
downloaded the latest DateTime::TimeZone package from CPAN (DateTime-
TimeZone-0.67).
I always
get error stating that "Cannot determine local time zone.". After
debugging, I came to know that DateTime package of Perl reads the
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol
\TimeZoneInformation\StandardName" to access this information which is
supposed to contain a Windows name for the time zone (e.g.) but in
Windows Vista, it contains some dll entry point information.
With DateTime version 0.41, the problem is resolved.

So I guess somewhere between version 0.34 and version 0.41 the perl-problem was fixed.

I was using version 0.34 because I downloaded http://theoryx5.uwinnipeg.ca/ppms/bundles/Bundle-DateTime.zip (I'm behind a firewall with doesn't allow the basic authentication used by perl and HTTP_PROXY).
Component: Creating/Changing Bugs → Installation & Upgrading
Summary: "undef error - Cannot determine local time zone" after submitting bug (post_bug.cgi) → Checksetup should check for a (higher) working version of DateTime on Windows
https://rt.cpan.org/Public/Bug/Display.html?id=35733 says the problem was fixed in DateTime::TimeZone 0.79, released on 2008-07-29, for Vista and 2008 Server. So we should request this version as a minimum on Windows.

DateTime::TimeZone 0.61, released on 2007-02-18, had a major cleanup to determine the local timezone on Windows, so we should at least require this version. But 0.61 introduced a bug related to symlinks which was fixed in 0.63.

Now, DateTime::TimeZone 0.71, released on 2007-12-28, says it fixed a major bug which seems to affect all platforms, so we should require this version as a minimum by default on all platforms.

As a summary, we should require 0.71 by default, and 0.79 on Windows Vista and Server 2008. mkanat, is checksetup.pl able to detect if the OS is Vista or Server 2008? If not, we should require 0.79 everywhere.
Status: UNCONFIRMED → NEW
Depends on: 182238
Ever confirmed: true
OS: Windows XP → All
Hardware: x86 → All
Target Milestone: --- → Bugzilla 3.4
Version: unspecified → 3.3.1
Updating the bug summary as the problem comes from DateTime::TimeZone, not DateTime itself.
Summary: Checksetup should check for a (higher) working version of DateTime on Windows → Checksetup should check for DateTime::TimeZone (at least on Windows)
Increasing severity to have it in my radar. We must fix this bug before we release 3.4 RC1.
Severity: normal → major
Just do 0.71 by default and 0.79 if we're on Windows. It is possible to detect what version of Windows we're on, but I don't think it's reliable and it's not easy.
Attached patch patch, v1Splinter Review
Assignee: create-and-change → LpSolit
Status: NEW → ASSIGNED
Attachment #355799 - Flags: review?(mkanat)
Attachment #355799 - Flags: review?(mkanat) → review+
Also might want to add a comment on why we require 0.71 otherwise.
Flags: approval+
I added an explanation why we require 0.71:

Checking in Bugzilla/Install/Requirements.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/Install/Requirements.pm,v  <--  Requirements.pm
new revision: 1.57; previous revision: 1.56
done
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Summary: Checksetup should check for DateTime::TimeZone (at least on Windows) → checksetup.pl should check for DateTime::TimeZone
Keywords: relnote
Keywords: relnote
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: