aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2021-06-11 09:57:58 -0700
committerGitHub <noreply@github.com>2021-06-11 09:57:58 -0700
commit13c8ffbfadb6bc68ddc58f3eb1f24e47d1cc4cec (patch)
tree209f94ab58f7e0277f09c1f955611f71fe6defdd /scripts
parentc0bca7178a084e7172cf9c6d69394e0e3d4f6f74 (diff)
downloadvcpkg-13c8ffbfadb6bc68ddc58f3eb1f24e47d1cc4cec.tar.gz
vcpkg-13c8ffbfadb6bc68ddc58f3eb1f24e47d1cc4cec.zip
[vcpkg_download_distfile] Fix regression for downloading via ARIA2 and downloading with HTTP headers (#18340)
* [vcpkg_download_distfile] Use CMake to download if HTTP headers are supplied * [vcpkg_download_distfile] Restore RENAME for the aria2 downloader Co-authored-by: Robert Schumacher <ras0219@outlook.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_download_distfile.cmake9
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake
index dd5108f92..208871e3e 100644
--- a/scripts/cmake/vcpkg_download_distfile.cmake
+++ b/scripts/cmake/vcpkg_download_distfile.cmake
@@ -144,7 +144,7 @@ function(vcpkg_download_distfile VAR)
OUTPUT_FILE download-${vcpkg_download_distfile_FILENAME}-out.log
ERROR_FILE download-${vcpkg_download_distfile_FILENAME}-err.log
RESULT_VARIABLE error_code
- WORKING_DIRECTORY ${DOWNLOADS}
+ WORKING_DIRECTORY "${DOWNLOADS}"
)
if (NOT "${error_code}" STREQUAL "0")
message(STATUS
@@ -157,14 +157,19 @@ function(vcpkg_download_distfile VAR)
)
set(download_success 0)
else()
+ test_hash("${DOWNLOADS}/temp/${vcpkg_download_distfile_FILENAME}" "downloaded file" "The file may have been corrupted in transit.")
file(REMOVE
${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-out.log
${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-err.log
${DOWNLOADS}/download-${vcpkg_download_distfile_FILENAME}-detailed.log
)
+ get_filename_component(downloaded_file_dir "${downloaded_file_path}" DIRECTORY)
+ file(MAKE_DIRECTORY "${downloaded_file_dir}")
+ file(RENAME "${DOWNLOADS}/temp/${vcpkg_download_distfile_FILENAME}" "${downloaded_file_path}")
set(download_success 1)
endif()
- elseif(vcpkg_download_distfile_SKIP_SHA512)
+ elseif(vcpkg_download_distfile_SKIP_SHA512 OR vcpkg_download_distfile_HEADERS)
+ # This is a workaround until the vcpkg tool supports downloading files without SHA512 and with headers
set(download_success 0)
set(request_headers)
if(vcpkg_download_distfile_HEADERS)