Update the zic version used when generating tzdata

Historically, Android has used zone info compiler (zic) 2014b
(or before) to generate the tzdata file used by libcore's ZoneInfo
and bionic's mktime / localtime, etc.

Originally the version used was implicit and was based
on the zic version available on the developer's machine.
The version to be used was made explicit for consistency
in commit cdf5695c2b83e2781c287d8d315eb903554940da.

This change upgrades the tools version to the most
recent available at the time of writing and also modifies
/ renames the download-iana-data.py script so it can also
download the files needed for building zic.

NOTE: This change likely cannot be applied on older
versions of Android as there are bugs in libcore.util.ZoneInfo
and android.text.format.Time. See bug 118835133.

Bug: 118835133
Bug: 129926912
Bug: 73719425
Test: Manual execution of download-iana-files.py with missing and
old files
Test: run cts-dev -m CtsLibcoreTestCases
Test: run cts-dev -m CtsBionicTestCases
Test: run cts-dev -m CtsTextTestCases
Test: run cts-dev -m CtsLibcoreOjTestCases
Change-Id: Ie443b6baec6f4ce62a65cd430663fffb96543c02
diff --git a/download-iana-data.py b/download-iana-data.py
deleted file mode 100755
index 1d33f5a..0000000
--- a/download-iana-data.py
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/python -B
-
-# Copyright 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Downloads the latest IANA timezone data."""
-
-from __future__ import print_function
-
-import ftplib
-import os
-import shutil
-import subprocess
-import sys
-
-sys.path.append('%s/external/icu/tools' % os.environ.get('ANDROID_BUILD_TOP'))
-import i18nutil
-import tzdatautil
-
-# Calculate the paths that are referred to by multiple functions.
-android_build_top = i18nutil.GetAndroidRootOrDie()
-iana_data_dir = os.path.realpath('%s/system/timezone/input_data/iana' % android_build_top)
-
-def FtpRetrieveFile(ftp, filename):
-  ftp.retrbinary('RETR %s' % filename, open(filename, 'wb').write)
-
-def CheckSignature(data_filename, signature_filename):
-  """Checks the signature of a file."""
-  print('Verifying signature...')
-  try:
-    subprocess.check_call(['gpg', '--trusted-key=ED97E90E62AA7E34', '--verify',
-                          signature_filename, data_filename])
-  except subprocess.CalledProcessError as err:
-    print('Unable to verify signature')
-    print('\n\n******')
-    print('If this fails for you, you probably need to import Paul Eggert''s public key:')
-    print('  gpg --receive-keys ED97E90E62AA7E34')
-    print('******\n\n')
-    raise
-
-# Run with no arguments from any directory, with no special setup required.
-# See http://www.iana.org/time-zones/ for more about the source of this data.
-def main():
-  print('Looking for new IANA tzdata...')
-
-  tar_prefix = 'tzdata20'
-  # Use the input tzdata version name if it exists
-  if len(sys.argv) > 1:
-    tar_prefix = 'tzdata' + sys.argv[1]
-
-  iana_tar_filenames = []
-
-  ftp = ftplib.FTP('ftp.iana.org')
-  ftp.login()
-  ftp.cwd('tz/releases')
-  for filename in ftp.nlst():
-    if "/" in filename:
-      print("FTP server returned bogus file name")
-      sys.exit(1)
-
-    if filename.startswith(tar_prefix) and filename.endswith('.tar.gz'):
-      iana_tar_filenames.append(filename)
-  iana_tar_filenames.sort(reverse=True)
-
-  if len(iana_tar_filenames) == 0:
-    print('No tzdata files found')
-    sys.exit(1)
-
-  latest_iana_tar_filename = iana_tar_filenames[0]
-
-  local_iana_tar_file = tzdatautil.GetIanaTarFile(iana_data_dir, 'data')
-
-  if local_iana_tar_file:
-    local_iana_tar_filename = os.path.basename(local_iana_tar_file)
-    if latest_iana_tar_filename <= local_iana_tar_filename:
-      print('Available data %s is older or the same as current data %s' % (latest_iana_tar_filename, local_iana_tar_filename))
-      sys.exit(0)
-
-  print('Found new tzdata: %s' % latest_iana_tar_filename)
-  i18nutil.SwitchToNewTemporaryDirectory()
-
-  print('Downloading data (%s)...' % latest_iana_tar_filename)
-  FtpRetrieveFile(ftp, latest_iana_tar_filename)
-
-  signature_filename = '%s.asc' % latest_iana_tar_filename
-  print('Downloading signature (%s)...' % signature_filename)
-  FtpRetrieveFile(ftp, signature_filename)
-
-  CheckSignature(latest_iana_tar_filename, signature_filename)
-
-  new_local_iana_tar_file = '%s/%s' % (iana_data_dir, latest_iana_tar_filename)
-  shutil.copyfile(latest_iana_tar_filename, new_local_iana_tar_file)
-  new_local_signature_file = '%s/%s' % (iana_data_dir, signature_filename)
-  shutil.copyfile(signature_filename, new_local_signature_file)
-
-  # Delete the existing local IANA tar file, if there is one.
-  if local_iana_tar_file:
-    os.remove(local_iana_tar_file)
-
-  local_signature_file = '%s.asc' % local_iana_tar_file
-  if os.path.exists(local_signature_file):
-    os.remove(local_signature_file)
-
-  print('Look in %s for new IANA data files' % new_local_iana_tar_file)
-  sys.exit(0)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/download-iana-files.py b/download-iana-files.py
new file mode 100755
index 0000000..bcf551f
--- /dev/null
+++ b/download-iana-files.py
@@ -0,0 +1,156 @@
+#!/usr/bin/python -B
+
+# Copyright 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Downloads the latest IANA time zone files."""
+
+import argparse
+import ftplib
+import os
+import shutil
+import subprocess
+import sys
+
+sys.path.append('%s/external/icu/tools' % os.environ.get('ANDROID_BUILD_TOP'))
+import i18nutil
+import tzdatautil
+
+# Calculate the paths that are referred to by multiple functions.
+android_build_top = i18nutil.GetAndroidRootOrDie()
+iana_data_dir = os.path.realpath('%s/system/timezone/input_data/iana' % android_build_top)
+iana_tools_dir = os.path.realpath('%s/system/timezone/input_tools/iana' % android_build_top)
+
+def FtpRetrieveFile(ftp, filename):
+  ftp.retrbinary('RETR %s' % filename, open(filename, 'wb').write)
+
+
+def CheckSignature(data_filename, signature_filename):
+  """Checks the signature of a file."""
+  print 'Verifying signature of %s using %s...' % (data_filename, signature_filename)
+  try:
+    subprocess.check_call(['gpg', '--trusted-key=ED97E90E62AA7E34', '--verify',
+                          signature_filename, data_filename])
+  except subprocess.CalledProcessError as err:
+    print 'Unable to verify signature'
+    print '\n\n******'
+    print 'If this fails for you, you probably need to import Paul Eggert''s public key:'
+    print '  gpg --receive-keys ED97E90E62AA7E34'
+    print '******\n\n'
+    raise
+
+
+def FindLatestRemoteTar(ftp, file_prefix):
+  iana_tar_filenames = []
+
+  for filename in ftp.nlst():
+    if "/" in filename:
+      print "FTP server returned bogus file name"
+      sys.exit(1)
+
+    if filename.startswith(file_prefix) and filename.endswith('.tar.gz'):
+      iana_tar_filenames.append(filename)
+
+  iana_tar_filenames.sort(reverse=True)
+
+  if len(iana_tar_filenames) == 0:
+    print 'No files found'
+    sys.exit(1)
+
+  return iana_tar_filenames[0]
+
+
+def DownloadAndReplaceLocalFiles(file_prefixes, ftp, local_dir):
+  output_files = []
+
+  for file_prefix in file_prefixes:
+    latest_iana_tar_filename = FindLatestRemoteTar(ftp, file_prefix)
+    local_iana_tar_file = tzdatautil.GetIanaTarFile(local_dir, file_prefix)
+    if local_iana_tar_file:
+      local_iana_tar_filename = os.path.basename(local_iana_tar_file)
+      if latest_iana_tar_filename <= local_iana_tar_filename:
+        print('Latest remote file for %s is called %s and is older or the same as'
+              ' current local file %s'
+              % (local_dir, latest_iana_tar_filename, local_iana_tar_filename))
+        continue
+
+    print 'Found new %s* file for %s: %s' % (file_prefix, local_dir, latest_iana_tar_filename)
+    i18nutil.SwitchToNewTemporaryDirectory()
+
+    print 'Downloading file %s...' % latest_iana_tar_filename
+    FtpRetrieveFile(ftp, latest_iana_tar_filename)
+
+    signature_filename = '%s.asc' % latest_iana_tar_filename
+    print 'Downloading signature %s...' % signature_filename
+    FtpRetrieveFile(ftp, signature_filename)
+
+    CheckSignature(latest_iana_tar_filename, signature_filename)
+
+    new_local_iana_tar_file = '%s/%s' % (local_dir, latest_iana_tar_filename)
+    shutil.copyfile(latest_iana_tar_filename, new_local_iana_tar_file)
+    new_local_signature_file = '%s/%s' % (local_dir, signature_filename)
+    shutil.copyfile(signature_filename, new_local_signature_file)
+
+    output_files.append(new_local_iana_tar_file)
+    output_files.append(new_local_signature_file)
+
+    # Delete the existing local IANA tar file, if there is one.
+    if local_iana_tar_file:
+      os.remove(local_iana_tar_file)
+
+    local_signature_file = '%s.asc' % local_iana_tar_file
+    if os.path.exists(local_signature_file):
+      os.remove(local_signature_file)
+
+  return output_files
+
+# Run from any directory after having run source/envsetup.sh / lunch
+# See http://www.iana.org/time-zones/ for more about the source of this data.
+def main():
+  parser = argparse.ArgumentParser(description=('Update IANA files from upstream'))
+  parser.add_argument('--notools', help='Skip tools files', action='store_true')
+  parser.add_argument('--nodata', help='Skip data files', action='store_true')
+  args = parser.parse_args()
+  if args.notools and args.nodata:
+    parser.error("Nothing to do")
+    sys.exit(1)
+
+  print 'Looking for new IANA files...'
+
+  ftp = ftplib.FTP('ftp.iana.org')
+  ftp.login()
+  ftp.cwd('tz/releases')
+
+  output_files = []
+  if not args.notools:
+    # The tools and data files are kept separate to make the updates independent.
+    # This means we duplicate the tzdata20xx file (once in the tools dir, once
+    # in the data dir) but the contents of the data tar appear to be needed for
+    # the zic build.
+    new_files = DownloadAndReplaceLocalFiles(['tzdata20', 'tzcode20'], ftp, iana_tools_dir)
+    output_files += new_files
+  if not args.nodata:
+    new_files = DownloadAndReplaceLocalFiles(['tzdata20'], ftp, iana_data_dir)
+    output_files += new_files
+
+  if len(output_files) == 0:
+    print 'No files updated'
+  else:
+    print 'New files:'
+    for output_file in output_files:
+      print '  %s' % output_file
+
+
+if __name__ == '__main__':
+  main()
diff --git a/input_tools/iana/tzcode2014b.tar.gz b/input_tools/iana/tzcode2014b.tar.gz
deleted file mode 100644
index 8e48396..0000000
--- a/input_tools/iana/tzcode2014b.tar.gz
+++ /dev/null
Binary files differ
diff --git a/input_tools/iana/tzcode2014b.tar.gz.asc b/input_tools/iana/tzcode2014b.tar.gz.asc
deleted file mode 100644
index 9cb7108..0000000
--- a/input_tools/iana/tzcode2014b.tar.gz.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.14 (GNU/Linux)
-
-iQIcBAABAgAGBQJTMQbFAAoJEO2X6Q5iqn40MmQP/jLFMoyIrHEHptt7gTxOiakP
-u+U2qhynw/tXQb44I+YgpYw54UPiZ7mGqQ9phGbmjcTsFT6vG9qO61LEMg9Y6nyr
-wu+qHYyKfqcLednTUFztR3x2aj4HWNVpMENXyoU+ZvVUw/Hd7J2uaNkw3n+zZYqY
-tZjMAkn7wPLVv2BGQPshkGQB7S5YEVdHcXyeey9mtS1TBCkPadldgSk6afsc7x89
-lTiQ5v89dNJPfOqjRbyIBbS6I26XTxOlEQzuHdzWz5p1m1SUqznosEKw5Mnat5qe
-LNo3HnmwJyXXXrJDsgYja3yH3Ie4Bhs+y1kjJfwrArnQaex9UWmetHEKuJrz5VY1
-HZadsNfVoBb4QYyZQiLxr/iqs/ZiTocX6xAdZpHdI5WSoUABfKLTgU67z1UFFVgd
-qEi335xK3/l6rFAOjwEzqEriugthSWU1SlqGCUAmP6c87gBgFFC+mMW/T1FnmZtn
-v/ST9L2xmeyS8a1693fnak1fATlTaF2j/JbrhqbhOFTim/k+u6LgXBpSZyuzs80/
-gnLjGN5gAD7OhAMkjU1Ty5T3F1cGGev3kGgWX093JXugj4DszwUzzgG/NZniFkQc
-t+7B56jbxMTdFs+RB0YWfJ34QUbusAkWNprFyftPYMyF9PElKv6ngF+1XVFdq84Z
-jz7+k6FTz3hkU/Ru2s+4
-=+BVZ
------END PGP SIGNATURE-----
diff --git a/input_tools/iana/tzcode2019a.tar.gz b/input_tools/iana/tzcode2019a.tar.gz
new file mode 100644
index 0000000..b5caf8a
--- /dev/null
+++ b/input_tools/iana/tzcode2019a.tar.gz
Binary files differ
diff --git a/input_tools/iana/tzcode2019a.tar.gz.asc b/input_tools/iana/tzcode2019a.tar.gz.asc
new file mode 100644
index 0000000..619c705
--- /dev/null
+++ b/input_tools/iana/tzcode2019a.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAlyZs50ACgkQ7ZfpDmKq
+fjRR5xAAqsWv2T1beL9TnJ2JaadySGOZiJg3M3RqW8Vm4Dd0ye8Dz8t+YtDtBX1/
+8+xGdlS7LWjwK2EQC6xWhp0EiqpiFjMU1FRGFeAlAOOv8SE0dPRfP9vIeKzCNXKp
+UwtSrzM5JUX6/iza9UUTlzpwHaEM/gVIfP+sLgT15RJiB84teHro/rpcfOvNRyj1
+bteknySCtbPcETe9VW3qH2YgMRtNQgkt/DcJgCvY2qWLsnicWRH9Ec6NhqYLFpuv
+QwvqC0Odaehrytu+DNhi1wuxt90YHgGHMgIZXtG+kO8eJy2aWFP9zQJ80wVvNqat
+Xgl6T5AU5ZIdBEQkMnk0EhqFlKYFX/81hEWT0gsMBCzteVFhhQQPPyptUwtL5U17
+MX1oVaZbiTbTCqjAjHAJbfW61Fbu9H0wzZhoRLvDqaFfOxQ1HEMh2Ioh+KlJ0nLw
++l5dLNed7D/kjRE0ja7Jj+ocCl4Hf1DTQknfqtk1USGctWLZ3WfKHk6jCS0vid7g
+IrN6POYhZ6kg4NLF1G2pD7tTiog37Kvd/c3FHC76cqbbA5wkye+L/A73xmy0qOlv
+tp14wxd99ETI5loWgMb5SgRzzeEjNbTrG5AuAOX0qK4Fz3cEdK9/PYYJDSOkueJJ
+0DpP9Eo3Kmhhk7E4PheygmX+Vk+Ntutu7jx8r6EFNck/erZrnJs=
+=kJqF
+-----END PGP SIGNATURE-----
diff --git a/input_tools/iana/tzdata2014b.tar.gz b/input_tools/iana/tzdata2014b.tar.gz
deleted file mode 100644
index 31fb9e8..0000000
--- a/input_tools/iana/tzdata2014b.tar.gz
+++ /dev/null
Binary files differ
diff --git a/input_tools/iana/tzdata2014b.tar.gz.asc b/input_tools/iana/tzdata2014b.tar.gz.asc
deleted file mode 100644
index c50a53a..0000000
--- a/input_tools/iana/tzdata2014b.tar.gz.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.14 (GNU/Linux)
-
-iQIcBAABAgAGBQJTMQbFAAoJEO2X6Q5iqn40o1gQAKrv5uiwH6nkf+vAG6u3P1e+
-RXdP+fC0IDOQoJFYf4i6gv1LPZ4A3uzwU9fZ8Fq4ETmCRr8UZmtRkrVTqNchfobV
-Kkkn3XlX5IlPqirBVL3/L3wVGybj7kfauhWozJuyvQuQCaF58TqNAqfV7joSZLZt
-8CwBYf1cnkuHkybLJjiur+s3nZ3nAhKa/6p1MbMJBMpeAWtAqdOWW3C/LIgvrX5n
-292hzn+0CILcsESxai6YOYpb3VwsVOilqdyBCos16Ra/qRwKUqhtUh+N+/0HdjUw
-E+wPh4n3mDVMSwiVi0yiZSMACU/mQmwI0W0lQAyGRtMjpK32R/VrwHUAZRAt/B8G
-0vOeGl5xXjuaPl46agkhBVhpUHX2ATLKmuJAwZ9jPUYkspqmT3ttzArXcfekFpeb
-xd6jlpQiqENeo8aZRSllTxE2zYJg5k6UvZ+NTMElh1AmRuUhh+kJq3SQnuEv2fqZ
-qEXuUZmdkMfLt3xF6OMDX1Uel/i6GFRfs+Lr7w6PV1HFVTiqZiOB5a1X3hn0dk8M
-cJQpwyhEfidZASQsKJADhMpUlon6i2O1jBJwyAWrMaCx38a2L6EX9jLPWyPRHze8
-v386Rk319AOWupf/G48pJt/LnYiFw1F1AtOct9cpUBDJFoopGuU8O9D3Z49Carsd
-CknX8ICVszv7uQpCvwO4
-=vlee
------END PGP SIGNATURE-----
diff --git a/input_tools/iana/tzdata2019a.tar.gz b/input_tools/iana/tzdata2019a.tar.gz
new file mode 100644
index 0000000..8d6c3f7
--- /dev/null
+++ b/input_tools/iana/tzdata2019a.tar.gz
Binary files differ
diff --git a/input_tools/iana/tzdata2019a.tar.gz.asc b/input_tools/iana/tzdata2019a.tar.gz.asc
new file mode 100644
index 0000000..c163977
--- /dev/null
+++ b/input_tools/iana/tzdata2019a.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAlyZs50ACgkQ7ZfpDmKq
+fjTPrg/9HBD7RK0/e2NQc/IEg0BeZPOG/SsWOo78lQ23UVwqXdXqQz9LJXl9gTqM
+ENe8Ecknctk6fmfriAYnSydXx/MwWDbze5nmi4p7wzlogL/ctPILJvQbc/T62fDK
+NpGNwDlaUX/ht7cRG9VO+oun3Zc7efGHJB9UpZDDVZGtq6VT5+AZIryM12XvHfcR
+g0P+0pZfZu9LI4H0K/JUmNnRRXLoq6/5OsV6+hFlTzS7quVfUu+Vb+gsoUVejXld
+77hNvqdAaRBwVW69hjdUL2WJXymQtP/1ZoeOVHskti0HQBFRJsDc4Fhs3Pe5MUWd
+PXVanz/C0sHhHbTLfHs4wVQvNg4g4OP5nl9DyF+KG2SqfuqWOzfbEs5bc8dGqFCk
+HLdj7Nd4eQA8x/Xl6OSukE1yzUR8Xkb9GFgTmpHlP7uq/TH2URJdd/ZXhSgPv+u6
+bM9ghH9eirnVDPxWxsj0bwkZYHY6eJC8pgLPpXsxBY0ktJD/hqS1IMXOAyPRj9fO
+uRt7QLcsJW+wx6Q7ggsgTs7cxnq/Pk55S0lcp63mAu960+2XuBy8ffFJp4J2OwqS
+U6nBCtAZ6ZONKvsoQ4UpIcNfkYEiM3A4XNjn/rL2Jtb0cDA8e0j66/k1vcOc9p6u
+KQSXvSrhoqGTqhKy03XuQJ7LYhSgtD790sxFOXWS59cs/WcLO+M=
+=g5BY
+-----END PGP SIGNATURE-----
diff --git a/output_data/distro/distro.zip b/output_data/distro/distro.zip
index d5be3b9..70ba104 100644
--- a/output_data/distro/distro.zip
+++ b/output_data/distro/distro.zip
Binary files differ
diff --git a/output_data/iana/tzdata b/output_data/iana/tzdata
index 790e220..b61bd24 100644
--- a/output_data/iana/tzdata
+++ b/output_data/iana/tzdata
Binary files differ
diff --git a/testing/data/test1/output_data/distro/distro.zip b/testing/data/test1/output_data/distro/distro.zip
index 2e7e755..12a8af0 100644
--- a/testing/data/test1/output_data/distro/distro.zip
+++ b/testing/data/test1/output_data/distro/distro.zip
Binary files differ
diff --git a/testing/data/test1/output_data/iana/tzdata b/testing/data/test1/output_data/iana/tzdata
index 592999c..ef81695 100644
--- a/testing/data/test1/output_data/iana/tzdata
+++ b/testing/data/test1/output_data/iana/tzdata
Binary files differ
diff --git a/testing/data/test2/output_data/distro/distro.zip b/testing/data/test2/output_data/distro/distro.zip
index aef6593..db15b75 100644
--- a/testing/data/test2/output_data/distro/distro.zip
+++ b/testing/data/test2/output_data/distro/distro.zip
Binary files differ
diff --git a/testing/data/test2/output_data/iana/tzdata b/testing/data/test2/output_data/iana/tzdata
index fcd97dc..8f0302f 100644
--- a/testing/data/test2/output_data/iana/tzdata
+++ b/testing/data/test2/output_data/iana/tzdata
Binary files differ
diff --git a/tzdatautil.py b/tzdatautil.py
index b7f81e3..3f82227 100644
--- a/tzdatautil.py
+++ b/tzdatautil.py
@@ -19,10 +19,10 @@
 
 """Shared functions for use in tzdata scripts."""
 
