unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Bengt Richter <bokr@bokr.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 36870@debbugs.gnu.org
Subject: bug#36870: date bug
Date: Wed, 31 Jul 2019 06:20:47 +0000	[thread overview]
Message-ID: <20190731062047.GA831@PhantoNv4ArchGx.localdomain> (raw)

Hi Ludovic,

Please excuse my direct mail and speculative shot at CC-ing bug-guix ;-/
(Hope to get my email stuff in order RSN :)

Bug: The plain old date command seems confused about zone info,
as you can see from the following:

Bottom line: I would look for a regex that erroneously excludes
embedded forward slashes in forming the TZ key used to look up
the localtime date info in tables like

/gnu/store/xml1s9r9vp98amhyyn3q85p5xls3nivf-tzdata-2019a/share/zoneinfo/tzdata.zi

The date bug ripples into lots of dependents, such as "who -b" that first made me notice,
and lots more -- really need to fix! ;-)

$ 
$ echo $TZ # my current zone
America/Los_Angeles
$ # plain America without following slash does not exist in the table, so how does date punt then? Insert key itself as %Z?
$ egrep -m3 '^Z America([^/]|$)' /gnu/store/xml1s9r9vp98amhyyn3q85p5xls3nivf-tzdata-2019a/share/zoneinfo/tzdata.zi
$ egrep -m3 '^Z America([^/]|$)' /gnu/store/xml1s9r9vp98amhyyn3q85p5xls3nivf-tzdata-2019a/share/zoneinfo/tzdata.zi
$ egrep -m3 '^Z America([/]|$)' /gnu/store/xml1s9r9vp98amhyyn3q85p5xls3nivf-tzdata-2019a/share/zoneinfo/tzdata.zi
Z America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
Z America/Scoresbysund -1:27:52 - LMT 1916 Jul 28
Z America/Godthab -3:26:56 - LMT 1916 Jul 28
$ egrep -m3 '^Z America/Los' /gnu/store/xml1s9r9vp98amhyyn3q85p5xls3nivf-tzdata-2019a/share/zoneinfo/tzdata.zi
Z America/Los_Angeles -7:52:58 - LMT 1883 N 18 12:7:2
$ 

Earlier experiments, to get to above speculation, taken from emacs M-x shell:

(Many examples below contrast the /usr/bin/ versions from arch linux
with those redirected by guix profile links (more details follow))

-------------------------------------------------------------
[19:13 ~/bs]$ PS1='$ ' # minimize prompt overhead
$ 
$ # first noticed in wrong directory name I generate
$ # based on who -b -- which in turn depends on date
$ # which has the bug (produces UTC, but more to it):
$ date -Is
2019-07-31T02:22:29+00:00
$ /usr/bin/date -Is
2019-07-30T19:22:48-07:00
$ date --version
date (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
$ /usr/bin/date --version
date (GNU coreutils) 8.31
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
$ # but the real clue is from plain date, which mangles output order and TZ info:
$ date
Wed Jul 31 02:24:30 America 2019
$ /usr/bin/date
Tue 30 Jul 2019 07:24:45 PM PDT
$ which -a env
/home/bokr/.guix-profile/bin/env
/usr/bin/env
$ env|grep TZ
TZ=America/Los_Angeles
$ /usr/bin/env|grep TZ
TZ=America/Los_Angeles
$ uname -a
Linux PhantoNv4ArchGx 5.1.15-arch1-1-ARCH #1 SMP PREEMPT Tue Jun 25 04:49:39 UTC 2019 x86_64 GNU/Linux
$ uname -rv
5.1.15-arch1-1-ARCH #1 SMP PREEMPT Tue Jun 25 04:49:39 UTC 2019
$ grep -m1 'model name' /proc/cpuinfo
model name	: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
$ ## BTW, for me, arch linux with kernel 5.2.x went glacial with unk busyness
$ ## and forced me to stay for now with 5.1.15 as "foreign distro" for my guix, which is
$ guix --version
guix (GNU Guix) 34e549d813113fc57213202fd5e4b885d95d0913
Copyright (C) 2019 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ guix describe
Generation 6	Jul 11 2019 08:41:53	(current)
  guix 34e549d
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 34e549d813113fc57213202fd5e4b885d95d0913
$ 
$ ## I should probably do a pull and see if this has been fixed already, so, will do that...
$
2019-07-30 19:51:35 [ ] going for pull..

-------------------------------------------------------------

Well, that didn't fix it, unless reboot is required ...

$ guix describe
Generation 7	Jul 31 2019 03:25:55	(current)
  guix 274ba54
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 274ba54e535b811acca02e42cffd45f0f625d142
$ date
Wed Jul 31 03:44:28 America 2019
$ /usr/bin/date
Tue 30 Jul 2019 08:44:42 PM PDT
$ date  '+%F %T %z %Z'
2019-07-31 03:45:44 +0000 America
$ /usr/bin/date  '+%F %T %z %Z'
2019-07-30 20:46:12 -0700 PDT
$ file /etc/localtime 
/etc/localtime: symbolic link to /usr/share/zoneinfo/Europe/Stockholm
$ # but TZ env variable usually overrides (seemingly, in my setup), and I am
$ # currently in Seattle zone, and I change TZ in ~/.bash_profile to current
$ env|grep TZ
TZ=America/Los_Angeles
$ /usr/bin/env|grep TZ
TZ=America/Los_Angeles
$ date --version 
$ date --version
date (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
$ /usr/bin/date --version
date (GNU coreutils) 8.31
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
$
---------------------------------------
Hard to believe the 8.30 to 8.31 version difference accounts for the problem.

HTH,
Regards,
Bengt Richter

             reply	other threads:[~2019-07-31  8:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31  6:20 Bengt Richter [this message]
2019-08-06  2:38 ` bug#36870: was: date bug -- really locale bug or ?? Bengt Richter
2019-08-06  6:54   ` Mark H Weaver
2019-08-06 16:31     ` bug#36870: was: date bug -> locale inconvenience -> suggestion :) Bengt Richter
2019-08-26 10:11       ` bug#36870: Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190731062047.GA831@PhantoNv4ArchGx.localdomain \
    --to=bokr@bokr.com \
    --cc=36870@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).