projects
/
platform
/
upstream
/
libsolv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 0.6.9
[platform/upstream/libsolv.git]
/
src
/
rules.c
diff --git
a/src/rules.c
b/src/rules.c
index
048cd99
..
c9bbf81
100644
(file)
--- 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 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);
}
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 */
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)
{
/* handle special cases */
if (i == 0)
{
@@
-2763,6
+2763,14
@@
solver_rule2solvable(Solver *solv, Id rid)
return 0;
}
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)
{
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)
return check_xsupp(solv, depq, rd->evr);
}
if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_SPLITPROVIDES)
+#if 0
return solver_splitprovides(solv, rd->evr);
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);
}
if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_INSTALLED)
return solver_dep_installed(solv, rd->evr);
}