rules.h File Reference

Go to the source code of this file.

Classes

struct  _Rule

Defines

#define SOLVER_RULE_TYPEMASK   0xff00

Typedefs

typedef struct _Rule Rule

Enumerations

enum  SolverRuleinfo {
  SOLVER_RULE_UNKNOWN = 0, SOLVER_RULE_RPM = 0x100, SOLVER_RULE_RPM_NOT_INSTALLABLE, SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP,
  SOLVER_RULE_RPM_PACKAGE_REQUIRES, SOLVER_RULE_RPM_SELF_CONFLICT, SOLVER_RULE_RPM_PACKAGE_CONFLICT, SOLVER_RULE_RPM_SAME_NAME,
  SOLVER_RULE_RPM_PACKAGE_OBSOLETES, SOLVER_RULE_RPM_IMPLICIT_OBSOLETES, SOLVER_RULE_RPM_INSTALLEDPKG_OBSOLETES, SOLVER_RULE_UPDATE = 0x200,
  SOLVER_RULE_FEATURE = 0x300, SOLVER_RULE_JOB = 0x400, SOLVER_RULE_JOB_NOTHING_PROVIDES_DEP, SOLVER_RULE_DISTUPGRADE = 0x500,
  SOLVER_RULE_INFARCH = 0x600, SOLVER_RULE_CHOICE = 0x700, SOLVER_RULE_LEARNT = 0x800
}

Functions

static void solver_disablerule (struct _Solver *solv, Rule *r)
static void solver_enablerule (struct _Solver *solv, Rule *r)
Rulesolver_addrule (struct _Solver *solv, Id p, Id d)
void solver_unifyrules (struct _Solver *solv)
int solver_samerule (struct _Solver *solv, Rule *r1, Rule *r2)
void solver_addrpmrulesforsolvable (struct _Solver *solv, Solvable *s, Map *m)
void solver_addrpmrulesforweak (struct _Solver *solv, Map *m)
void solver_addrpmrulesforupdaters (struct _Solver *solv, Solvable *s, Map *m, int allow_all)
void solver_addupdaterule (struct _Solver *solv, Solvable *s, int allow_all)
void solver_addinfarchrules (struct _Solver *solv, Map *addedmap)
void solver_createdupmaps (struct _Solver *solv)
void solver_freedupmaps (struct _Solver *solv)
void solver_addduprules (struct _Solver *solv, Map *addedmap)
void solver_disablepolicyrules (struct _Solver *solv)
void solver_reenablepolicyrules (struct _Solver *solv, int jobidx)
int solver_allruleinfos (struct _Solver *solv, Id rid, Queue *rq)
SolverRuleinfo solver_ruleinfo (struct _Solver *solv, Id rid, Id *fromp, Id *top, Id *depp)
void solver_addchoicerules (struct _Solver *solv)
void solver_disablechoicerules (struct _Solver *solv, Rule *r)

Define Documentation

#define SOLVER_RULE_TYPEMASK   0xff00

Definition at line 71 of file rules.h.


Typedef Documentation

typedef struct _Rule Rule

Enumeration Type Documentation

Enumerator:
SOLVER_RULE_UNKNOWN 
SOLVER_RULE_RPM 
SOLVER_RULE_RPM_NOT_INSTALLABLE 
SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP 
SOLVER_RULE_RPM_PACKAGE_REQUIRES 
SOLVER_RULE_RPM_SELF_CONFLICT 
SOLVER_RULE_RPM_PACKAGE_CONFLICT 
SOLVER_RULE_RPM_SAME_NAME 
SOLVER_RULE_RPM_PACKAGE_OBSOLETES 
SOLVER_RULE_RPM_IMPLICIT_OBSOLETES 
SOLVER_RULE_RPM_INSTALLEDPKG_OBSOLETES 
SOLVER_RULE_UPDATE 
SOLVER_RULE_FEATURE 
SOLVER_RULE_JOB 
SOLVER_RULE_JOB_NOTHING_PROVIDES_DEP 
SOLVER_RULE_DISTUPGRADE 
SOLVER_RULE_INFARCH 
SOLVER_RULE_CHOICE 
SOLVER_RULE_LEARNT 

Definition at line 49 of file rules.h.


Function Documentation