-def GetIanaTarFile(dir_name, file_type):
+def GetIanaTarFile(dir_name, file_prefix):
   matching_files = []
   for filename in os.listdir(dir_name):
-    if filename.startswith('tz%s20' % file_type) and filename.endswith('.tar.gz'):
+    if filename.startswith(file_prefix) and filename.endswith('.tar.gz'):
       matching_files.append(filename);
 
   if len(matching_files) == 0:
@@ -30,6 +30,6 @@
   elif len(matching_files) == 1:
     return '%s/%s' % (dir_name, matching_files[0])
   else:
-    print('Multiple tz%s files found unexpectedly %s' % (file_type, matching_files))
+    print('Multiple %s files found unexpectedly %s' % (file_prefix, matching_files))
     sys.exit(1)
 
diff --git a/update-tzdata.py b/update-tzdata.py
index 0d7aad9..0ad3af1 100755
--- a/update-tzdata.py
+++ b/update-tzdata.py
@@ -123,9 +123,9 @@
 
 
 def BuildZic(iana_tools_dir):
-  iana_zic_code_tar_file = tzdatautil.GetIanaTarFile(iana_tools_dir, 'code')
+  iana_zic_code_tar_file = tzdatautil.GetIanaTarFile(iana_tools_dir, 'tzcode')
   iana_zic_code_version = GetIanaVersion(iana_zic_code_tar_file)
-  iana_zic_data_tar_file = tzdatautil.GetIanaTarFile(iana_tools_dir, 'data')
+  iana_zic_data_tar_file = tzdatautil.GetIanaTarFile(iana_tools_dir, 'tzdata')
   iana_zic_data_version = GetIanaVersion(iana_zic_data_tar_file)
 
   print('Found IANA zic release %s/%s in %s/%s ...' \
@@ -225,7 +225,7 @@
   print('Output data file structure: %s' % timezone_output_data_dir)
 
   iana_input_data_dir = '%s/iana' % timezone_input_data_dir
-  iana_data_tar_file = tzdatautil.GetIanaTarFile(iana_input_data_dir, 'data')
+  iana_data_tar_file = tzdatautil.GetIanaTarFile(iana_input_data_dir, 'tzdata')
   iana_data_version = GetIanaVersion(iana_data_tar_file)
   print('IANA time zone data release %s in %s ...' % (iana_data_version, iana_data_tar_file))