summaryrefslogtreecommitdiffstats
path: root/lib/time/update.bash
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xlib/time/update.bash39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/time/update.bash b/lib/time/update.bash
new file mode 100755
index 0000000..54b924a
--- /dev/null
+++ b/lib/time/update.bash
@@ -0,0 +1,39 @@
+#!/bin/bash
+# Copyright 2012 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# This script rebuilds the time zone files using files
+# downloaded from the ICANN/IANA distribution.
+# Consult https://www.iana.org/time-zones for the latest versions.
+
+# Versions to use.
+CODE=2022a
+DATA=2022a
+
+set -e
+rm -rf work
+mkdir work
+cd work
+mkdir zoneinfo
+curl -L -O https://www.iana.org/time-zones/repository/releases/tzcode$CODE.tar.gz
+curl -L -O https://www.iana.org/time-zones/repository/releases/tzdata$DATA.tar.gz
+tar xzf tzcode$CODE.tar.gz
+tar xzf tzdata$DATA.tar.gz
+
+make CFLAGS=-DSTD_INSPIRED AWK=awk TZDIR=zoneinfo posix_only
+
+cd zoneinfo
+rm -f ../../zoneinfo.zip
+zip -0 -r ../../zoneinfo.zip *
+cd ../..
+
+go generate time/tzdata
+
+echo
+if [ "$1" = "-work" ]; then
+ echo Left workspace behind in work/.
+else
+ rm -rf work
+fi
+echo New time zone files in zoneinfo.zip.