Add an audit to prevent using the name "all" in packages (#47651)
Packages cannot be named like that, since we use "all" to indicate default settings under the "packages" section of the configuration.
This commit is contained in:
parent
fdedb6f95d
commit
da4f7c2952
@ -571,8 +571,13 @@ def _search_for_deprecated_package_methods(pkgs, error_cls):
|
|||||||
@package_properties
|
@package_properties
|
||||||
def _ensure_all_package_names_are_lowercase(pkgs, error_cls):
|
def _ensure_all_package_names_are_lowercase(pkgs, error_cls):
|
||||||
"""Ensure package names are lowercase and consistent"""
|
"""Ensure package names are lowercase and consistent"""
|
||||||
|
reserved_names = ("all",)
|
||||||
badname_regex, errors = re.compile(r"[_A-Z]"), []
|
badname_regex, errors = re.compile(r"[_A-Z]"), []
|
||||||
for pkg_name in pkgs:
|
for pkg_name in pkgs:
|
||||||
|
if pkg_name in reserved_names:
|
||||||
|
error_msg = f"The name '{pkg_name}' is reserved, and cannot be used for packages"
|
||||||
|
errors.append(error_cls(error_msg, []))
|
||||||
|
|
||||||
if badname_regex.search(pkg_name):
|
if badname_regex.search(pkg_name):
|
||||||
error_msg = f"Package name '{pkg_name}' should be lowercase and must not contain '_'"
|
error_msg = f"Package name '{pkg_name}' should be lowercase and must not contain '_'"
|
||||||
errors.append(error_cls(error_msg, []))
|
errors.append(error_cls(error_msg, []))
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
from spack.package import *
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
class All(CMakePackage):
|
class AllLibrary(CMakePackage):
|
||||||
"""A Load Balancing Library (ALL)
|
"""A Load Balancing Library (ALL)
|
||||||
|
|
||||||
The library aims to provide an easy way to include dynamic domain-based
|
The library aims to provide an easy way to include dynamic domain-based
|
@ -93,7 +93,7 @@ class Cabana(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on("kokkos+cuda_lambda@4.1:", when="+cuda@0.7:")
|
depends_on("kokkos+cuda_lambda@4.1:", when="+cuda@0.7:")
|
||||||
|
|
||||||
# Dependencies for subpackages
|
# Dependencies for subpackages
|
||||||
depends_on("all", when="@0.5.0:+all")
|
depends_on("all-library", when="@0.5.0:+all")
|
||||||
depends_on("arborx", when="@0.3.0:+arborx")
|
depends_on("arborx", when="@0.3.0:+arborx")
|
||||||
depends_on("hypre-cmake@2.22.0:", when="@0.4.0:+hypre")
|
depends_on("hypre-cmake@2.22.0:", when="@0.4.0:+hypre")
|
||||||
depends_on("hypre-cmake@2.22.1:", when="@0.5.0:+hypre")
|
depends_on("hypre-cmake@2.22.1:", when="@0.5.0:+hypre")
|
||||||
|
Loading…
Reference in New Issue
Block a user