Subject: bug#36870: was: date bug -> locale inconvenience -> suggestion :)

From: Bengt Richter <[email-masked]>
Date: Tue, 6 Aug 2019 16:31:48 +0000

On +2019-08-06 02:54:03 -0400, Mark H Weaver wrote:
> Hi Bengt,
> 
> I'm sorry that I didn't have time to fully read your messages, but if I
> understand correctly from my quick skimming, the 'date' command from
> Guix is failing to access the zoneinfo.  I think I see your problem.
> 
> Bengt Richter <[email-masked]> writes:
> > $ strace -y date|& egrep 'America|^write'|sed -e 's:,:,\n    :g'
> > openat(AT_FDCWD,
> >      "/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/share/zoneinfo/America/Los_Angeles",
> >      O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> 
> The file name above suggests that your TZDIR variable is not set
> correctly to allow Guix-built binaries to find the zoneinfo files.
> 
> On Guix systems, /etc/environment includes an entry that sets TZDIR to
> the equivalent of "$(guix build tzdata)/share/zoneinfo".
> 
> When using Guix on top of another distro, an alternative choice might be
> to set TZDIR to "/usr/share/zoneinfo".  I'm not sure which setting is
> preferable on non-Guix systems.
> 
> Can you try setting TZDIR and see if that solves the problem for you?
> 
>      Regards,
>        Mark

Thanks, that works using either /usr/... or /gnu/...

but I am thinking everything guix should be accessed via
some profile if it's configurable?

There is already a suggestion to source like this:

GUIX_PROFILE="$HOME/.guix-profile"
. "$GUIX_PROFILE/etc/profile"

I think it would be nice if that were the only ~/.bash_profile
mod a foreign-system user would have to make to tie into the
guix packages such user installs with guix install.

So what about having that GUIX_PROFILE profile -- at its end --
source ~/.guixrc if it exists, and then when some installation wants
to suggest some environment settings, just automatically
append commented-out code to ~/.guixrc.

Then the friendly hints at then end of an install could suggest:

    ┌──────────────────────────────────────────────┐
    │ "Consider uncommenting some of the new       │
    │ lines we just added at the end of ~/.guixrc" │
    └──────────────────────────────────────────────┘

(sorry if utf8 box-drawing characters are a nono here -- are they? ;-/ )

I had noticed the TZDIR name looking with "guix edit tzdata",
and was trying to figure out why installing had not hinted
that I might need to do what you suggest above :)

Thanks again.

Regards,
Bengt Richter