cmds.projects.CmdRequiredOsPkg: Sort output
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 5m36s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m45s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 5m36s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m34s
CI / Packaging test (push) Successful in 0s

The list of OS packages printed by required-os-pkg is not reproducible: the
packages are collected in a set, and the set's iteration order depends on
the hash seed of the Python process, so two runs of the same invocation can
print the same packages in different orders.

Print the sorted list instead. The order of a package list is meaningless
to the package manager, and the output is now stable across runs and hash
seeds.

Signed-off-by: Jan Lindemann <jan@janware.com>
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.86.1
This commit is contained in:
Jan Lindemann 2026-09-22 06:48:01 +02:00
commit 3dc64050b5
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61

View file

@ -66,6 +66,7 @@ class CmdRequiredOsPkg(Cmd): # export
vals = self.app.get_values(deps, ['pkg.requires.' + sec], [flavour])
if vals:
requires |= set(vals)
out = [f'"{dep}"' for dep in requires] if args.quote else requires
out = sorted(requires)
out = [f'"{dep}"' for dep in out] if args.quote else out
# TODO: add all not in build tree as -devel
print(' '.join(out))