Imported Upstream version 0.6.5
[platform/upstream/libsolv.git] / src / solver.h
index 3316e76..49ccec8 100644 (file)
@@ -70,6 +70,10 @@ struct _Solver {
   Id bestrules_end;
   Id *bestrules_pkg;
 
+  Id yumobsrules;                      /* rules from yum obsoletes handling */
+  Id yumobsrules_end;
+  Id *yumobsrules_info;                        /* the dependency for each rule */
+
   Id choicerules;                      /* choice rules (always weak) */
   Id choicerules_end;
   Id *choicerules_ref;
@@ -109,6 +113,7 @@ struct _Solver {
                                         * > 0: level of decision when installed,
                                         * < 0: level of decision when conflict */
 
+  int decisioncnt_jobs;
   int decisioncnt_update;
   int decisioncnt_keep;
   int decisioncnt_resolve;
@@ -159,7 +164,8 @@ struct _Solver {
   int keepexplicitobsoletes;           /* true: honor obsoletes during multiinstall */
   int bestobeypolicy;                  /* true: stay in policy with the best rules */
   int noautotarget;                    /* true: do not assume targeted for up/dup jobs that contain no installed solvable */
-
+  int focus_installed;                 /* true: resolve update rules first */
+  int do_yum_obsoletes;                        /* true: add special yumobs rules */
 
   Map dupmap;                          /* dup these packages*/
   int dupmap_all;                      /* dup all packages */
@@ -187,6 +193,7 @@ struct _Solver {
   Id *instbuddy;                       /* buddies of installed packages */
   int keep_orphans;                    /* how to treat orphans */
   int break_orphans;                   /* how to treat orphans */
+  Queue *brokenorphanrules;            /* broken rules of orphaned packages */
 #endif /* LIBSOLV_INTERNAL */
 };
 
@@ -286,6 +293,8 @@ typedef struct _Solver Solver;
 #define SOLVER_FLAG_DUP_ALLOW_NAMECHANGE       17
 #define SOLVER_FLAG_KEEP_ORPHANS               18
 #define SOLVER_FLAG_BREAK_ORPHANS              19
+#define SOLVER_FLAG_FOCUS_INSTALLED            20
+#define SOLVER_FLAG_YUM_OBSOLETES              21
 
 #define GET_USERINSTALLED_NAMES                        (1 << 0)        /* package names instead if ids */
 #define GET_USERINSTALLED_INVERTED             (1 << 1)        /* autoinstalled */