From 86f12f62f72d2cbc252386b50fc87ba3ef9b260d Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 30 Oct 2024 17:02:42 +0100 Subject: [PATCH] Build: Some files may have already been removed. Symlinks for example? part of CURA-12229 --- conanfile.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/conanfile.py b/conanfile.py index 1f86867ae8e..73336e41f3f 100644 --- a/conanfile.py +++ b/conanfile.py @@ -261,11 +261,17 @@ def _delete_unwanted_binaries(self, root): to_remove_dirs.append(pathname) break for file in to_remove_files: - os.remove(file) - print(f"deleted file: {file}") + try: + os.remove(file) + print(f"deleted file: {file}") + except Exception as ex: + print(f"WARNING: Attempt to delete file {file} results in: {str(ex)}") for dir_ in to_remove_dirs: - rmdir(self, dir_) - print(f"deleted dir_: {dir_}") + try: + rmdir(self, dir_) + print(f"deleted dir_: {dir_}") + except Exception as ex: + print(f"WARNING: Attempt to delete folder {dir_} results in: {str(ex)}") def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, entitlements_file): pyinstaller_metadata = self.conan_data["pyinstaller"] @@ -338,8 +344,11 @@ def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, e # In case the installer isn't actually pyinstaller (Windows at the moment), outright remove the offending files: specifically_delete = set(binaries) - set(filtered_binaries) for (unwanted_path, _) in specifically_delete: - print(f"delete: {unwanted_path}") - os.remove(unwanted_path) + try: + os.remove(unwanted_path) + print(f"delete: {unwanted_path}") + except Exception as ex: + print(f"WARNING: Attempt to delete binary {unwanted_path} results in: {str(ex)}") # Write the actual file: with open(os.path.join(location, "UltiMaker-Cura.spec"), "w") as f: