]> git.ipfire.org Git - thirdparty/openwrt.git/commit
build: auto-generate CONFLICTS for package variants sharing PROVIDES
authorFelix Fietkau <nbd@nbd.name>
Tue, 13 Jan 2026 09:31:22 +0000 (09:31 +0000)
committerFelix Fietkau <nbd@nbd.name>
Thu, 22 Jan 2026 10:20:17 +0000 (10:20 +0000)
commit6d5c71f7485da47e5c2a0318dafd47ba50311dd4
tree2315a6392573920396a8bbda8307c0d8ef0cc0c9
parent46129bbbf5a423fd44a21b2f80f27a5a579fbb56
build: auto-generate CONFLICTS for package variants sharing PROVIDES

Packages using PROVIDES to declare virtual package alternatives (like
tc-tiny, tc-bpf, tc-full all providing 'tc') could be simultaneously
selected as =y, causing installation conflicts. The PROVIDES mechanism
only handles dependency resolution, not mutual exclusion.

Add add_implicit_provides_conflicts() to automatically generate CONFLICTS
from default variants to non-default variants sharing the same PROVIDES.
This ensures only one variant can be built-in (=y) at a time.

Skip generating implicit conflicts when the non-default already has
explicit CONFLICTS with the default, to avoid Kconfig dependency cycles
with the select-based dependency resolution.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
scripts/package-metadata.pl