diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2021-06-11 09:57:58 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-11 09:57:58 -0700 |
| commit | 13c8ffbfadb6bc68ddc58f3eb1f24e47d1cc4cec (patch) | |
| tree | 209f94ab58f7e0277f09c1f955611f71fe6defdd /scripts | |
| parent | c0bca7178a084e7172cf9c6d69394e0e3d4f6f74 (diff) | |
| download | vcpkg-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.cmake | 9 |
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) |
