X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,TW_YG,UNPARSEABLE_RELAY X-Spam-Check-By: sourceware.org X-Yahoo-SMTP: jenXL62swBAWhMTL3wnej93oaS0ClBQOAKs8jbEbx_o- Date: Thu, 9 Jun 2011 14:58:00 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: cygcheck's understanding of TZ Message-ID: <20110609185759.GA30563@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20110609094631 DOT 56364lzi64m7t4d3 AT messagerie DOT si DOT c-s DOT fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Thu, Jun 09, 2011 at 12:39:04PM -0500, Edward McGuire wrote: >On Thu, Jun 9, 2011 at 02:46, EXCOFFIER Denis > wrote: >> It seems that /usr/bin/cygcheck does not interpret TZ the same way >> as /usr/bin/date does, in the case TZ is set to a file name >> [snip] >> jupiter% (setenv TZ /usr/share/zoneinfo/Europe/Monaco; date; cygdate) > >There are two standard syntaxes for TZ. One begins with a timezone >name, the other begins with a colon (:). If you supply a colon, then >the rest of the string is interpreted in an operating system >specific manner. GNU interprets it as a pathname. And Cygwin uses >GNU's time library. If by "Cygwin" you mean the dll, then it doesn't use GNU's time library but it does try to match the same behavior. >Na??vely, I thought you might just lack a colon on the front of the >pathname. I confirmed time(1) honors the pathname syntax. But >cygcheck(1) mysteriously interprets all pathnames as GMT + 1 hour: > >$ TZ=:/usr/share/zoneinfo/US/Central cygcheck -s | head -3 | tail -1 >Current System Time: Thu Jun 09 18:23:42 2011 cygcheck is a non-Cygwin application. It is not surprising that it would not interpret TZ in a way that is consistent with linux. It really makes no sense at all to use cygcheck as some sort of method to report the system time. Use 'date(1)'. >$ TZ=:/usr/share/zoneinfo/Europe/Monaco cygcheck -s | head -3 | tail -1 >Current System Time: Thu Jun 09 18:23:49 2011 >$ TZ=:/usr/share/zoneinfo/GMT cygcheck -s | head -3 | tail -1 >Current System Time: Thu Jun 09 18:23:56 2011 >$ TZ=:/usr/share/zoneinfo/Asia/Calcutta cygcheck -s | head -3 | tail -1 >Current System Time: Thu Jun 09 18:23:59 2011 > >It gets local time right: > >$ cygcheck -s | head -3 | tail -1 >Current System Time: Thu Jun 09 12:25:04 2011 > >And it gets GMT right: > >$ TZ=GMT cygcheck -s | head -3 | tail -1 >Current System Time: Thu Jun 09 17:31:32 2011 > >So cygcheck(1) is honoring TZ, but it trips over a pathname in a >way that date(1) does not. And date(1) is what you should be using. cgf -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple