diff --git a/src/mpsd_software_manager/mpsd_software.py b/src/mpsd_software_manager/mpsd_software.py index 73b4f4d6d151eb531f866ffe424928a8aa0a53e4..f264cc45899332b1e5e1fb8fcd8e72a75205c393 100755 --- a/src/mpsd_software_manager/mpsd_software.py +++ b/src/mpsd_software_manager/mpsd_software.py @@ -1093,18 +1093,20 @@ def remove_environment(mpsd_release, root_dir, package_sets="NONE", force_remove sys.exit(1) if "ALL" in package_sets: # we need to remove the entire release folder - logging.warning( - f"Removing release {mpsd_release} from {root_dir}" - "do you want to continue? [y/n]" - ) - if force_remove or input().lower() == "y": - folders_to_remove = os.listdir(root_dir / mpsd_release) + logging.warning(f"Removing release {mpsd_release} from {root_dir}") + if not force_remove: + logging.warning("do you want to continue? [y/n]") + if input().lower() == "y": + force_remove = True + if force_remove: + dir_to_remove = root_dir / mpsd_release / get_native_microarchitecture() + folders_to_remove = os.listdir(dir_to_remove) # skip logs folder if "logs" in folders_to_remove: folders_to_remove.remove("logs") for folder in folders_to_remove: - shutil.rmtree(root_dir / mpsd_release / folder) - sys.exit(0) + shutil.rmtree(dir_to_remove / folder) + return for package_set in package_sets: # we load the spack environment and remove the package_set spack_env = ""