When adding update elements, we set the erase element to depend on the
install element, but if an API user adds the same erasure manually
after adding the update, we know its a duplicate erasure and filter
it out, BUT we zero out the dependent element in the process. And
if installing the update now fails, we end up removing the whole package
due to that missing dependent element.

This never happens with rpm itself so we can't easily test it, but is
100% reproducable with dnf (at least dnf 3-4). Apparently it adds all
erasures by itself (which is kind of understandable I guess, perhaps
we should better allow this in the API)
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/706

-- Commit Summary --

  * Fix packages getting erased on failed update with dnf (RhBug:1620275)

-- File Changes --

    M lib/depends.c (3)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/706.patch
https://github.com/rpm-software-management/rpm/pull/706.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/706
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to