summaryrefslogtreecommitdiff
path: root/doc/external-dependency-solver-protocol.txt
Commit message (Collapse)AuthorAgeFilesLines
* use +0000 instead of UTC by default as timezone in outputDavid Kalnischkies2016-07-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | All apt versions support numeric as well as 3-character timezones just fine and its actually hard to write code which doesn't "accidently" accepts it. So why change? Documenting the Date/Valid-Until fields in the Release file is easy to do in terms of referencing the datetime format used e.g. in the Debian changelogs (policy §4.4). This format specifies only the numeric timezones through, not the nowadays obsolete 3-character ones, so in the interest of least surprise we should use the same format even through it carries a small risk of regression in other clients (which encounter repositories created with apt-ftparchive). In case it is really regressing in practice, the hidden option -o APT::FTPArchive::Release::NumericTimezone=0 can be used to go back to good old UTC as timezone. The EDSP and EIPP protocols use this 'new' format, the text interface used to communicate with the acquire methods does not for compatibility reasons even if none of our methods would be effected and I doubt any other would (in these instances the timezone is 'GMT' as that is what HTTP/1.1 requires). Note that this is only true for apt talking to methods, (libapt-based) methods talking to apt will respond with the 'new' format. It is therefore strongly adviced to support both also in method input.
* edsp: drop privileges before executing solversDavid Kalnischkies2016-06-081-0/+5
| | | | | | | | | | | | | | | Most (if not all) solvers should be able to run perfectly fine without root privileges as they get the entire state they are supposed to work on via stdin and do not perform any action directly, but just pass suggestions on via stdout. The new default is to run them all as _apt hence, but each solver can configure another user if it chooses/must. The security benefits are minimal at best, but it helps preventing silly mistakes (see 35f3ed061f10a25a3fb28bc988fddbb976344c4d) and that is always good. Note that our 'apt' and 'dump' solver already dropped privileges if they had them.
* edsp: add Forbid-{New-Install,Remove} and Upgrade-AllDavid Kalnischkies2016-05-201-5/+22
| | | | | This allows to differentiate properly between 'apt-get upgrade', 'apt upgrade' and 'apt full-upgrade'.
* edsp: warn if unexpected stanzas appear in the solutionDavid Kalnischkies2016-05-121-4/+9
| | | | | | Unexpected are for examples removal requests for versions which aren't installed, installations of already installed versions & requests to install and remove a package at the same time.
* edsp: document unique package identifiersJohannes 'josch' Schauer2016-05-121-5/+10
| | | | | | | | | | Document that package identifiers must be unique (apt only uses the last action for a given identifier) and that install requests do also imply upgrades and downgrades (and thus removal of the old version). This is to prevent that solvers express an upgrade or downgrade instruction as two stanzas: a removal of the old version and an installation of the new version. Instead, a single install stanza is sufficient to express upgrade or downgrade requests.
* edsp: support generic and solver-specific configsDavid Kalnischkies2016-05-101-8/+20
| | | | | | | | | | | | | | 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
* add Source-Version field for EDSPDavid Kalnischkies2015-09-141-0/+6
| | | | | | The syntax of "Source" is different in EDSP compared to the the field of the same name in 'the rest' of Debian, so documented this accordingly and send the version as a new field.
* EDSP doc: some typo and wording fixesDavid Kalnischkies2014-06-181-8/+8
| | | | Git-Dch: Ignore
* EDSP doc: (minor) consistently use 2 blank lines before headingsStefano Zacchiroli2014-06-181-0/+2
| | | | Git-Dch: Ignore
* EDSP doc: clarify that Install/Remove packages are arch-qualifiedStefano Zacchiroli2014-06-181-4/+12
|
* EDSP: add APT-Release field to Package stanzasStefano Zacchiroli2014-05-041-0/+9
|
* EDSP: add Architecture(s) multi-arch fields to the Request stanzaStefano Zacchiroli2014-05-041-1/+12
|
* EDSP: bump protocol version to 0.5Stefano Zacchiroli2014-05-041-2/+2
|
* EDSP doc: fix typo in Request stanza descriptionStefano Zacchiroli2014-05-041-6/+3
|
* rename option APT::Solver::Name to simply APT::SolverDavid Kalnischkies2011-05-171-1/+1
|
* add Dir::Bin::Solvers to enable customization of solver directoryStefano Zacchiroli2011-04-041-6/+10
| | | | EDSP version 0.4
* edsp: rename and drop very-draft warningsStefano Zacchiroli2011-04-041-0/+295