lib: fix setting automatic-install on replaced packages that are updated in the same transaction

This commit is contained in:
Duncan Overbruck 2021-03-14 17:22:45 +01:00
parent d992fd1617
commit 67725a656c
No known key found for this signature in database
GPG Key ID: 335C1D17EC3D6E35

View File

@ -125,9 +125,13 @@ xbps_transaction_check_replaces(struct xbps_handle *xhp, xbps_array_t pkgs)
* package that should be replaced is also in the
* transaction and it's going to be updated.
*/
if (!xbps_dictionary_set_bool(reppkgd, "automatic-install", instd_auto)) {
xbps_object_iterator_release(iter);
return false;
if (instd_auto) {
if (!xbps_dictionary_set_bool(obj, "automatic-install", instd_auto)) {
xbps_object_iterator_release(iter);
return false;
}
} else {
xbps_dictionary_remove(obj, "automatic-install");
}
if (!xbps_dictionary_set_bool(reppkgd, "replaced", true)) {
xbps_object_iterator_release(iter);