topdir.mk: Remove --skip-excluded from install targets
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 5m0s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 5m31s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 5m6s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 5m21s
CI / Packaging test (push) Successful in 0s

Using --skip-excluded in pkg-install-*'s recipes breaks CI, and here's how:
During a CI run, a package is expected to be testable with only jw-pkg and
the package itself installed in the test environment. "testable" here means
that it's possible to install the necessary dependencies with make
pkg-install-* commands before building. That condition is inherently always
met by packages which have only jw-pkg as its only dependency. But it's not
true for packages with intermediate packages in their dependency tree. For
for those packages it's not advisable to pass --skip-excluded to the
dependency detection, because that will cause the resolver to try and find
the intermediate's project.conf to read its [build].excluded section.
Which fails because that intermediate is neither installed nor checked out.

So, until there's another mechansim in place which allows excluding
uninstalled packages (caller-supplied knowledge, reading remote
repositories, package-manager-like package metadata cache), drop
--skip-excluded from the pkg-install-* targets' recipes.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-10-18 17:10:14 +02:00
commit 2d0544743a
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61

View file

@ -297,13 +297,13 @@ pkg-manager-refresh:
$(PKG_MANAGER) refresh
pkg-install-build-deps:
$(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded "build" $(PROJECT))
$(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote "build" $(PROJECT))
pkg-install-release-deps:
$(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote --skip-excluded "build,run,release" $(PROJECT))
$(PKG_MANAGER) install $(shell $(proj_query_cmd) required-os-pkg --quote "build,run,release" $(PROJECT))
pkg-install-testbuild-deps:
$(PKG_MANAGER) install $(shell $(proj_query_cmd) pkg-requires --quote --skip-excluded --hide-self --syntax names-only --delimiter " " "build,run,devel,release" $(PROJECT))
$(PKG_MANAGER) install $(shell $(proj_query_cmd) pkg-requires --quote --hide-self --syntax names-only --delimiter " " "build,run,devel,release" $(PROJECT))
recache-vars:
rm -f $(TOPDIR)/make clean-cache cache