diff options
author | David Kalnischkies <david@kalnischkies.de> | 2014-05-30 13:13:03 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2014-05-30 13:13:03 +0200 |
commit | 59df9e241d035c9e5ea0859d1b9b0abf70ab1596 (patch) | |
tree | 27b00059d5250ac30a46bf4a99e63b326f77a1e7 /doc | |
parent | 7adaab0430308a17f1db279f0ebbed8068dd4308 (diff) | |
parent | b5ea5d4a5b8f82afb7bbe4c3eee07ae36f2fba9c (diff) |
Merge EDSP 0.5 w/ multi-arch support for external solvers
"I am going to merge it tomorrow…"
Diffstat (limited to 'doc')
-rw-r--r-- | doc/external-dependency-solver-protocol.txt | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/doc/external-dependency-solver-protocol.txt b/doc/external-dependency-solver-protocol.txt index 7a124d8f9..790f2f1ee 100644 --- a/doc/external-dependency-solver-protocol.txt +++ b/doc/external-dependency-solver-protocol.txt @@ -1,4 +1,4 @@ -# APT External Dependency Solver Protocol (EDSP) - version 0.4 +# APT External Dependency Solver Protocol (EDSP) - version 0.5 This document describes the communication protocol between APT and external dependency solvers. The protocol is called APT EDSP, for "APT @@ -110,16 +110,24 @@ Within a dependency solving scenario, a request represents the action on installed packages requested by the user. A request is a single Deb 822 stanza opened by a mandatory Request field -and followed by a mixture of action and preference fields. +and followed by a mixture of action, preference, and global +configuration fields. The value of the **Request:** field is a string describing the EDSP protocol which will be used to communicate. At present, the string must -be `EDSP 0.4`. +be `EDSP 0.5`. Request fields are mainly used to identify the beginning +of a request stanza; their actual values are otherwise not used by the +EDSP protocol. -a unique request identifier, such as an -UUID. Request fields are mainly used to identify the beginning of a -request stanza; their actual values are otherwise not used by the EDSP -protocol. +The following **configuration fields** are supported in request stanzas: + +- **Architecture:** (mandatory) The name of the *native* architecture on + the user machine (see also: `dpkg --print-architecture`) + +- **Architectures:** (optional, defaults to the native architecture) A + space separated list of *all* architectures known to APT (this is + roughly equivalent to the union of `dpkg --print-architecture` and + `dpkg --print-foreign-architectures`) The following **action fields** are supported in request stanzas: @@ -201,6 +209,15 @@ field. The following fields are supported in package stanzas: should be removed by the solver only when the Autoremove action is requested (see Request section). +- **APT-Release:** (optional) The releases the package belongs to, according to + APT. The format of this field is multiline with one value per line and the + first line (the one containing the field name) empty. Each subsequent line + corresponds to one of the releases the package belongs to and looks like + this: `o=Debian,a=unstable,n=sid,l=Debian,c=main`. That is, each release line + is a comma-separated list of "key=value" pairs, each of which denotes a + Release file entry (Origin, Label, Codename, etc.) in the format of + APT_PREFERENCES(5). + ### Answer An answer from the external solver to APT is either a *solution* or an |