summaryrefslogtreecommitdiff
path: root/doc/libsolv-bindings.txt
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2014-01-21 18:12:32 +0100
committerMichael Schroeder <mls@suse.de>2014-01-21 18:12:32 +0100
commit0165c6663b353f464cbb50130449c1042c01aee1 (patch)
treeef35516109c8f9855bb9fcfe93887fe67a8f8d76 /doc/libsolv-bindings.txt
parent5fd9bd106a9a673bf35f6acc25874c5481cb8493 (diff)
downloadlibsolv-0165c6663b353f464cbb50130449c1042c01aee1.tar.gz
libsolv-0165c6663b353f464cbb50130449c1042c01aee1.tar.bz2
libsolv-0165c6663b353f464cbb50130449c1042c01aee1.zip
document describe_decision
Diffstat (limited to 'doc/libsolv-bindings.txt')
-rw-r--r--doc/libsolv-bindings.txt61
1 files changed, 55 insertions, 6 deletions
diff --git a/doc/libsolv-bindings.txt b/doc/libsolv-bindings.txt
index 1dcfc3f..040b530 100644
--- a/doc/libsolv-bindings.txt
+++ b/doc/libsolv-bindings.txt
@@ -2190,6 +2190,47 @@ The problem can be solved by allowing to replace the package with some
other package that has a different name.
+Reason constants
+
+*SOLVER_REASON_UNRELATED*::
+The package status did not change as it was not related to any job.
+
+*SOLVER_REASON_UNIT_RULE*::
+The package was installed/erased/kept because of a unit rule, i.e. a rule
+where all literals but one were false.
+
+*SOLVER_REASON_KEEP_INSTALLED*::
+The package was chosen when trying to keep as many packages installed as
+possible.
+
+*SOLVER_REASON_RESOLVE_JOB*::
+The decision happened to fulfill a job rule.
+
+*SOLVER_REASON_UPDATE_INSTALLED*::
+The decision happened to fulfill a package update request.
+
+*SOLVER_REASON_CLEANDEPS_ERASE*::
+The package was erased when cleaning up dependencies from other erased
+packages.
+
+*SOLVER_REASON_RESOLVE*::
+The package was installed to fulfill package dependencies.
+
+*SOLVER_REASON_WEAKDEP*::
+The package was installed because of a weak dependency (Recommends or
+Supplements).
+
+*SOLVER_REASON_RESOLVE_ORPHAN*::
+The decision about the package was made when deciding the fate of orphaned
+packages.
+
+*SOLVER_REASON_RECOMMENDED*::
+This is a special case of SOLVER_REASON_WEAKDEP.
+
+*SOLVER_REASON_SUPPLEMENTED*::
+This is a special case of SOLVER_REASON_WEAKDEP.
+
+
=== ATTRIBUTES ===
Pool *pool; /* read only */
@@ -2202,14 +2243,14 @@ Back pointer to pool.
=== METHODS ===
int set_flag(int flag, int value)
- my $oldvalue = $pool->set_flag($flag, $value);
- oldvalue = pool.set_flag(flag, value)
- oldvalue = pool.set_flag(flag, value)
+ my $oldvalue = $solver->set_flag($flag, $value);
+ oldvalue = solver.set_flag(flag, value)
+ oldvalue = solver.set_flag(flag, value)
int get_flag(int flag)
- my $value = $pool->get_flag($flag);
- value = pool.get_flag(flag)
- value = pool.get_flag(flag)
+ my $value = $solver->get_flag($flag);
+ value = solver.get_flag(flag)
+ value = solver.get_flag(flag)
Set/get a solver specific flag. The flags define the policies the solver has
to obey. The flags are explained in the CONSTANTS section of this class.
@@ -2233,6 +2274,14 @@ Return the transaction to implement the calculated package changes. A transactio
is available even if problems were found, this is useful for interactive user
interfaces that show both the job result and the problems.
+ int reason = describe_decision(Solvable *s, Rule *OUTPUT)
+ my ($reason, $rule) = $solver->describe_decision($solvable);
+ (reason, rule) = solver.describe_decision(solvable)
+ (reason, rule) = solver.describe_decision(solvable)
+
+Return the reason why a specific solvable was installed or erased. For most of
+the reasons the rule that triggered the decision is also returned.
+
The Problem Class
-----------------
Problems are the way of the solver to interact with the user. You can simply list