diff options
author | Stefano Zacchiroli <zack@upsilon.cc> | 2011-03-31 11:49:34 +0200 |
---|---|---|
committer | Stefano Zacchiroli <zack@upsilon.cc> | 2011-03-31 11:49:34 +0200 |
commit | 825780ef6c39e9fd89f761a8a9c873c848fb894d (patch) | |
tree | 70a1dba950b18115ca05d10404742432da8966e9 /doc | |
parent | d911f277f40fec55b80b3c9cb6e805d39c480b59 (diff) |
add indicative Autoremove stanzas in solutions
as suggested by David
EDSP version 0.3
Diffstat (limited to 'doc')
-rw-r--r-- | doc/apt-solver-protocol.mdwn | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/doc/apt-solver-protocol.mdwn b/doc/apt-solver-protocol.mdwn index 85cd98d62..4c520b037 100644 --- a/doc/apt-solver-protocol.mdwn +++ b/doc/apt-solver-protocol.mdwn @@ -1,6 +1,6 @@ ** TENTATIVE PROPOSAL, VERY VERY VERY DRAFT ** -# APT External Dependency Solver Protocol (EDSP) - version 0.2 +# APT External Dependency Solver Protocol (EDSP) - version 0.3 This document describes the communication protocol between APT and external dependency solvers. The protocol is called APT EDSP, for "APT @@ -112,7 +112,7 @@ and followed by a mixture of action and preference 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.2`. +be `EDSP 0.3`. a unique request identifier, such as an UUID. Request fields are mainly used to identify the beginning of a @@ -216,9 +216,11 @@ user. #### Solution -A solution is a list of Deb 822 stanzas. Each of them is either an -install stanza, telling APT to install a specific package, or a remove -stanza, telling APT to remove one. +A solution is a list of Deb 822 stanzas. Each of them could be an +install stanza (telling APT to install a specific package), a remove +stanza (telling APT to remove one), or an autoremove stanza (telling APT +about the *future* possibility of removing a package using the +Autoremove action). An **install stanza** starts with an Install field and supports the following fields: @@ -232,6 +234,14 @@ following fields: **Remove stanzas** are similar to install stanzas, but have **Remove** fields instead of Install fields. +**Autoremove stanzas** are similar to install stanzas, but have +**Autoremove** fields instead of Install fields. Autoremove stanzas +should be output so that APT can inform the user of which packages they +can now autoremove, as a consequence of the executed action. However, +this protocol makes no assumption on the fact that a subsequent +invocation of an Autoremove action will actually remove the very same +packages indicated by Autoremove stanzas in the former solution. + In terms of expressivity, install and remove stanzas can carry one single field each, as APT-IDs are enough to pinpoint packages to be installed/removed. Nonetheless, for protocol readability, it is |