On Tue, Mar 05, 2024 at 04:47:02PM -0800, Paul Eggert wrote:
On 3/5/24 12:12, Rich Felker via tz wrote:
Yes, it's not clear to me (POSIX doesn't seem to specify) what the default rules should be when none are specified. However, it is clear that these strings meet the syntax for the POSIX TZ form, and thus musl does not attempt to interpret them as filenames, which could result in behavior contrary to the specified meaning.
Although TZDB interprets them as filenames, that is OK because the TZDB filenames have the specified meaning. Each TZDB Zone whose name has the form of a POSIX.1-2017 TZ string implements a set of transitions compatible with the corresponding POSIX TZ setting.
Long ago that wasn't the case: there were Zones like "GMT-12" that weren't compatible with POSIX even though their names took the POSIX forms. But that bug was fixed decades ago, in tzdata 94d (1994-02-24), and we no longer need to worry about that possibility.
Interesting idea we could consider: if the TZ string matches POSIX format for a zone with DST but without any rule portion, load a file and accept it if the zones are consistent (all name/offset pairs match) -- so that it's effectively just defining the transition date rules. Rich