diff --git a/tools/cmake/build.cmake b/tools/cmake/build.cmake index 273f751e6e..78b95f8d45 100644 --- a/tools/cmake/build.cmake +++ b/tools/cmake/build.cmake @@ -273,27 +273,6 @@ function(__build_write_properties output_file) file(WRITE ${output_file} "${build_properties_text}") endfunction() -# -# Check if the Python interpreter used for the build has all the required modules. -# -function(__build_check_python) - idf_build_get_property(check __CHECK_PYTHON) - if(check) - idf_build_get_property(python PYTHON) - idf_build_get_property(idf_path IDF_PATH) - message(STATUS "Checking Python dependencies...") - execute_process(COMMAND "${python}" "${idf_path}/tools/idf_tools.py" "check-python-dependencies" - RESULT_VARIABLE result) - if(result EQUAL 1) - # check_python_dependencies returns error code 1 on failure - message(FATAL_ERROR "Some Python dependencies must be installed. Check above message for details.") - elseif(NOT result EQUAL 0) - # means check_python_dependencies.py failed to run at all, result should be an error message - message(FATAL_ERROR "Failed to run Python dependency check. Python: ${python}, Error: ${result}") - endif() - endif() -endfunction() - # # Prepare for component processing expanding each component's project include # @@ -414,9 +393,6 @@ macro(idf_build_process target) __build_set_default(SDKCONFIG_DEFAULTS "") - # Check for required Python modules - __build_check_python() - idf_build_get_property(target IDF_TARGET) if(NOT "${target}" STREQUAL "linux") diff --git a/tools/idf.py b/tools/idf.py index e8950fd5cf..fb66b3192b 100755 --- a/tools/idf.py +++ b/tools/idf.py @@ -89,24 +89,6 @@ def check_environment(): except RuntimeError as e: raise FatalError(e) - # check Python dependencies - checks_output.append('Checking Python dependencies...') - try: - out = subprocess.check_output( - [ - os.environ['PYTHON'], - os.path.join(os.environ['IDF_PATH'], 'tools', 'idf_tools.py'), - 'check-python-dependencies', - ], - env=os.environ, - ) - - checks_output.append(out.decode('utf-8', 'ignore').strip()) - except subprocess.CalledProcessError as e: - print_warning(e.output.decode('utf-8', 'ignore'), stream=sys.stderr) - debug_print_idf_version() - raise SystemExit(1) - return checks_output diff --git a/tools/idf_tools.py b/tools/idf_tools.py index 9ce3f9f64b..1670ade1b0 100755 --- a/tools/idf_tools.py +++ b/tools/idf_tools.py @@ -31,6 +31,7 @@ import argparse import contextlib import copy +import datetime import errno import functools import hashlib @@ -1517,6 +1518,16 @@ def get_constraints(idf_version): # type: (str) -> str mkdir_p(os.path.dirname(temp_path)) + try: + age = datetime.date.today() - datetime.date.fromtimestamp(os.path.getmtime(constraint_path)) + if age < datetime.timedelta(days=1): + info(f'Skipping the download of {constraint_path} because it was downloaded recently. If you believe ' + f'that this is causing you trouble then remove it manually and re-run your install script.') + return constraint_path + except OSError: + # doesn't exist or inaccessible + pass + for _ in range(DOWNLOAD_RETRY_COUNT): download(constraint_url, temp_path) if not os.path.isfile(temp_path):