summaryrefslogtreecommitdiff
path: root/src/solver.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2013-10-14 17:40:27 +0200
committerMichael Schroeder <mls@suse.de>2013-10-14 17:40:27 +0200
commitf09c993f4d413317d4de27bfa8735de976e8d945 (patch)
treec154bfd062b419b03b75f150e5c00f77ea26abb0 /src/solver.c
parent1db11dd84a96daf96f049f0afe381b76ed251af6 (diff)
downloadlibsolv-f09c993f4d413317d4de27bfa8735de976e8d945.tar.gz
libsolv-f09c993f4d413317d4de27bfa8735de976e8d945.tar.bz2
libsolv-f09c993f4d413317d4de27bfa8735de976e8d945.zip
Extend product link support to patterns/applications
Also implement own product link code, in case the nscallback does not return a buddy. Includes two bugfix: the ruleinfo introspection now know about links, and there's an extra link pass to pick up linked packages.
Diffstat (limited to 'src/solver.c')
-rw-r--r--src/solver.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/solver.c b/src/solver.c
index 182a0e8..a6a9b92 100644
--- a/src/solver.c
+++ b/src/solver.c
@@ -1588,6 +1588,7 @@ solver_free(Solver *solv)
solv_free(solv->multiversionupdaters);
solv_free(solv->choicerules_ref);
solv_free(solv->bestrules_pkg);
+ solv_free(solv->instbuddy);
solv_free(solv);
}
@@ -3300,6 +3301,10 @@ solver_solve(Solver *solv, Queue *job)
solver_addrpmrulesforweak(solv, &addedmap);
POOL_DEBUG(SOLV_DEBUG_STATS, "added %d rpm rules because of weak dependencies\n", solv->nrules - oldnrules);
+ oldnrules = solv->nrules;
+ solver_addrpmrulesforlinked(solv, &addedmap);
+ POOL_DEBUG(SOLV_DEBUG_STATS, "added %d rpm rules because of linked packages\n", solv->nrules - oldnrules);
+
/*
* first pass done, we now have all the rpm rules we need.
* unify existing rules before going over all job rules and