From 592d5c517ef6ed003450189cf0c4d7af8801de59 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 14 Sep 2026 09:52:44 +0200 Subject: [PATCH] utils/getdeveloperlib.py: fix regexp used to find package infra There's recently been autobuilder failures on toolchain-external-bootlin, but I wasn't getting notified in the daily autobuilder e-mail for those failures, which sounded odd as DEVELOPERS contains: N: Thomas Petazzoni [...] F: toolchain/ And indeed, testing: $ ./utils/get-developers -p toolchain-external-bootlin returned nothing. Turns out that the regexp FIND_INFRA_IN_PATCH and FIND_INFRA_IN_MK used to find the package infrastructure, and ultimately decide if a given .mk file contains a package, was a bit too strict: "^\+\$\(eval \$\((host-)?([^-]*)-package\)\)$" This would only allow packages named -package or host--package, but the should not contain any dash ("-"). So this works fine for cmake-package, host-autotools-package, but not for toolchain-external-package where is toolchain-external and it contains a dash. We fix this by relaxing the regexp a bit and allowing any character in . Consider the rest of the regexp that expects $(eval $(--package)), it seems highly unlikely to match anything else but the line we're interested in. With this fix: $ ./utils/get-developers -p toolchain-external-bootlin Giulio Benetti Romain Naour Thomas Petazzoni This issue has existed since the toolchain-external-package infrastructure had been added. Fixes: 1c99d70e5210f9d7b475736e0360ed63d16584f2 ("toolchain-external: introduce toolchain-external-package") Signed-off-by: Thomas Petazzoni Signed-off-by: Julien Olivain --- utils/getdeveloperlib.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/getdeveloperlib.py b/utils/getdeveloperlib.py index b5e7b89e72..4321df8bfe 100644 --- a/utils/getdeveloperlib.py +++ b/utils/getdeveloperlib.py @@ -12,7 +12,7 @@ brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..")) # Patch parsing functions # -FIND_INFRA_IN_PATCH = re.compile(r"^\+\$\(eval \$\((host-)?([^-]*)-package\)\)$") +FIND_INFRA_IN_PATCH = re.compile(r"^\+\$\(eval \$\((host-)?(.*)-package\)\)$") def analyze_patch(patch): @@ -35,7 +35,7 @@ def analyze_patch(patch): return (files, infras) -FIND_INFRA_IN_MK = re.compile(r"^\$\(eval \$\((host-)?([^-]*)-package\)\)$") +FIND_INFRA_IN_MK = re.compile(r"^\$\(eval \$\((host-)?(.*)-package\)\)$") def fname_get_package_infra(fname):