diff --git a/tools/idf_py_actions/create_ext.py b/tools/idf_py_actions/create_ext.py index 3d97147854..9634bd8ccc 100644 --- a/tools/idf_py_actions/create_ext.py +++ b/tools/idf_py_actions/create_ext.py @@ -1,9 +1,9 @@ -# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD # SPDX-License-Identifier: Apache-2.0 import os import re import sys -from shutil import copy +from shutil import copyfile from shutil import copytree from typing import Dict @@ -42,7 +42,8 @@ def create_project(target_path: str, name: str) -> None: copytree( os.path.join(os.environ['IDF_PATH'], 'tools', 'templates', 'sample_project'), target_path, - copy_function=copy, + # 'copyfile' ensures only data are copied, without any metadata (file permissions) + copy_function=copyfile, dirs_exist_ok=True, ) main_folder = os.path.join(target_path, 'main') @@ -55,7 +56,8 @@ def create_component(target_path: str, name: str) -> None: copytree( os.path.join(os.environ['IDF_PATH'], 'tools', 'templates', 'sample_component'), target_path, - copy_function=copy, + # 'copyfile' ensures only data are copied, without any metadata (file permissions) + copy_function=copyfile, dirs_exist_ok=True, ) os.rename(os.path.join(target_path, 'main.c'), os.path.join(target_path, '.'.join((name, 'c'))))