From 8637269b38d9cd59fe946dc797a455e3c8009ea0 Mon Sep 17 00:00:00 2001 From: Duncan Overbruck Date: Fri, 31 Jan 2020 16:32:38 +0100 Subject: [PATCH] lib/transaction_revdeps.c: fix provides/replaces #218 This reverts a change that solved another issue and marks the test case for the other issue as expected failure. The other issue is not as important as this, as it blocks updating a lot of systems. --- lib/transaction_revdeps.c | 10 ++++++++++ tests/xbps/libxbps/shell/install_test.sh | 1 + 2 files changed, 11 insertions(+) diff --git a/lib/transaction_revdeps.c b/lib/transaction_revdeps.c index 39cc6d05..73edd21c 100644 --- a/lib/transaction_revdeps.c +++ b/lib/transaction_revdeps.c @@ -232,6 +232,16 @@ xbps_transaction_revdeps(struct xbps_handle *xhp, xbps_array_t pkgs) free(pkgname); continue; } + /* + * Installed package conflicts with package + * in transaction being updated, check + * if a new version of this conflicting package + * is in the transaction. + */ + if (xbps_find_pkg_in_array(pkgs, pkgname, "update")) { + free(pkgname); + continue; + } free(pkgname); broken_pkg(mdeps, curpkgver, pkgver, tract); } diff --git a/tests/xbps/libxbps/shell/install_test.sh b/tests/xbps/libxbps/shell/install_test.sh index c0fe9a1a..eb30ba82 100644 --- a/tests/xbps/libxbps/shell/install_test.sh +++ b/tests/xbps/libxbps/shell/install_test.sh @@ -598,6 +598,7 @@ atf_test_case update_and_install update_and_install_head() { atf_set "descr" "Tests for pkg install: update installed version and install new from other repo" + atf_expect_fail "fix introduced a regression" } update_and_install_body() {