This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch branch-1.6
in repository https://gitbox.apache.org/repos/asf/orc.git
The following commit(s) were added to refs/heads/branch-1.6 by this push:
new 5368c88 ORC-1036: Support dynamic download of the latest tzdata based
on sha512.sum file (#948)
5368c88 is described below
commit 5368c88bc318afa5719a3913708c00b037c2c89b
Author: Guiyanakaung <[email protected]>
AuthorDate: Tue Oct 26 14:23:54 2021 +0800
ORC-1036: Support dynamic download of the latest tzdata based on sha512.sum
file (#948)
### What changes were proposed in this pull request?
Due to tzdata upgrade, the fixed download links in CI are often not working.
This pr is aimed at supporting dynamic downloads of the latest tzdata based
on the sha512.sum file.
### Why are the changes needed?
Avoid CI not working when tzdata releases a new version.
### How was this patch tested?
Pass the CIs.
(cherry picked from commit 82be78eb22c68c6c2528fc22659bbccde5b84aee)
Signed-off-by: Dongjoon Hyun <[email protected]>
(cherry picked from commit dca75d53014c2168c1809091048b6dd653d1be83)
Signed-off-by: Dongjoon Hyun <[email protected]>
---
cmake_modules/ThirdpartyToolchain.cmake | 37 ++++++++++++++++++++++++++-------
1 file changed, 29 insertions(+), 8 deletions(-)
diff --git a/cmake_modules/ThirdpartyToolchain.cmake
b/cmake_modules/ThirdpartyToolchain.cmake
index 7d1a53b..7292cf2 100644
--- a/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cmake_modules/ThirdpartyToolchain.cmake
@@ -243,14 +243,35 @@ endif ()
# IANA - Time Zone Database
if (WIN32)
- ExternalProject_Add(tzdata_ep
- URL
"ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2021b-1.tar.xz"
- URL_HASH MD5=d0de6f00f5a37ee211cfabeae9eb0937
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ""
- INSTALL_COMMAND "")
- ExternalProject_Get_Property(tzdata_ep SOURCE_DIR)
- set(TZDATA_DIR ${SOURCE_DIR}/share/zoneinfo)
+ SET(CURRENT_TZDATA_FILE "")
+ SET(CURRENT_TZDATA_SHA512 "")
+ File(DOWNLOAD
"http://ftp.osuosl.org/pub/cygwin/noarch/release/tzdata/sha512.sum"
${CMAKE_CURRENT_BINARY_DIR}/sha512.sum)
+ File(READ ${CMAKE_CURRENT_BINARY_DIR}/sha512.sum TZDATA_SHA512_CONTENT)
+ string(REPLACE "\n" ";" TZDATA_SHA512_LINE ${TZDATA_SHA512_CONTENT})
+ foreach (LINE IN LISTS TZDATA_SHA512_LINE)
+ if (LINE MATCHES ".tar.xz$" AND (NOT LINE MATCHES "src.tar.xz$"))
+ string(REPLACE " " ";" FILE_ARGS ${LINE})
+ list (GET FILE_ARGS 0 FILE_SHA512)
+ list (GET FILE_ARGS 2 FILE_NAME)
+ if (FILE_NAME STRGREATER CURRENT_TZDATA_FILE)
+ SET(CURRENT_TZDATA_FILE ${FILE_NAME})
+ SET(CURRENT_TZDATA_SHA512 ${FILE_SHA512})
+ endif()
+ endif()
+ endforeach()
+
+ if (NOT "${CURRENT_TZDATA_FILE}" STREQUAL "")
+ ExternalProject_Add(tzdata_ep
+ URL
"ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/${CURRENT_TZDATA_FILE}"
+ URL_HASH SHA512=${CURRENT_TZDATA_SHA512}
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND "")
+ ExternalProject_Get_Property(tzdata_ep SOURCE_DIR)
+ set(TZDATA_DIR ${SOURCE_DIR}/share/zoneinfo)
+ else()
+ message(STATUS "WARNING: tzdata were not found")
+ endif()
endif ()
# ----------------------------------------------------------------------