commit f68da5771273b405457b6a22c9e19da0d67ba4ed
parent 9dece22663505c69487701fff625436528063cb2
Author: Mike Hommey <mh+mozilla@glandium.org>
Date: Thu, 2 Oct 2025 05:46:23 +0000
Bug 1991621 - Avoid unused crate names in ALLOWED_DESPITE_PREFIX. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D266768
Diffstat:
1 file changed, 14 insertions(+), 0 deletions(-)
diff --git a/python/mozbuild/mozbuild/vendor/vendor_rust.py b/python/mozbuild/mozbuild/vendor/vendor_rust.py
@@ -135,6 +135,8 @@ ALLOWED_DESPITE_PREFIX = {
"unic-langid-impl", # Implementation detail of unic-langid
}
+SEEN_ALLOWED_DESPITE_PREFIX = set()
+
PACKAGES_WE_ALWAYS_WANT_AN_OVERRIDE_OF = [
"autocfg",
"cmake",
@@ -148,6 +150,7 @@ def dont_want_package(name):
if reason := PACKAGES_WE_DONT_WANT.get(name):
return reason
if name in ALLOWED_DESPITE_PREFIX:
+ SEEN_ALLOWED_DESPITE_PREFIX.add(name)
return None
for prefix, reason in PREFIXES_WE_DONT_WANT.items():
if name.startswith(prefix):
@@ -687,6 +690,17 @@ license file's hash.
failed = True
grouped[package["name"]].append(package)
+ for name in ALLOWED_DESPITE_PREFIX:
+ if name not in SEEN_ALLOWED_DESPITE_PREFIX:
+ self.log(
+ logging.ERROR,
+ "unused_allowed_despite_prefix",
+ {"crate": name},
+ "ALLOWED_DESPITE_PREFIX contains {crate}, "
+ "but that crate is not actually used (anymore?).",
+ )
+ failed = True
+
for name, packages in grouped.items():
# Allow to have crates of the same name when one depends on the other.
num = len(