From 9fa64ca1db84c7a57434498651218d02da57ca04 Mon Sep 17 00:00:00 2001 From: Timo Teräs Date: Thu, 10 Apr 2014 09:52:40 +0300 Subject: solver: fix cleaning of packages that got replaced by provides --- src/solver.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/solver.c b/src/solver.c index 31b3db7..9c513c7 100644 --- a/src/solver.c +++ b/src/solver.c @@ -786,10 +786,13 @@ static void cset_gen_name_remove(struct apk_solver_state *ss, struct apk_package { struct apk_name *name = pkg->name, **pname; - if (name->ss.chosen.pkg != NULL || name->ss.in_changeset) + if (pkg->ss.in_changeset || + (name->ss.chosen.pkg != NULL && + name->ss.chosen.pkg->name == name)) return; name->ss.in_changeset = 1; + pkg->ss.in_changeset = 1; foreach_array_item(pname, pkg->name->rinstall_if) cset_check_removal_by_iif(ss, *pname); record_change(ss, pkg, NULL); -- cgit v1.2.3-70-g09d2