X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fsolver_private.h;h=406b304a60fe5d60198fce897c4c0b934345a29b;hb=79b3a6b7ab494c5ff10e740fd147f21a04907907;hp=e92617dd55a1575d03682c199fa81a46749b1c73;hpb=26781f8c44b4495fba2d0f4a39fe6379b08f32ce;p=platform%2Fupstream%2Flibsolv.git diff --git a/src/solver_private.h b/src/solver_private.h index e92617d..406b304 100644 --- a/src/solver_private.h +++ b/src/solver_private.h @@ -21,6 +21,7 @@ extern int solver_dep_possible_slow(Solver *solv, Id dep, Map *m); extern int solver_dep_fulfilled_cplx(Solver *solv, Reldep *rd); extern int solver_is_supplementing_alreadyinstalled(Solver *solv, Solvable *s); extern void solver_intersect_obsoleted(Solver *solv, Id p, Queue *q, int qstart, Map *m); +extern int solver_is_namespace_dep_slow(Solver *solv, Reldep *rd); extern void solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded); extern int solver_check_cleandeps_mistakes(Solver *solv); @@ -92,4 +93,21 @@ solver_is_enhancing(Solver *solv, Solvable *s) return 0; } +static inline int +solver_is_namespace_dep(Solver *solv, Id dep) +{ + Pool *pool = solv->pool; + Reldep *rd; + if (!ISRELDEP(dep)) + return 0; + rd = GETRELDEP(pool, dep); + if (rd->flags == REL_NAMESPACE) + return 1; + if (ISRELDEP(rd->name)) + return solver_is_namespace_dep_slow(solv, rd); + if (ISRELDEP(rd->evr)) + return solver_is_namespace_dep_slow(solv, GETRELDEP(pool, rd->evr)); + return 0; +} + #endif /* LIBSOLV_SOLVER_PRIVATE_H */