diff options
Diffstat (limited to 'src/solver.h')
-rw-r--r-- | src/solver.h | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/src/solver.h b/src/solver.h index 776978c..470b087 100644 --- a/src/solver.h +++ b/src/solver.h @@ -10,6 +10,7 @@ #include "pool.h" #include "source.h" #include "queue.h" +#include "bitmap.h" /* ---------------------------------------------- * Rule @@ -40,32 +41,32 @@ typedef struct solver { Pool *pool; Source *system; - int fixsystem; /* repair errors in rpm dependency graph */ - int allowdowngrade; /* allow to downgrade installed solvable */ - int allowarchchange; /* allow to change architecture of installed solvables */ - int allowuninstall; /* allow removal of system solvables, else keep all installed solvables */ - int updatesystem; /* distupgrade */ - int allowvirtualconflicts; /* false: conflicts on package name, true: conflicts on package provides */ + int fixsystem; /* repair errors in rpm dependency graph */ + int allowdowngrade; /* allow to downgrade installed solvable */ + int allowarchchange; /* allow to change architecture of installed solvables */ + int allowuninstall; /* allow removal of system solvables, else keep all installed solvables */ + int updatesystem; /* distupgrade */ + int allowvirtualconflicts; /* false: conflicts on package name, true: conflicts on package provides */ - Rule *rules; /* all rules */ - Id nrules; /* rpm rules */ + Rule *rules; /* all rules */ + Id nrules; /* rpm rules */ - Id jobrules; /* user rules */ - Id systemrules; /* policy rules, e.g. keep packages installed or update. All literals > 0 */ - Id learntrules; /* learnt rules */ + Id jobrules; /* user rules */ + Id systemrules; /* policy rules, e.g. keep packages installed or update. All literals > 0 */ + Id learntrules; /* learnt rules */ - Id *weaksystemrules; /* please try to install (r->d) */ + Id *weaksystemrules; /* please try to install (r->d) */ - Id *watches; /* Array of rule offsets - * watches has nsolvables*2 entries and is addressed from the middle - * middle-solvable : decision to conflict, offset point to linked-list of rules - * middle+solvable : decision to install: offset point to linked-list of rules - */ + Id *watches; /* Array of rule offsets + * watches has nsolvables*2 entries and is addressed from the middle + * middle-solvable : decision to conflict, offset point to linked-list of rules + * middle+solvable : decision to install: offset point to linked-list of rules + */ /* our decisions: */ Queue decisionq; - Queue decisionq_why; /* index of rule, Offset into rules */ - Id *decisionmap; /* map for all available solvables, > 0: level of decision when installed, < 0 level of decision when conflict */ + Queue decisionq_why; /* index of rule, Offset into rules */ + Id *decisionmap; /* map for all available solvables, > 0: level of decision when installed, < 0 level of decision when conflict */ /* learnt rule history */ Queue learnt_why; @@ -75,7 +76,10 @@ typedef struct solver { Queue problems; - int rc_output; /* output result compatible to redcarpet/zypp testsuite, set == 2 for pure rc (will suppress architecture) */ + Map recommends; /* recommended packages from decisionmap */ + int recommends_index; /* recommended level */ + + int rc_output; /* output result compatible to redcarpet/zypp testsuite, set == 2 for pure rc (will suppress architecture) */ } Solver; /* |