merge: lane/pkg-qa

This commit is contained in:
2026-09-10 00:09:32 +04:00
4 changed files with 73 additions and 26 deletions
+19 -1
View File
@@ -97,6 +97,11 @@ APT_NODE=(
npm
)
APT_PYTHON=(
python3-jsonschema # tests/conformance: check_contract.py schema validation
python3-referencing # tests/conformance: $ref registry for draft 2020-12
)
APT_CLANG=(
clang # optional: libFuzzer targets (M7)
llvm
@@ -112,7 +117,7 @@ APT_PACKAGING=(
# --- install --------------------------------------------------------------------
PKGS=("${APT_CORE[@]}" "${APT_LIBS[@]}" "${APT_GUI[@]}" "${APT_LINT[@]}" "${APT_NODE[@]}")
PKGS=("${APT_CORE[@]}" "${APT_LIBS[@]}" "${APT_GUI[@]}" "${APT_LINT[@]}" "${APT_NODE[@]}" "${APT_PYTHON[@]}")
[[ $WITH_CLANG -eq 1 ]] && PKGS+=("${APT_CLANG[@]}")
[[ $WITH_PACKAGING -eq 1 ]] && PKGS+=("${APT_PACKAGING[@]}")
@@ -191,6 +196,19 @@ if command -v node >/dev/null 2>&1; then
fi
fi
# Python modules the conformance suite's static runner imports directly.
if command -v python3 >/dev/null 2>&1; then
for mod in jsonschema referencing; do
if python3 -c "import $mod" 2>/dev/null; then
printf ' \033[32m✓\033[0m %-16s %s\n' "py:$mod" \
"$(python3 -c "import importlib.metadata as m; print(m.version('$mod'))" 2>/dev/null)"
else
printf ' \033[31m✗\033[0m %-16s python3 can'\''t import it\n' "py:$mod"
fail=1
fi
done
fi
# Qt / library dev packages: check via pkg-config where possible.
for mod in Qt6Core Qt6Widgets Qt6Svg libcurl sqlite3 libssl libsecret-1 libavformat; do
if pkg-config --exists "$mod" 2>/dev/null; then