X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frules.c;h=c9bbf818cf7c83d3a8490e9b202e7502823cd0e4;hb=40d5592805eaa650df84c50b9fed3cbdc4823fc5;hp=048cd998b4536ed7a59dd940947b44c3c1b87522;hpb=e69296cfbfd9bc7a9a5da7a78fbaca07072e3d16;p=platform%2Fupstream%2Flibsolv.git diff --git a/src/rules.c b/src/rules.c index 048cd99..c9bbf81 100644 --- a/src/rules.c +++ b/src/rules.c @@ -65,7 +65,7 @@ dep_possible(Solver *solv, Id dep, Map *m) return dep_possible(solv, rd->evr, m); } if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_SPLITPROVIDES) - return solver_splitprovides(solv, rd->evr); + return solver_splitprovides(solv, rd->evr, m); if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_INSTALLED) return solver_dep_installed(solv, rd->evr); } @@ -541,7 +541,7 @@ add_complex_deprules(Solver *solv, Id p, Id dep, int type, int dontfix, Queue *w queue_init(&bq); /* CNF expansion for requires, DNF + INVERT expansion for conflicts */ - i = pool_normalize_complex_dep(pool, dep, &bq, type == SOLVER_RULE_DEP_PACKAGE_REQUIRES ? 0 : (CPLXDEPS_TODNF | CPLXDEPS_EXPAND | CPLXDEPS_INVERT)); + i = pool_normalize_complex_dep(pool, dep, &bq, type == SOLVER_RULE_PKG_REQUIRES ? 0 : (CPLXDEPS_TODNF | CPLXDEPS_EXPAND | CPLXDEPS_INVERT)); /* handle special cases */ if (i == 0) { @@ -2763,6 +2763,14 @@ solver_rule2solvable(Solver *solv, Id rid) return 0; } +Id +solver_rule2pkgrule(Solver *solv, Id rid) +{ + if (rid >= solv->choicerules && rid < solv->choicerules_end) + return solv->choicerules_ref[rid - solv->choicerules]; + return 0; +} + static void solver_rule2rules_rec(Solver *solv, Id rid, Queue *q, Map *seen) { @@ -3563,7 +3571,11 @@ check_xsupp(Solver *solv, Queue *depq, Id dep) return check_xsupp(solv, depq, rd->evr); } if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_SPLITPROVIDES) +#if 0 return solver_splitprovides(solv, rd->evr); +#else + return 0; +#endif if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_INSTALLED) return solver_dep_installed(solv, rd->evr); }