commit: ab6a74c11df188a902c1d2a007661a4334d558bc
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 1 10:02:22 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Jul 1 10:02:22 2021 +0000
URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=ab6a74c1
qmerge: ignore REPO in version replacement calculation
When we up/downgrade a package, or replace it, we don't care what
repository it comes from. Since atom_compare checks it when it's in
query, simply drop it for that call.
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
qmerge.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/qmerge.c b/qmerge.c
index 2323f78..bf8dc21 100644
--- a/qmerge.c
+++ b/qmerge.c
@@ -1095,8 +1095,13 @@ pkg_merge(int level, const depend_atom *qatom, const
tree_match_ctx *mpkg)
previnst = best_version(slotatom, BV_INSTALLED);
if (previnst != NULL) {
+ char *orepo = previnst->atom->REPO;
+ previnst->atom->REPO = NULL;
+ /* drop REPO from query, we don't care about where the
+ * replacement comes from here */
replacing = atom_compare(mpkg->atom, previnst->atom);
replver = previnst->atom->PVR;
+ previnst->atom->REPO = orepo;
}
(void)qprint_tree_node(level, mpkg, previnst, replacing);