lib: make only manual install mode sticky when replacing packages

This commit is contained in:
Duncan Overbruck 2021-03-16 01:02:26 +01:00
parent 67725a656c
commit 0191525d7c
No known key found for this signature in database
GPG Key ID: 335C1D17EC3D6E35

View File

@ -125,12 +125,7 @@ xbps_transaction_check_replaces(struct xbps_handle *xhp, xbps_array_t pkgs)
* package that should be replaced is also in the * package that should be replaced is also in the
* transaction and it's going to be updated. * transaction and it's going to be updated.
*/ */
if (instd_auto) { 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"); xbps_dictionary_remove(obj, "automatic-install");
} }
if (!xbps_dictionary_set_bool(reppkgd, "replaced", true)) { if (!xbps_dictionary_set_bool(reppkgd, "replaced", true)) {
@ -157,9 +152,8 @@ xbps_transaction_check_replaces(struct xbps_handle *xhp, xbps_array_t pkgs)
* the automatic-install object. * the automatic-install object.
*/ */
if (xbps_match_virtual_pkg_in_dict(obj, pattern)) { if (xbps_match_virtual_pkg_in_dict(obj, pattern)) {
if (!xbps_dictionary_set_bool(obj, "automatic-install", instd_auto)) { if (!instd_auto) {
xbps_object_iterator_release(iter); xbps_dictionary_remove(obj, "automatic-install");
return false;
} }
} }
/* /*