summaryrefslogtreecommitdiff
path: root/doc/external-dependency-solver-protocol.txt
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2014-09-10 08:13:18 +0200
committerMichael Vogt <mvo@ubuntu.com>2014-09-10 08:13:18 +0200
commit2fa9c1eee57775309f79b63baa5d165b7b443969 (patch)
tree21907ec26aba35dff2185aa463f38e9ec0686c78 /doc/external-dependency-solver-protocol.txt
parent9bac4dce7c1454b4919800a47ffc5860fd3c7e1b (diff)
parent7d8a4da74eb7f794e4da1216b39d7e2a1259d18f (diff)
Merge branch 'debian/sid' into ubuntu/master
Conflicts: configure.ac debian/changelog doc/apt-verbatim.ent doc/po/apt-doc.pot doc/po/de.po doc/po/es.po doc/po/fr.po doc/po/it.po doc/po/ja.po doc/po/pl.po doc/po/pt.po doc/po/pt_BR.po po/apt-all.pot po/ar.po po/ast.po po/bg.po po/bs.po po/ca.po po/cs.po po/cy.po po/da.po po/de.po po/dz.po po/el.po po/es.po po/eu.po po/fi.po po/fr.po po/gl.po po/hu.po po/it.po po/ja.po po/km.po po/ko.po po/ku.po po/lt.po po/mr.po po/nb.po po/ne.po po/nl.po po/nn.po po/pl.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/sk.po po/sl.po po/sv.po po/th.po po/tl.po po/tr.po po/uk.po po/vi.po po/zh_CN.po po/zh_TW.po
Diffstat (limited to 'doc/external-dependency-solver-protocol.txt')
-rw-r--r--doc/external-dependency-solver-protocol.txt28
1 files changed, 19 insertions, 9 deletions
diff --git a/doc/external-dependency-solver-protocol.txt b/doc/external-dependency-solver-protocol.txt
index 790f2f1ee..14e9528c8 100644
--- a/doc/external-dependency-solver-protocol.txt
+++ b/doc/external-dependency-solver-protocol.txt
@@ -5,6 +5,14 @@ external dependency solvers. The protocol is called APT EDSP, for "APT
External Dependency Solver Protocol".
+## Terminology
+
+In the following we use the term **architecture qualified package name**
+(or *arch-qualified package names* for short) to refer to package
+identifiers of the form "package:arch" where "package" is a package name
+and "arch" a dpkg architecture.
+
+
## Components
- **APT**: we know this one.
@@ -62,6 +70,7 @@ configuration documentation for more, and more up to date, information.
- **Dir::Bin::Solvers**: absolute path of the directory where to look for
external solvers. Defaults to `/usr/lib/apt/solvers`.
+
## Protocol
When configured to use an external solver, APT will resort to it to
@@ -132,9 +141,9 @@ The following **configuration fields** are supported in request stanzas:
The following **action fields** are supported in request stanzas:
- **Install:** (optional, defaults to the empty string) A space
- separated list of package names, with *no version attached*, to
- install. This field denotes a list of packages that the user wants to
- install, usually via an APT `install` request.
+ separated list of arch-qualified package names, with *no version
+ attached*, to install. This field denotes a list of packages that the
+ user wants to install, usually via an APT `install` request.
- **Remove:** (optional, defaults to the empty string) Same syntax of
Install. This field denotes a list of packages that the user wants to
@@ -201,7 +210,7 @@ field. The following fields are supported in package stanzas:
- **APT-Candidate:** (optional, defaults to `no`). Allowed values:
`yes`, `no`. When set to `yes`, the corresponding package is the APT
candidate for installation among all available packages with the same
- name.
+ name and architecture.
- **APT-Automatic:** (optional, defaults to `no`). Allowed values:
`yes`, `no`. When set to `yes`, the corresponding package is marked by
@@ -218,6 +227,7 @@ field. The following fields are supported in package stanzas:
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
@@ -226,11 +236,11 @@ An answer from the external solver to APT is either a *solution* or an
The following invariant on **exit codes** must hold true. When the
external solver is *able to find a solution*, it will write the solution
to standard output and then exit with an exit code of 0. When the
-external solver is *unable to find a solution* (and s aware of that), it
-will write an error to standard output and then exit with an exit code
-of 0. An exit code other than 0 will be interpreted as a solver crash
-with no meaningful error about dependency resolution to convey to the
-user.
+external solver is *unable to find a solution* (and is aware of that),
+it will write an error to standard output and then exit with an exit
+code of 0. An exit code other than 0 will be interpreted as a solver
+crash with no meaningful error about dependency resolution to convey to
+the user.
#### Solution