static void solver_disablerule ( struct _Solver solv,
Rule r 
) [inline, static]
static void solver_enablerule ( struct _Solver solv,
Rule r 
) [inline, static]
Rule* solver_addrule ( struct _Solver solv,
Id  p,
Id  d 
)
void solver_unifyrules ( struct _Solver solv  ) 
int solver_samerule ( struct _Solver solv,
Rule r1,
Rule r2 
)

Definition at line 120 of file rules.c.

References _Solver::pool, and unifyrules_sortcmp().

Referenced by solver_solve().

void solver_addrpmrulesforsolvable ( struct _Solver solv,
Solvable s,
Map m 
)

Definition at line 452 of file rules.c.

References addrpmrule(), _Pool::allowselfconflicts, _Solvable::arch, _Solvable::conflicts, _Queue::count, dep2str(), _Solvable::evr, _Solver::fixmap, _Solver::fixmap_all, _Reldep::flags, FOR_PROVIDES, GETRELDEP, id2str(), _Repo::idarraydata, IF_POOLDEBUG, _Pool::implicitobsoleteusesprovides, _Solver::installed, ISRELDEP, makemultiversionconflict(), MAPSET, MAPTST, _Reldep::name, _Solvable::name, _Pool::noinstalledobsoletes, _Solver::noobsoletes, _Pool::nscallback, _Pool::nscallbackdata, _Solvable::obsoletes, _Pool::obsoleteusescolors, _Pool::obsoleteusesprovides, _Solver::pool, pool_colormatch(), POOL_DEBUG, pool_installable(), pool_match_nevr(), pool_whatprovides_ptr(), queue_free(), queue_init_buffer(), queue_push(), queue_shift(), _Solvable::recommends, REL_NAMESPACE, _Solvable::repo, _Solvable::requires, SAT_DEBUG_RULE_CREATION, SAT_DEBUG_SCHUBI, _Map::size, solvable2str(), solvable_selfprovidedep(), _Pool::solvables, SOLVER_RULE_RPM_IMPLICIT_OBSOLETES, SOLVER_RULE_RPM_INSTALLEDPKG_OBSOLETES, SOLVER_RULE_RPM_NOT_INSTALLABLE, SOLVER_RULE_RPM_NOTHING_PROVIDES_DEP, SOLVER_RULE_RPM_PACKAGE_CONFLICT, SOLVER_RULE_RPM_PACKAGE_OBSOLETES, SOLVER_RULE_RPM_PACKAGE_REQUIRES, SOLVER_RULE_RPM_SAME_NAME, SOLVER_RULE_RPM_SELF_CONFLICT, solvid2str(), _Repo::start, _Solvable::suggests, SYSTEMSOLVABLE, and _Pool::whatprovidesdata.

Referenced by solver_addrpmrulesforupdaters(), solver_addrpmrulesforweak(), solver_allruleinfos(), solver_ruleinfo(), and solver_solve().

void solver_addrpmrulesforweak ( struct _Solver solv,
Map m 
)
void solver_addrpmrulesforupdaters ( struct _Solver solv,
Solvable s,
Map m,
int  allow_all 
)
void solver_addupdaterule ( struct _Solver solv,
Solvable s,
int  allow_all 
)
void solver_addinfarchrules ( struct _Solver solv,
Map addedmap 
)
void solver_createdupmaps ( struct _Solver solv  ) 
void solver_freedupmaps ( struct _Solver solv  ) 

Definition at line 1227 of file rules.c.

References _Solver::dupmap, and map_free().

Referenced by solver_solve().

void solver_addduprules ( struct _Solver solv,
Map addedmap 
)
void solver_disablepolicyrules ( struct _Solver solv  ) 
void solver_reenablepolicyrules ( struct _Solver solv,
int  jobidx 
)
int solver_allruleinfos ( struct _Solver solv,
Id  rid,
Queue rq 
)
SolverRuleinfo solver_ruleinfo ( struct _Solver solv,
Id  rid,
Id fromp,
Id top,
Id depp 
)
void solver_addchoicerules ( struct _Solver solv  ) 
void solver_disablechoicerules ( struct _Solver solv,
Rule r 
)
Generated on Mon Dec 12 11:44:13 2011 for satsolver by  doxygen 1.6.3