mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-21 12:29:29 -04:00
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>