#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "solver.h"
#include "pooltypes.h"
#include "pool.h"
#include "dirpool.h"
#include "queue.h"
#include "bitmap.h"
#include "evr.h"
#include "solver.h"
Go to the source code of this file.
Functions | |
static int | prune_to_best_version_sortcmp (const void *ap, const void *bp, void *dp) |
static void | prune_to_highest_prio (Pool *pool, Queue *plist) |
static void | prune_to_recommended (Solver *solv, Queue *plist) |
void | prune_to_best_arch (const Pool *pool, Queue *plist) |
void | prune_to_best_version (Pool *pool, Queue *plist) |
void | prune_best_arch_name_version (const Solver *solv, Pool *pool, Queue *plist) |
void | policy_filter_unwanted (Solver *solv, Queue *plist, int mode) |
int | policy_illegal_archchange (Solver *solv, Solvable *s1, Solvable *s2) |
int | policy_illegal_vendorchange (Solver *solv, Solvable *s1, Solvable *s2) |
int | policy_is_illegal (Solver *solv, Solvable *is, Solvable *s, int ignore) |
void | policy_create_obsolete_index (Solver *solv) |
void | policy_findupdatepackages (Solver *solv, Solvable *s, Queue *qs, int allow_all) |
static int prune_to_best_version_sortcmp | ( | const void * | ap, | |
const void * | bp, | |||
void * | dp | |||
) | [static] |
Definition at line 33 of file policy.c.
References id2str(), _Pool::installed, _Solvable::name, _Solvable::repo, _Pool::solvables, and _Repo::subpriority.
Referenced by prune_to_best_version().
Definition at line 79 of file policy.c.
References _Queue::count, _Queue::elements, _Pool::installed, _Repo::priority, _Solvable::repo, and _Pool::solvables.
Referenced by policy_filter_unwanted().
Definition at line 115 of file policy.c.
References _Queue::count, _Solver::decisionq, _Queue::elements, FOR_PROVIDES, _Repo::idarraydata, _Pool::installed, MAPSET, MAPTST, MAPZERO, _Solver::pool, _Solvable::recommends, _Solver::recommends_index, _Solver::recommendsmap, _Solvable::repo, _Pool::solvables, solver_is_enhancing(), solver_is_supplementing(), _Solvable::suggests, and _Solver::suggestsmap.
Referenced by policy_filter_unwanted().
Definition at line 231 of file policy.c.
References _Solvable::arch, _Queue::count, _Queue::elements, _Pool::id2arch, _Pool::lastarch, and _Pool::solvables.
Referenced by prune_best_arch_name_version().
Definition at line 271 of file policy.c.
References _Queue::count, _Queue::elements, _Solvable::evr, evrcmp(), EVRCMP_COMPARE, FOR_PROVIDES, _Repo::idarraydata, _Pool::installed, _Solvable::name, _Solvable::obsoletes, _Pool::obsoleteusescolors, _Pool::obsoleteusesprovides, pool_colormatch(), POOL_DEBUG, pool_match_nevr(), prune_to_best_version_sortcmp(), _Solvable::repo, SAT_DEBUG_POLICY, sat_sort(), solvable2str(), and _Pool::solvables.
Referenced by prune_best_arch_name_version().
Definition at line 365 of file policy.c.
References _Solver::bestSolvableCb, _Queue::count, _Solver::pool, prune_to_best_arch(), and prune_to_best_version().
Referenced by policy_filter_unwanted().
Definition at line 380 of file policy.c.
References _Queue::count, _Solver::dupinvolvedmap, _Solver::dupmap_all, _Queue::elements, _Pool::installed, MAPTST, POLICY_MODE_CHOOSE, POLICY_MODE_SUGGEST, _Solver::pool, prune_best_arch_name_version(), prune_to_highest_prio(), prune_to_recommended(), _Solvable::repo, _Map::size, solvable_identical(), and _Pool::solvables.
Referenced by findrecommendedsuggested(), selectandinstall(), and solver_run_sat().
Definition at line 419 of file policy.c.
References _Solvable::arch, _Solver::archCheckCb, _Pool::id2arch, _Pool::lastarch, and _Solver::pool.
Referenced by policy_findupdatepackages(), and policy_is_illegal().
Definition at line 447 of file policy.c.
References _Solver::pool, pool_vendor2mask(), _Solvable::vendor, and _Solver::vendorCheckCb.
Referenced by policy_findupdatepackages(), and policy_is_illegal().
Definition at line 475 of file policy.c.
References _Solver::allowarchchange, _Solver::allowdowngrade, _Solver::allowvendorchange, _Solvable::arch, _Solvable::evr, evrcmp(), EVRCMP_COMPARE, _Solvable::name, policy_illegal_archchange(), POLICY_ILLEGAL_ARCHCHANGE, POLICY_ILLEGAL_DOWNGRADE, policy_illegal_vendorchange(), POLICY_ILLEGAL_VENDORCHANGE, _Solver::pool, and _Solvable::vendor.
Referenced by jobtodisablelist(), solver_addchoicerules(), and solver_printsolution().
void policy_create_obsolete_index | ( | Solver * | solv | ) |
Definition at line 506 of file policy.c.
References _Repo::end, FOR_PROVIDES, _Repo::idarraydata, _Solver::installed, _Solvable::name, _Pool::nsolvables, _Solvable::obsoletes, _Solver::obsoletes, _Solver::obsoletes_data, _Pool::obsoleteusescolors, _Pool::obsoleteusesprovides, _Solver::pool, pool_colormatch(), POOL_DEBUG, pool_installable(), pool_match_nevr(), _Solvable::repo, sat_calloc(), SAT_DEBUG_STATS, _Pool::solvables, and _Repo::start.
Referenced by solver_solve().
Definition at line 590 of file policy.c.
References _Solver::allowarchchange, _Solver::allowdowngrade, _Solver::allowvendorchange, _Solvable::arch, _Solvable::evr, evrcmp(), EVRCMP_COMPARE, FOR_PROVIDES, _Repo::idarraydata, _Solver::installed, _Solvable::name, _Solver::noupdateprovide, _Solver::obsoletes, _Solvable::obsoletes, _Solver::obsoletes_data, _Pool::obsoleteusescolors, _Pool::obsoleteusesprovides, policy_illegal_archchange(), policy_illegal_vendorchange(), _Solver::pool, pool_colormatch(), pool_match_nevr(), queue_empty(), queue_push(), _Solvable::repo, _Pool::solvables, _Repo::start, _Solver::updateCandidateCb, and _Solvable::vendor.
Referenced by addduppackages(), finddistupgradepackages(), solver_addrpmrulesforupdaters(), and solver_addupdaterule().