jw-pkg/src/python/jw/pkg
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Lindemann 2ae101d93b
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 4m30s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m37s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 4m10s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m34s
CI / Packaging test (push) Successful in 0s
App.__get_project_refs(): Fix recursion stop conditions
App.__get_project_refs() recurses into the package dependency graph, but
the recursion end conditions only work well if all required packages are
present. Whether a required package is installed or not is decided upon a
wrong condition, however - existence of the project's project directory,
which may or may not be misleading for both the -devel and the -run
requirements. This can lead to various unwanted outcomes: Missing packages
happily inserted into the recursion buffer, process termination instead of
recursion stop, path lookup errors instead of a clearer "unmet dependency"
message (No project path found for module xyz, Failed to find directory of
project foo).

This commit cleanly detects if -run or -devel are installed and makes the
walk stop or raise under the appropriate conditions:

1. -run missing but required, raises unmet dependency
2. -devel missing but required, raises unmet dependency
3. -run present, no -devel required, stop recursing

Signed-off-by: Jan Lindemann <jan@janware.com>
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.85.1
2026-09-10 13:06:05 +02:00
..
cmds CmdBuild.run_make(): Skip projects without buildable dir 2026-09-10 11:44:25 +02:00
lib lib.version.Dependency: Beautify exceptions 2026-09-10 09:52:13 +02:00
__init__.py jw.pkg.__init__.py: Add file to Git 2026-06-01 14:32:44 +02:00
App.py App.__get_project_refs(): Fix recursion stop conditions 2026-09-10 13:06:05 +02:00
CmdBase.py py-check.mk: Run isort with "make format" 2026-08-11 16:45:14 +02:00
Makefile jw.pkg.__init__.py: Add file to Git 2026-06-01 14:32:44 +02:00
py.typed jw/pkg/py.typed: Add file 2026-05-31 18:21:20 +02:00