summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-05-10 22:48:31 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2016-05-10 22:48:31 +0200
commiteb1000f6e5fa7035c764d0e7aa9ca71c7aa8d52d (patch)
tree9467822bf59614c6523b92592af860ac34e5bf64 /doc
parent35664152e47a1d4d712fd52e0f0a2dc8ed359d32 (diff)
edsp: support generic and solver-specific configs
The spec was slightly inconsistent if the preferences setting is available only as generic or specific setting & the code only supported the specific one, while for the strict-pinning was only generic… As the usual pattern for apt is to have both options we adapt the spec and code to support both as well. This also adds a purely informal "Solver" field so in case the request is saved in a file, we know to which solver the sent preferences apply. Closes: 823918
Diffstat (limited to 'doc')
-rw-r--r--doc/external-dependency-solver-protocol.txt28
1 files changed, 20 insertions, 8 deletions
diff --git a/doc/external-dependency-solver-protocol.txt b/doc/external-dependency-solver-protocol.txt
index 5757991a8..e2bd95866 100644
--- a/doc/external-dependency-solver-protocol.txt
+++ b/doc/external-dependency-solver-protocol.txt
@@ -58,17 +58,24 @@ configuration documentation for more, and more up to date, information.
- **APT::Solver**: the name of the solver to be used for
dependency solving. Defaults to `internal`
+- **Dir::Bin::Solvers**: absolute path of the directory where to look for
+ external solvers. Defaults to `/usr/lib/apt/solvers`.
+
- **APT::Solver::Strict-Pinning**: whether pinning must be strictly
respected (as the internal solver does) or can be slightly deviated
from. Defaults to `yes`.
-- **APT::Solver::NAME::Preferences** (where NAME is a solver name):
- solver-specific user preference string used during dependency solving,
- when the solver NAME is in use. Check solver-specific documentation
- for what is supported here. Defaults to the empty string.
+- **APT::Solver::Preferences**: user preference string used during
+ dependency solving by the requested solver. Check the documentation
+ of the solver you are using if and what is supported as a value here.
+ Defaults to the empty string.
-- **Dir::Bin::Solvers**: absolute path of the directory where to look for
- external solvers. Defaults to `/usr/lib/apt/solvers`.
+The options **Strict-Pinning** and **Preferences** can also be set for
+a specific solver only via **APT::Solver::NAME::Strict-Pinning** and
+**APT::Solver::NAME::Preferences** respectively where `NAME` is the name
+of the external solver this option should apply to. These options if set
+override the generic options; for simplicity the documentation will
+refer only to the generic options.
## Protocol
@@ -171,8 +178,13 @@ The following **preference fields** are supported in request stanzas:
field comes from the `APT::Solver::Strict-Pinning` configuration
option.
-- **Preferences:** a solver-specific optimization string, usually coming
- from the `APT::Solver::Preferences` configuration option.
+- **Solver:** (optional, defaults to the empty string) a purely
+ informational string specifying to which solver this request was send
+ initially.
+
+- **Preferences:** (optional, defaults to the empty string)
+ a solver-specific optimization string, usually coming from the
+ `APT::Solver::Preferences` configuration option.
#### Package universe