Red Hat Bugzilla – Bug 993988
dnf: deletes local RPMs of dependencies during installation
Last modified: 2013-10-18 09:19:06 EDT
Created attachment 783338 [details]
tarball with two spec files and generated repository that can be used to reproduce easily
Description of problem:
When installing local RPM a.rpm that requires b.rpm from some repository dnf will try to remove b.rpm after installation (this will usually fail with warning between "installing" and "verification" phases, but succeed if repository uses local file:/// URL).
Steps to reproduce:
1. Build 2 rpms: a.rpm and b.rpm (where a has requires on b)
2. Create local repository (createrepo) from these rpms
3. Run "dnf install /path/to/a.rpm"
4. During installation, b.rpm will be removed from local repository
Version-Release number of selected component (if applicable):
Notably latest F20 version (dnf-0.3.10-1.giteb9dddb.fc20.noarch) doesn't delete the rpm.
To recap our discussion with Stanislav on IRC yesterday:
This only exhibits in 0.2.x versions on DNF (F18) and is not reproducible in 0.3.x versions (F19 and the current rawhide). It seems the issue went away with the transaction accounting overhaul, particularly the refactoring patch 21eb2e5029f29ad22e7950993dc22befc3a5ae66 is what fixed this.
Backporting the transaction accounting changes as a whole or rebasing DNF in f18 is not attainable, but cherry picking for this particular case should be. Leaving this open for now.
This bug has been fixed in the upstream. We don't plan to fix it for F18.