#include "pooltypes.h"
#include "pool.h"
#include "repo.h"
#include "queue.h"
#include "bitmap.h"
#include "transaction.h"
#include "rules.h"
#include "problems.h"
Go to the source code of this file.
Classes | |
struct | _Solver |
Defines | |
#define | SOLVER_SOLVABLE 0x01 |
#define | SOLVER_SOLVABLE_NAME 0x02 |
#define | SOLVER_SOLVABLE_PROVIDES 0x03 |
#define | SOLVER_SOLVABLE_ONE_OF 0x04 |
#define | SOLVER_SOLVABLE_REPO 0x05 |
#define | SOLVER_SOLVABLE_ALL 0x06 |
#define | SOLVER_SELECTMASK 0xff |
#define | SOLVER_NOOP 0x0000 |
#define | SOLVER_INSTALL 0x0100 |
#define | SOLVER_ERASE 0x0200 |
#define | SOLVER_UPDATE 0x0300 |
#define | SOLVER_WEAKENDEPS 0x0400 |
#define | SOLVER_NOOBSOLETES 0x0500 |
#define | SOLVER_LOCK 0x0600 |
#define | SOLVER_DISTUPGRADE 0x0700 |
#define | SOLVER_VERIFY 0x0800 |
#define | SOLVER_DROP_ORPHANED 0x0900 |
#define | SOLVER_USERINSTALLED 0x0a00 |
#define | SOLVER_JOBMASK 0xff00 |
#define | SOLVER_WEAK 0x010000 |
#define | SOLVER_ESSENTIAL 0x020000 |
#define | SOLVER_CLEANDEPS 0x040000 |
#define | SOLVER_SETEV 0x01000000 |
#define | SOLVER_SETEVR 0x02000000 |
#define | SOLVER_SETARCH 0x04000000 |
#define | SOLVER_SETVENDOR 0x08000000 |
#define | SOLVER_SETREPO 0x10000000 |
#define | SOLVER_NOAUTOSET 0x20000000 |
#define | SOLVER_SETMASK 0x2f000000 |
#define | SOLVER_INSTALL_SOLVABLE (SOLVER_INSTALL|SOLVER_SOLVABLE) |
#define | SOLVER_ERASE_SOLVABLE (SOLVER_ERASE|SOLVER_SOLVABLE) |
#define | SOLVER_INSTALL_SOLVABLE_NAME (SOLVER_INSTALL|SOLVER_SOLVABLE_NAME) |
#define | SOLVER_ERASE_SOLVABLE_NAME (SOLVER_ERASE|SOLVER_SOLVABLE_NAME) |
#define | SOLVER_INSTALL_SOLVABLE_PROVIDES (SOLVER_INSTALL|SOLVER_SOLVABLE_PROVIDES) |
#define | SOLVER_ERASE_SOLVABLE_PROVIDES (SOLVER_ERASE|SOLVER_SOLVABLE_PROVIDES) |
#define | SOLVER_INSTALL_SOLVABLE_UPDATE (SOLVER_UPDATE|SOLVER_SOLVABLE) |
#define | SOLVER_INSTALL_SOLVABLE_ONE_OF (SOLVER_INSTALL|SOLVER_SOLVABLE_ONE_OF) |
#define | SOLVER_WEAKEN_SOLVABLE_DEPS (SOLVER_WEAKENDEPS|SOLVER_SOLVABLE) |
#define | SOLVER_NOOBSOLETES_SOLVABLE (SOLVER_NOOBSOLETES|SOLVER_SOLVABLE) |
#define | SOLVER_NOOBSOLETES_SOLVABLE_NAME (SOLVER_NOOBSOLETES|SOLVER_SOLVABLE_NAME) |
#define | SOLVER_NOOBSOLETES_SOLVABLE_PROVIDES (SOLVER_NOOBSOLETES|SOLVER_SOLVABLE_PROVIDES) |
#define | SOLVER_PROBLEM_UPDATE_RULE SOLVER_RULE_UPDATE |
#define | SOLVER_PROBLEM_JOB_RULE SOLVER_RULE_JOB |
#define | SOLVER_PROBLEM_JOB_NOTHING_PROVIDES_DEP SOLVER_RULE_JOB_NOTHING_PROVIDES_DEP |
#define | SOLVER_PROBLEM_NOT_INSTALLABLE SOLVER_RULE_RPM_NOT_INSTALLABLE |
#define | SOLVER_PROBLEM_NOTHING_PROVIDES_DEP SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP |
#define | SOLVER_PROBLEM_SAME_NAME SOLVER_RULE_RPM_SAME_NAME |
#define | SOLVER_PROBLEM_PACKAGE_CONFLICT SOLVER_RULE_RPM_PACKAGE_CONFLICT |
#define | SOLVER_PROBLEM_PACKAGE_OBSOLETES SOLVER_RULE_RPM_PACKAGE_OBSOLETES |
#define | SOLVER_PROBLEM_DEP_PROVIDERS_NOT_INSTALLABLE SOLVER_RULE_RPM_PACKAGE_REQUIRES |
#define | SOLVER_PROBLEM_SELF_CONFLICT SOLVER_RULE_RPM_SELF_CONFLICT |
#define | SOLVER_PROBLEM_RPM_RULE SOLVER_RULE_RPM |
#define | SOLVER_PROBLEM_DISTUPGRADE_RULE SOLVER_RULE_DISTUPGRADE |
#define | SOLVER_PROBLEM_INFARCH_RULE SOLVER_RULE_INFARCH |
#define | FOR_RULELITERALS(l, dp, r) |
#define | FOR_JOB_SELECT(p, pp, select, what) |
Typedefs | |
typedef void(* | BestSolvableCb )(Pool *pool, Queue *canditates) |
typedef int(* | ArchCheckCb )(Pool *pool, Solvable *solvable1, Solvable *solvable2) |
typedef int(* | VendorCheckCb )(Pool *pool, Solvable *solvable1, Solvable *solvable2) |
typedef void(* | UpdateCandidateCb )(Pool *pool, Solvable *solvable, Queue *canditates) |
typedef struct _Solver | Solver |
Functions | |
Solver * | solver_create (Pool *pool) |
void | solver_free (Solver *solv) |
void | solver_solve (Solver *solv, Queue *job) |
void | solver_run_sat (Solver *solv, int disablerules, int doweak) |
void | solver_reset (Solver *solv) |
int | solver_dep_installed (Solver *solv, Id dep) |
int | solver_splitprovides (Solver *solv, Id dep) |
void | solver_calculate_noobsmap (Pool *pool, Queue *job, Map *noobsmap) |
SolverRuleinfo | solver_problemruleinfo (Solver *solv, Queue *job, Id rid, Id *depp, Id *sourcep, Id *targetp) |
Id * | solver_create_decisions_obsoletesmap (Solver *solv) |
static int | solver_dep_fulfilled (Solver *solv, Id dep) |
static int | solver_is_supplementing (Solver *solv, Solvable *s) |
static int | solver_is_enhancing (Solver *solv, Solvable *s) |
void | solver_calc_duchanges (Solver *solv, DUChanges *mps, int nmps) |
int | solver_calc_installsizechange (Solver *solv) |
void | solver_trivial_installable (Solver *solv, Queue *pkgs, Queue *res) |
void | solver_find_involved (Solver *solv, Queue *installedq, Solvable *s, Queue *q) |
static void | solver_create_state_maps (Solver *solv, Map *installedmap, Map *conflictsmap) |
#define SOLVER_SOLVABLE 0x01 |
Definition at line 223 of file solver.h.
Referenced by jobtodisablelist(), solver_createcleandepsmap(), solver_printsolution(), solver_select2str(), solver_solve(), and solver_take_solutionelement().
#define SOLVER_SOLVABLE_NAME 0x02 |
Definition at line 224 of file solver.h.
Referenced by jobtodisablelist(), and solver_select2str().
#define SOLVER_SOLVABLE_PROVIDES 0x03 |
Definition at line 225 of file solver.h.
Referenced by jobtodisablelist(), solver_printsolution(), and solver_select2str().
#define SOLVER_SOLVABLE_ONE_OF 0x04 |
Definition at line 226 of file solver.h.
Referenced by solver_ruleinfo(), and solver_select2str().
#define SOLVER_SOLVABLE_REPO 0x05 |
Definition at line 227 of file solver.h.
Referenced by solver_createdupmaps(), and solver_select2str().
#define SOLVER_SOLVABLE_ALL 0x06 |
Definition at line 228 of file solver.h.
Referenced by solver_select2str(), and solver_solve().
#define SOLVER_SELECTMASK 0xff |
Definition at line 230 of file solver.h.
Referenced by jobtodisablelist(), solver_calculate_noobsmap(), solver_createcleandepsmap(), solver_createdupmaps(), solver_printsolution(), solver_ruleinfo(), and solver_solve().
#define SOLVER_NOOP 0x0000 |
Definition at line 232 of file solver.h.
Referenced by solver_take_solutionelement().
#define SOLVER_INSTALL 0x0100 |
Definition at line 233 of file solver.h.
Referenced by jobtodisablelist(), solver_printsolution(), solver_solve(), and solver_take_solutionelement().
#define SOLVER_ERASE 0x0200 |
Definition at line 234 of file solver.h.
Referenced by jobtodisablelist(), solver_createcleandepsmap(), solver_printsolution(), solver_solve(), and solver_take_solutionelement().
#define SOLVER_UPDATE 0x0300 |
Definition at line 235 of file solver.h.
Referenced by solver_printsolution(), and solver_solve().
#define SOLVER_WEAKENDEPS 0x0400 |
Definition at line 236 of file solver.h.
Referenced by solver_solve().
#define SOLVER_NOOBSOLETES 0x0500 |
Definition at line 237 of file solver.h.
Referenced by solver_calculate_noobsmap(), and solver_solve().
#define SOLVER_LOCK 0x0600 |
Definition at line 238 of file solver.h.
Referenced by solver_printsolution(), and solver_solve().
#define SOLVER_DISTUPGRADE 0x0700 |
Definition at line 239 of file solver.h.
Referenced by solver_createdupmaps(), and solver_solve().
#define SOLVER_VERIFY 0x0800 |
Definition at line 240 of file solver.h.
Referenced by solver_solve().
#define SOLVER_DROP_ORPHANED 0x0900 |
Definition at line 241 of file solver.h.
Referenced by solver_solve().
#define SOLVER_USERINSTALLED 0x0a00 |
Definition at line 242 of file solver.h.
Referenced by solver_createcleandepsmap(), and solver_solve().
#define SOLVER_JOBMASK 0xff00 |
Definition at line 244 of file solver.h.
Referenced by jobtodisablelist(), solver_calculate_noobsmap(), solver_createcleandepsmap(), solver_createdupmaps(), solver_printsolution(), and solver_solve().
#define SOLVER_WEAK 0x010000 |
Definition at line 246 of file solver.h.
Referenced by solver_solve().
#define SOLVER_ESSENTIAL 0x020000 |
Definition at line 247 of file solver.h.
Referenced by problems_sortcmp(), and refine_suggestion().
#define SOLVER_CLEANDEPS 0x040000 |
Definition at line 248 of file solver.h.
Referenced by solver_createcleandepsmap(), and solver_solve().
#define SOLVER_SETEV 0x01000000 |
Definition at line 250 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_SETEVR 0x02000000 |
Definition at line 251 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_SETARCH 0x04000000 |
Definition at line 252 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_SETVENDOR 0x08000000 |
Definition at line 253 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_SETREPO 0x10000000 |
Definition at line 254 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_NOAUTOSET 0x20000000 |
Definition at line 255 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_SETMASK 0x2f000000 |
Definition at line 257 of file solver.h.
Referenced by jobtodisablelist().
#define SOLVER_INSTALL_SOLVABLE (SOLVER_INSTALL|SOLVER_SOLVABLE) |
#define SOLVER_ERASE_SOLVABLE (SOLVER_ERASE|SOLVER_SOLVABLE) |
#define SOLVER_INSTALL_SOLVABLE_NAME (SOLVER_INSTALL|SOLVER_SOLVABLE_NAME) |
#define SOLVER_ERASE_SOLVABLE_NAME (SOLVER_ERASE|SOLVER_SOLVABLE_NAME) |
#define SOLVER_INSTALL_SOLVABLE_PROVIDES (SOLVER_INSTALL|SOLVER_SOLVABLE_PROVIDES) |
#define SOLVER_ERASE_SOLVABLE_PROVIDES (SOLVER_ERASE|SOLVER_SOLVABLE_PROVIDES) |
#define SOLVER_INSTALL_SOLVABLE_UPDATE (SOLVER_UPDATE|SOLVER_SOLVABLE) |
#define SOLVER_INSTALL_SOLVABLE_ONE_OF (SOLVER_INSTALL|SOLVER_SOLVABLE_ONE_OF) |
#define SOLVER_WEAKEN_SOLVABLE_DEPS (SOLVER_WEAKENDEPS|SOLVER_SOLVABLE) |
#define SOLVER_NOOBSOLETES_SOLVABLE (SOLVER_NOOBSOLETES|SOLVER_SOLVABLE) |
#define SOLVER_NOOBSOLETES_SOLVABLE_NAME (SOLVER_NOOBSOLETES|SOLVER_SOLVABLE_NAME) |
#define SOLVER_NOOBSOLETES_SOLVABLE_PROVIDES (SOLVER_NOOBSOLETES|SOLVER_SOLVABLE_PROVIDES) |
#define SOLVER_PROBLEM_JOB_NOTHING_PROVIDES_DEP SOLVER_RULE_JOB_NOTHING_PROVIDES_DEP |
#define SOLVER_PROBLEM_NOT_INSTALLABLE SOLVER_RULE_RPM_NOT_INSTALLABLE |
#define SOLVER_PROBLEM_NOTHING_PROVIDES_DEP SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP |
#define SOLVER_PROBLEM_PACKAGE_CONFLICT SOLVER_RULE_RPM_PACKAGE_CONFLICT |
#define SOLVER_PROBLEM_PACKAGE_OBSOLETES SOLVER_RULE_RPM_PACKAGE_OBSOLETES |
#define SOLVER_PROBLEM_DEP_PROVIDERS_NOT_INSTALLABLE SOLVER_RULE_RPM_PACKAGE_REQUIRES |
#define SOLVER_PROBLEM_SELF_CONFLICT SOLVER_RULE_RPM_SELF_CONFLICT |
#define SOLVER_PROBLEM_DISTUPGRADE_RULE SOLVER_RULE_DISTUPGRADE |
#define FOR_RULELITERALS | ( | l, | |||
dp, | |||||
r | ) |
for (l = r->d < 0 ? -r->d - 1 : r->d, \
dp = !l ? &r->w2 : pool->whatprovidesdata + l, \
l = r->p; l; l = (dp != &r->w2 + 1 ? *dp++ : 0))
Definition at line 378 of file solver.h.
Referenced by convertsolution(), solver_addchoicerules(), solver_createcleandepsmap(), solver_disablechoicerules(), and solver_run_sat().
#define FOR_JOB_SELECT | ( | p, | |||
pp, | |||||
select, | |||||
what | ) |
if (select == SOLVER_SOLVABLE_REPO || select == SOLVER_SOLVABLE_ALL) \ p = pp = 0; \ else for (pp = (select == SOLVER_SOLVABLE ? 0 : \ select == SOLVER_SOLVABLE_ONE_OF ? what : \ pool_whatprovides(pool, what)), \ p = (select == SOLVER_SOLVABLE ? what : pool->whatprovidesdata[pp++]) ; p ; p = pool->whatprovidesdata[pp++]) \ if (select != SOLVER_SOLVABLE_NAME || pool_match_nevr(pool, pool->solvables + p, what))
Definition at line 384 of file solver.h.
Referenced by jobtodisablelist(), solver_calculate_noobsmap(), solver_createcleandepsmap(), and solver_solve().
typedef void(* BestSolvableCb)(Pool *pool, Queue *canditates) |
typedef int(* ArchCheckCb)(Pool *pool, Solvable *solvable1, Solvable *solvable2) |
typedef int(* VendorCheckCb)(Pool *pool, Solvable *solvable1, Solvable *solvable2) |
typedef void(* UpdateCandidateCb)(Pool *pool, Solvable *solvable, Queue *canditates) |
Definition at line 1226 of file solver.c.
References _Solver::branches, _Solver::covenantq, _Solver::decisionmap, _Solver::decisionq, _Solver::decisionq_why, _Repo::end, _Pool::installed, _Solver::installed, _Solver::learnt_pool, _Solver::learnt_why, map_init(), _Solver::noupdate, _Solver::nrules, _Pool::nsolvables, _Solver::orphaned, _Solver::pool, _Solver::problems, queue_init(), _Solver::recommendations, _Solver::recommends_index, _Solver::recommendsmap, _Solver::ruleassertions, _Solver::rules, RULES_BLOCK, _Solver::ruletojob, sat_calloc(), sat_extend_resize(), _Repo::start, _Solver::suggestions, _Solver::suggestsmap, _Solver::trans, transaction_init(), and _Solver::weakruleq.
void solver_free | ( | Solver * | solv | ) |
Definition at line 1268 of file solver.c.
References _Solver::branches, _Solver::choicerules_ref, _Solver::cleandepsmap, _Solver::covenantq, _Solver::decisionmap, _Solver::decisionq, _Solver::decisionq_why, _Solver::droporphanedmap, _Solver::dupinvolvedmap, _Solver::dupmap, _Solver::fixmap, _Solver::job, _Solver::learnt_pool, _Solver::learnt_why, map_free(), _Solver::multiversionupdaters, _Solver::noobsoletes, _Solver::noupdate, _Solver::obsoletes, _Solver::obsoletes_data, _Solver::orphaned, _Solver::problems, queue_free(), _Solver::recommendations, _Solver::recommendsmap, _Solver::ruleassertions, _Solver::rules, _Solver::ruletojob, sat_free(), _Solver::solutions, _Solver::suggestions, _Solver::suggestsmap, _Solver::trans, transaction_free(), _Solver::updatemap, _Solver::watches, _Solver::weakrulemap, and _Solver::weakruleq.
Definition at line 2457 of file solver.c.
References _Solver::allowarchchange, _Solver::allowdowngrade, _Pool::allowselfconflicts, _Solver::allowuninstall, _Solver::allowvendorchange, _Solver::choicerules, _Solver::choicerules_end, _Solver::cleandepsmap, _Queue::count, _Rule::d, _Solver::decisionq, _Solver::distupgrade, _Solver::distupgrade_removeunsupported, _Solver::dontinstallrecommended, _Solver::dontshowinstalledrecommended, _Solver::dosplitprovides, _Solver::droporphanedmap, _Solver::droporphanedmap_all, _Solver::dupmap_all, _Solver::duprules, _Solver::duprules_end, _Queue::elements, _Repo::end, _Solver::featurerules, _Solver::featurerules_end, findrecommendedsuggested(), _Solver::fixmap, _Solver::fixmap_all, _Solver::fixsystem, FOR_JOB_SELECT, FOR_PROVIDES, FOR_REPO_SOLVABLES, IF_POOLDEBUG, _Solver::ignorealreadyrecommended, _Pool::implicitobsoleteusesprovides, _Solver::infarchrules, _Solver::infarchrules_end, _Solver::installed, _Solver::job, _Solver::jobrules, _Solver::jobrules_end, _Solver::learntrules, makeruledecisions(), makewatches(), map_free(), map_grow(), map_init(), MAPSET, MAPTST, _Solvable::name, _Repo::name, _Solver::noinfarchcheck, _Solver::noobsoletes, _Solver::noupdateprovide, _Pool::novirtualconflicts, _Solver::nrules, _Pool::nsolvables, _Pool::obsoleteusescolors, _Pool::obsoleteusesprovides, _Solver::orphaned, _Rule::p, policy_create_obsolete_index(), _Solver::pool, _Repo::pool, pool_createwhatprovides(), POOL_DEBUG, pool_installable(), pool_queuetowhatprovides(), _Solver::problems, _Pool::promoteepoch, queue_empty(), queue_free(), queue_init(), queue_init_clone(), queue_push(), queue_shift(), _Solvable::repo, _Solver::rpmrules_end, _Solver::ruleassertions, _Solver::rules, _Solver::ruletojob, SAT_DEBUG_JOB, SAT_DEBUG_SCHUBI, SAT_DEBUG_SOLVER, SAT_DEBUG_STATS, sat_timems(), _Map::size, _Pool::solvables, solver_addchoicerules(), solver_addduprules(), solver_addinfarchrules(), solver_addjobrule(), solver_addrpmrulesforsolvable(), solver_addrpmrulesforupdaters(), solver_addrpmrulesforweak(), solver_addrule(), solver_addupdaterule(), solver_calculate_noobsmap(), SOLVER_CLEANDEPS, solver_createdupmaps(), solver_disablepolicyrules(), solver_disablerule(), SOLVER_DISTUPGRADE, SOLVER_DROP_ORPHANED, SOLVER_ERASE, solver_freedupmaps(), SOLVER_INSTALL, SOLVER_JOBMASK, SOLVER_LOCK, SOLVER_NOOBSOLETES, solver_prepare_solutions(), solver_printrule(), solver_run_sat(), solver_samerule(), solver_select2str(), SOLVER_SELECTMASK, SOLVER_SOLVABLE, SOLVER_SOLVABLE_ALL, solver_unifyrules(), SOLVER_UPDATE, SOLVER_USERINSTALLED, SOLVER_VERIFY, SOLVER_WEAK, SOLVER_WEAKENDEPS, _Repo::start, _Solver::stats_learned, _Solver::stats_unsolvable, SYSTEMSOLVABLE, _Solver::trans, transaction_calculate(), _Solver::updatemap, _Solver::updatemap_all, _Solver::updaterules, _Solver::updaterules_end, _Solver::updatesystem, _Rule::w2, weaken_solvable_deps(), _Solver::weakrulemap, _Solver::weakruleq, and _Pool::whatprovides.
void solver_run_sat | ( | Solver * | solv, | |
int | disablerules, | |||
int | doweak | |||
) |
Definition at line 1320 of file solver.c.
References analyze_unsolvable(), _Solver::branches, _Solver::cleandepsmap, _Queue::count, _Rule::d, _Solver::decisionmap, _Solver::decisionq, _Solver::decisionq_why, _Repo::disabled, _Solver::droporphanedmap, _Solver::droporphanedmap_all, _Solver::dupmap_all, _Queue::elements, _Repo::end, _Solver::featurerules, FOR_PROVIDES, FOR_RULELITERALS, _Repo::idarraydata, IF_POOLDEBUG, _Solver::ignorealreadyrecommended, _Solver::installed, _Solver::jobrules, map_free(), map_init(), MAPSET, MAPTST, _Solver::multiversionupdaters, _Solvable::name, _Solver::noobsoletes, _Solver::noupdate, _Solver::nrules, _Pool::nsolvables, _Repo::nsolvables, _Solvable::obsoletes, _Solver::orphaned, _Rule::p, policy_filter_unwanted(), POLICY_MODE_CHOOSE, POLICY_MODE_RECOMMEND, _Solver::pool, _Repo::pool, POOL_DEBUG, pool_installable(), propagate(), _Solver::propagate_index, queue_empty(), queue_free(), queue_init(), queue_push(), queue_pushunique(), _Solver::recommendations, _Solvable::recommends, _Solvable::repo, revert(), _Solver::rules, SAT_DEBUG_POLICY, SAT_DEBUG_PROPAGATE, SAT_DEBUG_RESULT, SAT_DEBUG_RULE_CREATION, SAT_DEBUG_SCHUBI, SAT_DEBUG_SOLVER, SAT_DEBUG_STATS, selectandinstall(), setpropagatelearn(), _Map::size, _Solver::solution_callback, _Solver::solution_callback_data, _Pool::solvables, solver_is_supplementing(), solver_printdecisionq(), solver_printdecisions(), solver_printruleclass(), solvid2str(), _Repo::start, _Solver::stats_learned, _Solver::stats_unsolvable, _Solvable::supplements, _Solver::updatemap, _Solver::updatemap_all, _Solver::updaterules, _Rule::w2, and _Pool::whatprovidesdata.
Referenced by refine_suggestion(), and solver_solve().
void solver_reset | ( | Solver * | solv | ) |
Definition at line 798 of file solver.c.
References _Solver::branches, _Queue::count, _Solver::decisionmap, _Solver::decisionq, _Solver::decisionq_why, _Queue::elements, enabledisablelearntrules(), makeruledecisions(), _Solver::pool, _Repo::pool, POOL_DEBUG, _Solver::propagate_index, _Solver::recommendations, _Solver::recommends_index, and SAT_DEBUG_UNSOLVABLE.
Referenced by analyze_unsolvable(), and refine_suggestion().
Definition at line 69 of file solver.c.
References _Reldep::evr, _Reldep::flags, FOR_PROVIDES, GETRELDEP, _Solver::installed, ISRELDEP, _Reldep::name, _Solver::pool, _Repo::pool, REL_AND, REL_NAMESPACE, _Solvable::repo, _Pool::solvables, solver_dep_installed(), and SYSTEMSOLVABLE.
Referenced by dep_possible(), solver_dep_fulfilled(), and solver_dep_installed().
Definition at line 40 of file solver.c.
References _Solver::dosplitprovides, _Reldep::flags, FOR_PROVIDES, GETRELDEP, _Solver::installed, ISRELDEP, _Reldep::name, _Solvable::name, _Solver::pool, _Repo::pool, REL_WITH, _Solvable::repo, and _Pool::solvables.
Referenced by dep_possible(), and solver_dep_fulfilled().
Definition at line 2419 of file solver.c.
References _Queue::count, _Queue::elements, FOR_JOB_SELECT, map_grow(), MAPSET, _Pool::nsolvables, _Map::size, SOLVER_JOBMASK, SOLVER_NOOBSOLETES, and SOLVER_SELECTMASK.
Referenced by solver_solve().
SolverRuleinfo solver_problemruleinfo | ( | Solver * | solv, | |
Queue * | job, | |||
Id | rid, | |||
Id * | depp, | |||
Id * | sourcep, | |||
Id * | targetp | |||
) |
Definition at line 902 of file problems.c.
References solver_ruleinfo().
Definition at line 44 of file solverdebug.c.
Definition at line 310 of file solver.h.
References _Solver::decisionmap, _Reldep::evr, _Reldep::flags, FOR_PROVIDES, GETRELDEP, ISRELDEP, _Reldep::name, _Solver::pool, REL_AND, REL_NAMESPACE, solver_dep_installed(), and solver_splitprovides().
Referenced by solver_is_enhancing(), and solver_is_supplementing().
Definition at line 338 of file solver.h.
References _Repo::idarraydata, _Solvable::repo, solver_dep_fulfilled(), and _Solvable::supplements.
Referenced by findrecommendedsuggested(), prune_to_recommended(), selectandinstall(), and solver_run_sat().
Definition at line 351 of file solver.h.
References _Solvable::enhances, _Repo::idarraydata, _Solvable::repo, and solver_dep_fulfilled().
Referenced by findrecommendedsuggested(), and prune_to_recommended().
Definition at line 2992 of file solver.c.
References map_free(), _Solver::pool, pool_calc_duchanges(), and solver_create_state_maps().
int solver_calc_installsizechange | ( | Solver * | solv | ) |
Definition at line 3008 of file solver.c.
References map_free(), _Solver::pool, pool_calc_installsizechange(), and solver_create_state_maps().
Definition at line 3020 of file solver.c.
References map_free(), _Solver::noobsoletes, _Solver::pool, pool_trivial_installable_noobsoletesmap(), _Map::size, and solver_create_state_maps().
Referenced by solver_printtrivial().
static void solver_create_state_maps | ( | Solver * | solv, | |
Map * | installedmap, | |||
Map * | conflictsmap | |||
) | [inline, static] |
Definition at line 370 of file solver.h.
References _Solver::decisionq, _Solver::pool, and pool_create_state_maps().
Referenced by solver_calc_duchanges(), solver_calc_installsizechange(), and solver_trivial_installable().