forked from ocaml/opam
-
Notifications
You must be signed in to change notification settings - Fork 4
/
OpamSolver.html
139 lines (129 loc) · 8.56 KB
/
OpamSolver.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="OpamRepository.html">
<link rel="next" href="OpamSystem.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="OpamAlias" rel="Chapter" href="OpamAlias.html">
<link title="OpamClient" rel="Chapter" href="OpamClient.html">
<link title="OpamCompiler" rel="Chapter" href="OpamCompiler.html">
<link title="OpamFile" rel="Chapter" href="OpamFile.html">
<link title="OpamFilename" rel="Chapter" href="OpamFilename.html">
<link title="OpamFormat" rel="Chapter" href="OpamFormat.html">
<link title="OpamFormula" rel="Chapter" href="OpamFormula.html">
<link title="OpamMisc" rel="Chapter" href="OpamMisc.html">
<link title="OpamPackage" rel="Chapter" href="OpamPackage.html">
<link title="OpamParallel" rel="Chapter" href="OpamParallel.html">
<link title="OpamPath" rel="Chapter" href="OpamPath.html">
<link title="OpamProcess" rel="Chapter" href="OpamProcess.html">
<link title="OpamRepository" rel="Chapter" href="OpamRepository.html">
<link title="OpamSolver" rel="Chapter" href="OpamSolver.html">
<link title="OpamSystem" rel="Chapter" href="OpamSystem.html">
<link title="OpamTypes" rel="Chapter" href="OpamTypes.html">
<link title="OpamVariable" rel="Chapter" href="OpamVariable.html">
<link title="OpamVersion" rel="Chapter" href="OpamVersion.html"><link title="Package actions" rel="Section" href="#2_Packageactions">
<link title="Solver" rel="Section" href="#2_Solver">
<title>OpamSolver</title>
</head>
<body>
<div class="navbar"><a href="OpamRepository.html">Previous</a>
<a href="index.html">Up</a>
<a href="OpamSystem.html">Next</a>
</div>
<center><h1>Module <a href="type_OpamSolver.html">OpamSolver</a></h1></center>
<br>
<pre><span class="keyword">module</span> OpamSolver: <code class="code">sig</code> <a href="OpamSolver.html">..</a> <code class="code">end</code></pre>SAT-solver for package dependencies and conflicts.<br>
<hr width="100%">
<br>
<span id="2_Packageactions"><h2>Package actions</h2></span><br>
<pre><span id="VALstring_of_action"><span class="keyword">val</span> string_of_action</span> : <code class="type"><a href="OpamTypes.html#TYPEaction">OpamTypes.action</a> -> string</code></pre><div class="info">
Pretty-printing of actions<br>
</div>
<pre><span id="TYPEpackage_action"><span class="keyword">type</span> <code class="type"></code>package_action</span> </pre>
<div class="info">
Package with associated build action<br>
</div>
<pre><span id="VALaction"><span class="keyword">val</span> action</span> : <code class="type"><a href="OpamSolver.html#TYPEpackage_action">package_action</a> -> <a href="OpamTypes.html#TYPEaction">OpamTypes.action</a></code></pre><div class="info">
Return the corresponding build action<br>
</div>
<pre><span class="keyword">module</span> <a href="OpamSolver.PA_graph.html">PA_graph</a>: <code class="code">sig</code> <a href="OpamSolver.PA_graph.html">..</a> <code class="code">end</code></pre><div class="info">
Package action graph
</div>
<br>
<span id="2_Solver"><h2>Solver</h2></span><br>
<pre><span id="TYPEsolution"><span class="keyword">type</span> <code class="type"></code>solution</span> = <code class="type">PA_graph.t <a href="OpamTypes.html#TYPEsolution">OpamTypes.solution</a></code> </pre>
<div class="info">
Solver solution<br>
</div>
<pre><span id="VALstring_of_request"><span class="keyword">val</span> string_of_request</span> : <code class="type"><a href="OpamTypes.html#TYPErequest">OpamTypes.request</a> -> string</code></pre><div class="info">
Convert a request to a string<br>
</div>
<pre><span id="VALstats"><span class="keyword">val</span> stats</span> : <code class="type"><a href="OpamSolver.html#TYPEsolution">solution</a> -> <a href="OpamTypes.html#TYPEstats">OpamTypes.stats</a></code></pre><div class="info">
Compute statistics about a solution<br>
</div>
<pre><span id="VALstring_of_stats"><span class="keyword">val</span> string_of_stats</span> : <code class="type"><a href="OpamTypes.html#TYPEstats">OpamTypes.stats</a> -> string</code></pre><div class="info">
Pretty-printing of statistics<br>
</div>
<pre><span id="VALsolution_is_empty"><span class="keyword">val</span> solution_is_empty</span> : <code class="type"><a href="OpamSolver.html#TYPEsolution">solution</a> -> bool</code></pre><div class="info">
Is the solution empty ?<br>
</div>
<pre><span id="VALdelete_or_update"><span class="keyword">val</span> delete_or_update</span> : <code class="type"><a href="OpamSolver.html#TYPEsolution">solution</a> -> bool</code></pre><div class="info">
Does the solution implies deleting or updating a package<br>
</div>
<pre><span id="VALprint_solution"><span class="keyword">val</span> print_solution</span> : <code class="type"><a href="OpamSolver.html#TYPEsolution">solution</a> -> unit</code></pre><div class="info">
Display a solution<br>
</div>
<pre><span id="TYPEpackage"><span class="keyword">type</span> <code class="type"></code>package</span> = <code class="type">Debian.Packages.package</code> </pre>
<div class="info">
Package<br>
</div>
<br><code><span id="TYPEuniverse"><span class="keyword">type</span> <code class="type"></code>universe</span> = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">U</span> <span class="keyword">of</span> <code class="type"><a href="OpamSolver.html#TYPEpackage">package</a> list</code></code></td>
</tr></table>
<div class="info">
Universe of packages<br>
</div>
<br><code><span id="TYPEpackages"><span class="keyword">type</span> <code class="type"></code>packages</span> = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">P</span> <span class="keyword">of</span> <code class="type"><a href="OpamSolver.html#TYPEpackage">package</a> list</code></code></td>
</tr></table>
<div class="info">
Subset of packages<br>
</div>
<pre><span id="VALresolve"><span class="keyword">val</span> resolve</span> : <code class="type"><a href="OpamSolver.html#TYPEuniverse">universe</a> -><br> <a href="OpamTypes.html#TYPErequest">OpamTypes.request</a> -><br> <a href="OpamTypes.html#TYPEpackage_set">OpamTypes.package_set</a> -> (<a href="OpamSolver.html#TYPEsolution">solution</a>, string) <a href="OpamTypes.html#TYPEresult">OpamTypes.result</a></code></pre><div class="info">
Given a description of packages, return a solution preserving the
consistency of the initial description. An empty <code class="code">list</code> : No solution
found. The last argument is the set of installed packages.
<p>
Every element in the solution <code class="code">list</code> satisfies the problem given.
For the ordering, the first element in the list
is obtained by upgrading from its next element.<br>
</div>
<pre><span id="VALget_backward_dependencies"><span class="keyword">val</span> get_backward_dependencies</span> : <code class="type">?depopts:bool -><br> <a href="OpamSolver.html#TYPEuniverse">universe</a> -> <a href="OpamSolver.html#TYPEpackages">packages</a> -> <a href="OpamSolver.html#TYPEpackage">package</a> list</code></pre><div class="info">
Return the recursive dependencies of a package. Note : the given
package exists in the list in input because this list describes
the entire universe. By convention, it also appears in output.
If <code class="code">depopts</code> (= <code class="code">false</code> by default) is set to <code class="code">true</code>,
optional dependencies are added to the dependency relation.
The packages are return in topological order.<br>
</div>
<pre><span id="VALget_forward_dependencies"><span class="keyword">val</span> get_forward_dependencies</span> : <code class="type">?depopts:bool -><br> <a href="OpamSolver.html#TYPEuniverse">universe</a> -> <a href="OpamSolver.html#TYPEpackages">packages</a> -> <a href="OpamSolver.html#TYPEpackage">package</a> list</code></pre><div class="info">
Same as <code class="code">get_backward_dependencies</code> but for forward
dependencies<br>
</div>
</body></html>