I recently discovered that since 2006, the ICU file
icu4c/source/tools/tzcode/icuzones has had a line "Zone Etc/Unknown 0 -
Unknown"[1]. Any POSIX-like system that feeds this line into 'zic' might
run afoul of the recently-proposed TZDB guideline[2] that Etc/Unknown is
reserved and is not used by TZDB. This is because the line will cause
Etc/Unknown to be a valid timezone with UT offset zero and abbreviation
"Unknown", so that, for example, tzalloc("Etc/Unknown") will succeed
instead of failing.
I don't think this is a practical problem, as I don't know of any
platform that feeds that icuzones line into zic and thus makes
"Etc/Unknown" a valid timezone. However, it might be helpful to add a
comment to icuzones about the situation. Proposed ICU patch attached.
I am cc'ing this to Markus Scherer (who added the line) and to Yoshito
Umaoka (who most recently updated icuzones), to give them a heads-up on
the situation.
[1]:
https://github.com/unicode-org/icu/blob/main/icu4c/source/tools/tzcode/icuzones#L17
[2]:
https://lists.iana.org/hyperkitty/list/[email protected]/message/5QWH2DCQ6SLY6JFJTDMJQC2LYHTJKB7O/From 69218353e5e544348c8c0b138e6ab9c2e63c40aa Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Tue, 10 Dec 2024 10:53:14 -0800
Subject: [PATCH] Comment that icuzones should not be fed to zic
---
icu4c/source/tools/tzcode/icuzones | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/icu4c/source/tools/tzcode/icuzones b/icu4c/source/tools/tzcode/icuzones
index 940b0557acc..2a99c8645b9 100644
--- a/icu4c/source/tools/tzcode/icuzones
+++ b/icu4c/source/tools/tzcode/icuzones
@@ -11,6 +11,10 @@
# that are in CLDR and also include legacy ICU time zones originally
# in tz.alias for rataining backward compatibility.
+# This file is not intended for use by zic, the TZDB timezone compiler.
+# Feeding it to zic would define Etc/Unknown as a known, valid timezone,
+# whereas Etc/Unknown should stand for an unknown or invalid timezone.
+
# Add Etc/Unknown, defined by CLDR. Give it Etc/GMT behavior.
# Zone NAME GMTOFF RULES FORMAT
--
2.47.1