diff --git a/mpcdf_common.py b/mpcdf_common.py index 58e3a65913bba980e807754b65a2803a467f8b1a..f52c3258fbe6cfc47e99d0a499d9c6e41f78b562 100644 --- a/mpcdf_common.py +++ b/mpcdf_common.py @@ -415,6 +415,8 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, dry_run= for enable in build.findall("./enable"): build.remove(enable) + disabled_repos = {disable.get("repository") for disable in build.findall("./disable")} + try: enable_repos = get_attribute_values(api_url, project, package, "MPCDF:enable_repositories") except Exception: @@ -443,13 +445,15 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, dry_run= latest_intel = sorted((c for c in all_compilers if c.startswith("intel")), key=package_sort_key)[-1] latest_gcc = sorted((c for c in all_compilers if c.startswith("gcc")), key=package_sort_key)[-1] + i = len(build) + def enable(name): - if name in ignore_repos: + if name in ignore_repos or name in disabled_repos: return node = ElementTree.Element("enable") node.set("repository", name) node.tail = "\n " - build.insert(0, node) + build.insert(i, node) if verbose: print("Enabling", name)