diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-06-25 19:53:58 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-06-27 11:57:13 +0200 |
commit | 262fdd8b5882dcd23f3b4cb266132ad3c326f83a (patch) | |
tree | 08ed255fd7eba2a554506f0f069067ca320cacba /doc/external-installation-planer-protocol.txt | |
parent | 8d1cb6da6e21302c654da3f09de3975af7e4a11f (diff) |
eipp: rename stanza 'Install' to 'Unpack'
Freeing 'Install' for future use as an interface for "dpkg --install",
which is currently not used by any existent planer, so the
implementation of it itself will be delayed until then.
Diffstat (limited to 'doc/external-installation-planer-protocol.txt')
-rw-r--r-- | doc/external-installation-planer-protocol.txt | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/doc/external-installation-planer-protocol.txt b/doc/external-installation-planer-protocol.txt index 2a0bdbee3..916982ca1 100644 --- a/doc/external-installation-planer-protocol.txt +++ b/doc/external-installation-planer-protocol.txt @@ -216,8 +216,47 @@ the user. #### Solution - TODO +A solution is a list of Deb 822 stanzas. Each of them could be an: +- unpack stanza to cause the extraction of a package to the disk + +- configure stanza to cause an unpacked package to be configured and + therefore the installation to be completed + +- remove stanza to cause the removal of a package from the system + +An **unpack stanza** starts with an Unpack field and supports the +following fields: + +- **Unpack:** (mandatory). The value is a package identifier, + referencing one of the package stanzas of the package universe via its + APT-ID field. + +- All fields supported by package stanzas. + +**Configure** and **Remove stanzas** require and support the same +fields with the exception of the Unpack field which is replaced in +these instances with the Configure or Remove field respectively. + +The order of the stanzas is significant (unlike in the EDSP protocol), +with the first stanza being the first performed action. If multiple +stanzas of the same type appear in direct succession the order in such +a set isn't significant through. + +The solution needs to be valid (it is not allowed to configure a package +before it was unpacked, dependency relations must be satisfied, …), but +they don't need to be complete: A planer can and should expect that any +package which wasn't explicitly configured will be configured at the end +automatically. That also means through that a planer is not allowed to +produce a solution in which a package remains unconfigured. + +In terms of expressivity, all 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 recommended that planers either add +unconditionally the fields Package, Version, and Architecture to all +install/remove stanzas or, alternatively, that they support a `--verbose` +command line flag that explicitly enables the output of those fields in +solutions. #### Error |