tzset.3: Correct system timezone file path

The manual incorrectly states the system timezone
path as /usr/share/zoneinfo/localtime. Glibc does
not use that file for anything, it uses
$(prefix)/etc/localtime.

There is an ambiguous reference in the man-page to
/etc/localtime, but it does not indicate that it
will be used. It states clearly that
/usr/share/zoneinfo/localtime is used.

A comment in the glibc Makeconfig even says that
file should not exist:

> ... relative to $(zonedir).  It is a good idea
> to put this somewhere other than there, so the
> zoneinfo directory contains only universal data,
> localizing the configuration data elsewhere.

Furthermore, the man page does not indicate the
reason this file is being used; which is because
it is the configured system timezone.

A later patch in this series addresses the
possibility that /etc/localtime could be changed
during glibc's compilation. The language changed
in this patch points to the FILE section which is
where the explanation will be. There is no reason
to repeat that information multiple times
throughout the man-page.

EVIDENCE:

glibc/Makeconfig:256: sysconfdir = $(prefix)/etc
glibc/Makeconfig:272: localtime-file = $(sysconfdir)/localtime

FROM INFO LIBC:
C.2 Installing the C Library
============================
   To configure the locally used timezone, set the `TZ' environment
variable.  The script `tzselect' helps you to select the right value.
As an example, for Germany, `tzselect' would tell you to use
`TZ='Europe/Berlin''.  For a system wide installation (the given paths
are for an installation with `--prefix=/usr'), link the timezone file
which is in `/usr/share/zoneinfo' to the file `/etc/localtime'.  For
Germany, you might execute `ln -s /usr/share/zoneinfo/Europe/Berlin
/etc/localtime'.

STEPS TO REPRODUCE:

cd /usr/share/zoneinfo/
cp Antarctica/South_Pole localtime
cp /US/Eastern /etc/localtime
cd
date
Sun Jan 18 12:06:36 EST 2015
TZ=:/usr/share/zoneinfo/localtime date
Mon Jan 19 06:06:54 NZDT 2015
rm /etc/localtime
date
Sun Jan 18 17:08:37 UTC 2015
TZ=:/usr/share/zoneinfo/localtime date
Mon Jan 19 06:08:41 NZDT 2015

Signed-off-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
JWP 2015-01-18 15:04:50 -05:00 committed by Michael Kerrisk
parent 025812041f
commit 2c7f2006a9
1 changed files with 6 additions and 9 deletions

View File

@ -75,15 +75,12 @@ the year when daylight saving time applies).
.PP
If the
.B TZ
variable does not appear in the environment, the \fItzname\fP
variable is initialized with the best approximation of local wall clock
time, as specified by the
.BR tzfile (5)-format
file \fIlocaltime\fP
found in the system timezone directory (see below).
(One also often sees
.I /etc/localtime
used here, a symlink to the right file in the system timezone directory.)
variable does not appear in the environment, the system timezone is used.
The system timezone is configured by copying, or linking, a file in the
.BR tzfile "(5) format to"
.IR /etc/localtime .
A timezone database of these files may be located in the system
timezone directory (see the \fBFILES\fP section below).
.PP
If the
.B TZ