From 2b951f786175be62c9466b918c29742d98fca6f6 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 8 Sep 2026 22:21:36 +0200 Subject: [PATCH] CmdRequiredOsPkg: Don't modify deps while iterating --skip-excluded removed excluded modules from deps with deps.remove() while iterating over deps. Removing an element shifts the remaining elements to the left, so the loop skipped the entry following each removed one, and consecutively excluded modules survived the filter and leaked into the output. Build the filtered list with a comprehension instead. Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.84.2 Signed-off-by: Jan Lindemann --- src/python/jw/pkg/cmds/projects/CmdRequiredOsPkg.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/python/jw/pkg/cmds/projects/CmdRequiredOsPkg.py b/src/python/jw/pkg/cmds/projects/CmdRequiredOsPkg.py index d66ec1d6..329b941f 100644 --- a/src/python/jw/pkg/cmds/projects/CmdRequiredOsPkg.py +++ b/src/python/jw/pkg/cmds/projects/CmdRequiredOsPkg.py @@ -57,9 +57,7 @@ class CmdRequiredOsPkg(Cmd): # export names_only = True, ) if args.skip_excluded: - for d in deps: - if self.app.is_excluded_from_build(d) is not None: - deps.remove(d) + deps = [d for d in deps if self.app.is_excluded_from_build(d) is None] subsecs = self.app.distro.os_cascade log(DEBUG, 'subsecs = ', subsecs) requires: set[str] = set()