Because the zone.tab TZIDs are unstable, in Unicode CLDR we have found it necessary to stabilize them with a data file that we maintain. Because they are used as keys for localization, we can't have them changing out from underneath us. So what we do is take all of the changes in successive versions of the TZDB except that for name changes in zone.tab.<br>
<br><a href="http://www.unicode.org/cldr/data/common/supplemental/supplementalData.xml">http://www.unicode.org/cldr/data/common/supplemental/supplementalData.xml</a><br>under zoneItem, eg:<br><zoneItem type="America/Buenos_Aires" territory="AR" aliases="America/Argentina/Buenos_Aires"/><br>
<br>Mark<br><br><div class="gmail_quote">On Fri, May 2, 2008 at 11:25 AM, Herton Ronaldo Krzesinski <<a href="mailto:herton@mandriva.com.br">herton@mandriva.com.br</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
Currently it seems timezone in general has a problem related to backward zone<br>
names and entries in zone.tab. Every time the name of a zone changes, its<br>
entry is replaced in zone.tab file and added to backward file as a Link,<br>
until now no problem, but after you install timezone how you can get the<br>
zone.tab entry when using the old zone name? Is there a way to do this, or<br>
shouldn't both the new and old zone name stay in zone.tab?<br>
<br>
For now I made this set of commands to add back zone names to zone.tab based<br>
on backward file:<br>
<br>
chmod +w zone.tab<br>
echo -e "\n# zone info for backward zone names" >> zone.tab<br>
cat backward | grep Link | while read link curr old; do<br>
        if [ -z "$curr" -o -z "$old" ]; then<br>
                echo "Error processing backward entry for zone.tab"<br>
                exit 1<br>
        fi<br>
        cat zone.tab | grep -v '^#' | grep "$curr" | \<br>
        while read l; do<br>
                if [ "`echo \"$l\" | awk 'BEGIN { FS = \"[\t]\" } \<br>
                     { print $3 }'`" = "$curr" ]; then<br>
                        echo "$l" | sed "s|$curr|$old|" >> zone.tab \<br>
                                || echo ERROR >> zone.tab<br>
                else<br>
                        echo ERROR >> zone.tab<br>
                fi<br>
        done<br>
done<br>
if grep -q "^ERROR" zone.tab; then<br>
        echo "Error adding backward entries to zone.tab"<br>
        exit 1<br>
fi<br>
<br>
Without old zone names in zone.tab, problems like this can happen when<br>
applications still use old zone names:<br>
<a href="https://qa.mandriva.com/show_bug.cgi?id=40184" target="_blank">https://qa.mandriva.com/show_bug.cgi?id=40184</a><br>
<br>
Other solution would be to just install backward file in the system to allow<br>
applications to know the zone that changed names and use the new name.<br>
<br>
--<br>
[]'s<br>
<font color="#888888">Herton<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Mark