rpm-software-management / dnf5

Next-generation RPM package management system
Other
259 stars 88 forks source link

Create group packagelist by merging packagelists of all its solvables #183

Open pkratoch opened 2 years ago

pkratoch commented 2 years ago

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).

jan-kolarik commented 1 month 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!).

ppisar commented 1 month ago

Downstream report https://bugzilla.redhat.com/show_bug.cgi?id=2321111.