| www.delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:date:from:to:subject:message-id:reply-to | |
| :references:mime-version:content-type:in-reply-to; q=dns; s= | |
| default; b=DKulQ4OXDj3KZ9xtMp33Atqv7JqB4ax9qFmq46hNAR2xfz2YUG+Cv | |
| LTxN9hDdrGdLCE4bnaQXttOCawKADzifZyYXOy/mQJhLPX1Tp+Taka3qlFFCFT9l | |
| aYiQMY6ji0RIBiCstgUlywmaBGf/b9H9g8Vpv27hdudkkQRxxML//E= | |
| DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:date:from:to:subject:message-id:reply-to | |
| :references:mime-version:content-type:in-reply-to; s=default; | |
| bh=y90jAJRh0Go7Yt83giCIobrTYBA=; b=RpC8t41OEEm6xcd9ngedS7eNHW+C | |
| axELnRzoupV44tdM1wWwk2XWrUiZM4/4Ahv4JhYFnkRk0wOE89IHjqzhwf3m/sV3 | |
| MITHN9XC0NGYCf2Qy1EYySn69Qze2GXiMM305Wit1ETl6aDvsGjI6lV0BOhveYO7 | |
| oBVHDkLwok9eSZ0= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Authentication-Results: | sourceware.org; auth=none |
| X-Virus-Found: | No |
| X-Spam-SWARE-Status: | No, score=-101.9 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Panel, opted, Side, Hx-languages-length:2566 |
| X-HELO: | drew.franken.de |
| Date: | Tue, 6 Jun 2017 17:04:59 +0200 |
| From: | Corinna Vinschen <corinna-cygwin AT cygwin DOT com> |
| To: | cygwin AT cygwin DOT com |
| Subject: | Re: setting TZ is harmful |
| Message-ID: | <20170606150459.GB23208@calimero.vinschen.de> |
| Reply-To: | cygwin AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| References: | <2397524 DOT 6dhiyKbjLM AT omega> |
| MIME-Version: | 1.0 |
| In-Reply-To: | <2397524.6dhiyKbjLM@omega> |
| User-Agent: | Mutt/1.8.0 (2017-02-23) |
--ZoaI/ZTpAVc4A5k6
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On May 9 15:37, Bruno Haible wrote:
> Hi,
>=20
> Currently, all commands in a Cygwin command window are run with the TZ
> environment variable set.
>=20
> It is set by /etc/profile.d/tzset.sh (or its csh equivalent,
> /etc/profile.d/tzset.csh).
>=20
> Setting TZ is harmful in two ways:
>=20
> 1) When the user changes the time zone (through the Windows Control Pan=
el) -
> for example when traveling - the programs run in the Cygwin command
> window will display a stale notion of local time. Only after the user
> closes and re-opens a new Cygwin command window, will the programs
> display local time according to the new time zone.
>=20
> 2) It causes native Windows programs (built through mingw, MSVC) to ass=
ume
> a time zone that is different from the intended one and different fr=
om
> the one that the user has set in the Windows Control Panel (see APPE=
NDIX 1
> below). This is because in most geographies, the values of TZ (produ=
ced
> by winsup/utils/tzset.c and winsup/utils/tzmap.h) contains a slash, =
and
> the tzset() function in the Microsoft CRT does not understand this s=
yntax
> - it understands only a different syntax
> https://msdn.microsoft.com/en-us/library/90s5c885.aspx .
>=20
> When TZ is not set, both Cygwin and native Windows programs take their ti=
me
> zone information from the Windows Control Panel settings. See APPENDIX 2
> below and https://lists.gnu.org/archive/html/bug-gnulib/2017-05/msg00035.=
html .
>=20
> What are the benefits of setting the TZ environment variable? I don't
> see any!
If we don't do that the tzname variable contains gibberish, because the
only information we have is the Windows timezone info, and the content
is (who would expect that) non-standard. See also
https://cygwin.com/ml/cygwin-developers/2012-01/msg00039.html
That's why we opted for always setting TZ.
> =3D=3D=3D> Please remove /etc/profile.d/tzset.{sh,csh} ! <=3D=3D=3D
>=20
> Side note: An empty TZ value is equivalent to an unset TZ variable for mi=
ngw
> and MSVC compiled programs, but not for Cygwin programs (which interpret =
it as
> GMT). See APPENDIX 2 below.
We're not striving for Windows compatibility, exactly. What you
describe as problem is working the same way in glibc on Linux, see
https://linux.die.net/man/3/tzset:
"If the TZ variable does appear in the environment, but its value is
empty, or its value cannot be interpreted using any of the formats
specified below, then Coordinated Universal Time (UTC) is used.
Corinna
--=20
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--ZoaI/ZTpAVc4A5k6
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJZNsSbAAoJEPU2Bp2uRE+gQbIP/jqm+kX8I+NvIk9gyBW352Zo
lMFfBEtmDsJH55Ai1zi3O1Fbokt33+Qfm14W4idLGiyP/jjfcEUGsdZI5u+FF088
o3QLOAi4LL+IQ2+7y6ig11piQ7n8YKcuSOD/bh3dUoirEb0fWAnkU6CVD6XkKDHM
ENKUxNIwm+yzyQXmlInizmUeZPgT2P35Wig4pGNMI5UaNVLqQYGgxbXwlK+fgFgZ
ALn0Eax/Q+RuwyQbBbaYTrHzHB7eIz4G0RwyTPyWIw0eiiNfBa8UXV885I+ceCkC
nQpHezOvu2/+9yG9uFPXqRk9XWQvuvyK6PxEEFaTuJ6ZsHD4l+jcQQiqGxg4UV/2
yygvmpW1Os9k0xarcxirWMl5xVakxlOP0HwMOGjfdLV5DMQoyRotWyoUOvHW2q4O
5t7D8gvlnImCkNWxm/d7LJ324nKmD+mY0GNkDrRKkLUjXDDzQYuSfP1DovDV3Beb
QOl8THRKrht+TpP6giYNFL59u/VQPVqmpE7RGYrJ8BKlopybxlWpYd7ezdc4By98
PP+18L0nIse6pzwqb5Zbg4e/vUeVNLyAFJuC/SCMFq2c8+MdpZq5v0gWIUlkeW5j
tL4VckMSPSjmCq6MgvSU6+VVn5f01Oo9zFp8h/2WiZI7YvUDlbLa7lXPkxFco5j4
BYiVBzWR9e2st3IwYnoN
=VsiI
-----END PGP SIGNATURE-----
--ZoaI/ZTpAVc4A5k6--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |