summaryrefslogtreecommitdiff
path: root/src/solver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/solver.h')
-rw-r--r--src/solver.h44
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;
/*