On 05/24/2017 05:04 PM, Randal L. Schwartz wrote:
Is that awk or gawk?
It's supposed to be portable Awk code, as per the POSIX standard and without using Gawk extensions; see: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html Although the new script does not work with circa-1977 Awk, the existing tzdb code doesn't work either: for example, Makefile uses 'awk -v', which old Awks don't grok. If you're building tzdb on Solaris where the default awk is quite old, you should use 'make AWK=gawk' or (for Solaris 10 and earlier) 'make AWK=/usr/xpg4/bin/awk' to get a POSIX-compatible Awk; this is needed both before and after the proposed patch. As I recall, Solaris is the only major holdout in this area. If the new script introduces a new portability problem with Awk, I would like to know about it. By the way, the proposed patch misses a few abbreviation possibilities in the part of the code that works around a word-abbreviation bug in zic 2017b and earlier. The attached further patch fixes that, to make the output a tiny bit smaller.