Hi, I've been trying to get 'add-determinism' deployed in buildroots. This has been unsuccessful because of the following issue. The dependency chain is: redhat-rpm-config has Requires build-reproducibility-srpm-macros and build-reproducibility-srpm-macros has Requires: (add-determinism if python3-libs else add-determinism-nopython) Suggests: add-determinism-nopython (The idea is that we install 'add-determinism-nopython' which is self-contained, but if python3 is installed into the buildroot, we pull in the heavier version which has a dependency on python3-libs.) This works well enough when installing packages using dnf on a test system. But, in koji and mock builds, this results in rpm-build being unistalled (!). For example, see https://koji.fedoraproject.org/koji/taskinfo?taskID=117684626 and root.log there: first rpm-build is installed along with a bunch of other packages expected in the buildroot, but then cargo-rpm-macros is requested (presumably via %generate_buildrequires), which depends on python3 and python3-libs. Dnf5 realizes that to satisfy all bounds, it can either: a) install cargo-rpm-macros, python3, python3-libs, add-determinism, and remove add-determinism-nopython b) install cargo-rpm-macros, python3, python3-libs, and remove build-reproducibility-srpm-macros, rpm-build, fonts-srpm-macros, redhat-rpm-config, and a few other packages. and picks option b). Without rpm-build installed, the build immediately faceplants. (This can be reproduced by calling 'mock -i redhat-rpm-config' and later 'mock -i cargo-rpm-macros'. It reproduces with both dnf5 and dnf, so it's not a dnf5-related regresion.) How to make this not happen, i.e. how to prevent rpm-build and other packages that were explicitly pulled in via the @buildsys-build group from being uninstalled? I think this is a general problem, not just limited to the case described above. We now have hundreds of rich Requires deps declared in packages, and each one creates the possibility that dnf might opt to uninstall the package involved in the rich dep, rather than installing the deps, if there is no mechanism to prevent previously-explicitly-requested packges from being removed. Zbyszek -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue