Description of problem: It is not possible to upgrade newt without any additional flags to dnf --best --allowerasing. But using --allowerasing in automated scripts is dangerous. Version-Release number of selected component (if applicable): newt-0.52.21-5.fc32.x86_64 How reproducible: Deterministic Steps to Reproduce: // install package python2-newt (we will use f31 container image but you can do that on rawhide from koji) 1. docker run -ti --rm docker.io/fedora:31 bash //run rest of commands in container 2. dnf install -y python2-newt fedora-repos-rawhide 3. dnf --disablerepo=* --enablerepo=rawhide update -y newt Actual results: [root@5ce4d1240279 /]# dnf --disablerepo=* --enablerepo=rawhide update -y libxml2 Last metadata expiration check: 0:00:41 ago on Tue Nov 26 11:44:23 2019. Dependencies resolved. Problem: cannot install both libxml2-2.9.10-1.fc32.x86_64 and libxml2-2.9.10-1.fc31.x86_64 - package python2-libxml2-2.9.10-1.fc31.x86_64 requires libxml2(x86-64) = 2.9.10-1.fc31, but none of the providers can be installed - cannot install the best update candidate for package libxml2-2.9.10-1.fc31.x86_64 - problem with installed package python2-libxml2-2.9.10-1.fc31.x86_64 ================================================================================ Package Architecture Version Repository Size ================================================================================ Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): libxml2 x86_64 2.9.10-1.fc32 rawhide 693 k Transaction Summary ================================================================================ Skip 1 Package Nothing to do. Complete! Expected results: The package is upgraded without any problem Additional info: temporary workaround: dnf remove -y python2-newt But it does not scale if you have to maintain updates on many machines.
I suspect this is due to missing obsoletes in the fedora-obsolete-packages package.