Open pkratoch opened 2 years ago
This leads to issues with debugging and introduces non-determinism into dnf5, as the results depend on which repository's group definitions were used during the merge. Increasing the priority for this issue after consulting with @m-blaha (thank you!).
Downstream report https://bugzilla.redhat.com/show_bug.cgi?id=2321111.
Currently, only the first solvable is used to get the packagelist: https://github.com/rpm-software-management/dnf5/blob/main/libdnf/comps/group/group.cpp#L124 However, it should be created by merging packagelists of all solvables for this group (the design decision is mentioned there: https://github.com/rpm-software-management/libdnf/pull/1350/files#diff-f313c151f0caffdb2b4fe4a02adf2bde652498e2cb1d29296d153e67b7c29e77R35 )
Test in ci-dnf-stack: https://github.com/rpm-software-management/ci-dnf-stack/blob/master/dnf-behave-tests/dnf/comps-group.feature#L432
The merging should behave reasonably even when packages change type (mandatory / default / optional / conditional).