Based upon reviewing the glibc source, the posixrules file is being used for very specific TZ strings that can be represented as: [:]stdoffsetdst[offset][,] If anything follows the above string, even invalid data, posixrules will not be used. Below is some shell output demonstrating this. $ TZ="NZST-12:00:00NZDT-13:00:00,ANYTHING" \ > strace -eopen date 2>&1 | grep -Ei 'posixrules|jan' Thu Jan 29 06:53:35 NZDT 2015 $ TZ="NZST-12:00:00NZDT-13:00:00," \ > strace -eopen date 2>&1 | grep -Ei 'posixrules|jan' open("/usr/share/zoneinfo/posixrules", O_RDONLY|O_CLOEXEC) = 3 Thu Jan 29 05:54:58 NZST 2015 Signed-off-by: J William Piggott <elseifthen@xxxxxxx> --- man3/tzset.3 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/man3/tzset.3 b/man3/tzset.3 index 9011e5f..2e91fd8 100644 --- a/man3/tzset.3 +++ b/man3/tzset.3 @@ -201,6 +201,11 @@ The system timezone file. The system timezone database directory. .TP .B /usr/share/zoneinfo/posixrules +When a TZ string includes a dst timezone without anything following it, +then this file is used for the start/end rules. It is in the +.B tzfile(5) +format. By default, the zoneinfo Makefile hard links it to the +.IR America/New_York " tzfile." .PP Above are the current standard file locations, but they are configurable when glibc is compiled. -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html