POSIX.1-2001 did not have a specification for input streams,
but POSIX.1-2008 added one.
Reported-by: Sergey V. Zubkov <cubbi@cubbi.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
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>
If the TZ filespec omits the leading colon, glibc will parse
it for any valid format, i.e., it will still work.
STEPS TO REPRODUCE:
TZ=:Europe/Kiev date
Sun Jan 18 20:19:13 EET 2015
TZ=Europe/Kiev date
Sun Jan 18 20:19:20 EET 2015
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Paragraph three of the DESCRIPTION section says
that when TZ is set, but empty, then UTC is used.
Later it says if the TZ filespec is omitted then the file
/usr/share/zoneinfo/localtime is used. This is incorrect,
it will use UTC in that case as well.
Steps to reproduce:
cd /usr/share/zoneinfo/
cp Antarctica/South_Pole localtime
cd
date
Sun Jan 18 10:59:50 EST 2015
TZ=:Hongkong date
Sun Jan 18 23:59:56 HKT 2015
TZ=:/usr/share/zoneinfo/localtime date
Mon Jan 19 05:00:03 NZDT 2015
TZ=: date
Sun Jan 18 16:00:11 UTC 2015
TZ=":" date
Sun Jan 18 16:00:18 UTC 2015
TZ=':' date
Sun Jan 18 16:00:24 UTC 2015
TZ=:/ date
Sun Jan 18 16:00:34 2015
TZ=":/" date
Sun Jan 18 16:00:40 2015
TZ="" date
Sun Jan 18 16:00:45 UTC 2015
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Harmonize all the manual pages to use "stream" for FILE*
instead of randomly using "fp" or "stream." Choosing something
and being consistent helps users scan the man pages quickly
and understand what they are looking at.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>