summaryrefslogtreecommitdiff
path: root/apt-pkg/edsp.h
Commit message (Collapse)AuthorAgeFilesLines
* Run unifdef -DAPT_{8,9,10,15}_CLEANER_HEADERSJulian Andres Klode2019-06-121-4/+0
|
* edsp: Remove deprecated functionsJulian Andres Klode2019-02-261-19/+0
|
* Reformat and sort all includes with clang-formatJulian Andres Klode2017-07-121-1/+1
| | | | | | | | | | | | | This makes it easier to see which headers includes what. The changes were done by running git grep -l '#\s*include' \ | grep -E '.(cc|h)$' \ | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/' To modify all include lines by adding a space, and then running ./git-clang-format.sh.
* Drop cacheiterators.h includeJulian Andres Klode2017-07-121-1/+0
| | | | | Including cacheiterators.h before pkgcache.h fails because pkgcache.h depends on cacheiterators.h.
* fix various typos reported by spellintianDavid Kalnischkies2017-01-191-1/+1
| | | | | | | | Most of them in (old) code comments. The two instances of user visible string changes the po files of the manpages are fixed up as well. Gbp-Dch: Ignore Reported-By: spellintian
* fix three typos in sources & manpagesChris Leick2016-11-091-1/+1
|
* eipp: let apt make a plan, not make stuff planeDavid Kalnischkies2016-06-291-1/+1
| | | | | | | | | | | | | | Julian noticed on IRC that I fall victim to a lovely false friend by calling referring to a 'planer' all the time even through these are machines to e.g. remove splinters from woodwork ("make stuff plane"). The term I meant is written in german in this way (= with a single n) but in english there are two, aka: 'planner'. As that is unreleased code switching all instances without any transitional provisions. Also the reason why its skipped in changelog. Thanks: Julian Andres Klode Gbp-Dch: Ignore
* eipp: add Allow-Temporary-Remove-of-EssentialsDavid Kalnischkies2016-06-271-0/+1
| | | | | | | | A rather special need option, but the internal planer supports this and we have a testcase for it & sometimes it is hit (as a bug through). The option itself mostly serves as a reminder for implementors that they should be careful with removes and especially temporary removes if they perform any.
* eipp: implement Immediate-Configuration flagDavid Kalnischkies2016-06-271-1/+10
| | | | | | | | | APT has 3 modes: no immediate configuration, all packages are configured immediately and its default mode of configuring essentials and pseudo-essentials immediately only. While this seems like a job of different planers at first, it might be handy to have it as an option, too, in case a planer (like apts internal one) supports different modes where the introduction of individual planers would be counter intuitive.
* eipp: provide the internal planer as an external oneDavid Kalnischkies2016-06-271-3/+18
| | | | | | Testing the current implementation can benefit from being able to be feed an EIPP request and produce a fully compliant response. It is also a great test for EIPP in general.
* eipp: implement version 0.1 of the protocolDavid Kalnischkies2016-06-271-0/+12
| | | | | | | | | | | | | | | | | | | | | | | The very first step in introducing the "external installation planer protocol" (short: EIPP) as part of my GSoC2016 project. The description reads: APT-based tools like apt-get, aptitude, synaptic, … work with the user to figure out how their system should look like after they are done installing/removing packages and their dependencies. The actual installation/removal of packages is done by dpkg with the constrain that dependencies must be fulfilled at any point in time (e.g. to run maintainer scripts). Historically APT has a super micro-management approach to this task which hasn't aged that well over the years mostly ignoring changes in dpkg and growing into an unmaintainable mess hardly anyone can debug and everyone fears to touch – especially as more and more requirements are tacked onto it like handling cycles and triggers, dealing with "important" packages first, package sources on removable media, touch minimal groups to be able to interrupt the process if needed (e.g. unattended-upgrades) which not only sky-rocket complexity but also can be mutually exclusive as you e.g. can't have minimal groups and minimal trigger executions at the same time.
* don't leak EDSP solver output fdDavid Kalnischkies2016-06-101-2/+3
|
* edsp: use a stanza based interface for solution writingDavid Kalnischkies2016-06-041-10/+10
| | | | | | | | EDSP had a WriteSolution method to write out the entire solution based on the inspection of a given pkgDepCache, but that is rather inflexible both for EDSP itself and for other EDSP like-protocols. It seems better to use a smaller scope in printing just a single stanza based on a given version as there is more reuse potential.
* edsp: use a limited scenario based on bool-arrayDavid Kalnischkies2016-05-201-1/+2
| | | | | | | Its more space and runtime efficient to use a boolean set instead of a CacheSet-based implementation. Git-Dch: Ignore
* edsp: add Forbid-{New-Install,Remove} and Upgrade-AllDavid Kalnischkies2016-05-201-9/+18
| | | | | This allows to differentiate properly between 'apt-get upgrade', 'apt upgrade' and 'apt full-upgrade'.
* convert EDSP to be based on FileFd instead of FILE*David Kalnischkies2016-05-201-6/+18
| | | | I doubt there is any non-src:apt usage of these interfaces.
* add messages to our deprecation warnings in libaptDavid Kalnischkies2015-11-271-1/+1
| | | | Git-Dch: Ignore
* some CXXFLAGS housekeepingDavid Kalnischkies2015-08-101-1/+1
| | | | | | More warnings are always better. Git-Dch: Ignore
* add d-pointer, virtual destructors and de-inline de/constructorsDavid Kalnischkies2015-06-161-29/+13
| | | | | | | | To have a chance to keep the ABI for a while we need all three to team up. One of them missing and we might loose, so ensuring that they are available is a very tedious but needed task once in a while. Git-Dch: Ignore
* check exit status of external solversDavid Kalnischkies2014-05-301-3/+3
| | | | | | Solvers are supposed to exit successfully even if they haven't found a solution, but a solver which fails drastically (like e.g. segfaults) should be detected and dealt with accordingly instead of ignored.
* mark optional (private) symbols as hiddenDavid Kalnischkies2014-03-211-5/+6
| | | | | | | | This methods should not be used by anyone expect the library itself as they are helpers for the specific class and therefore perfect candidates for hidding. Git-Dch: Ignore
* cleanup headers and especially #includes everywhereDavid Kalnischkies2014-03-131-1/+4
| | | | | | | | Beside being a bit cleaner it hopefully also resolves oddball problems I have with high levels of parallel jobs. Git-Dch: Ignore Reported-By: iwyu (include-what-you-use)
* warning: unused parameter ‘foo’ [-Wunused-parameter]David Kalnischkies2014-03-131-4/+2
| | | | | Reported-By: gcc -Wunused-parameter Git-Dch: Ignore
* Fix typos in documentation (codespell)Michael Vogt2014-02-221-3/+3
|
* revert 2184.1.3: forward declaration instead of headersDavid Kalnischkies2011-12-131-0/+5
| | | | | The breakage is just to big for now, so guard the change with #ifndef APT_8_CLEANER_HEADERS and be nice to library users
* * apt-pkg/cacheset.cc:David Kalnischkies2011-11-091-3/+1
| | | | - make the cachesets real containers which can embedding any container to be able to use the same interface regardless of set or list usage
* use forward declaration in headers if possible instead of includesDavid Kalnischkies2011-09-191-3/+8
|
* implement proper progress report with OpProgressDavid Kalnischkies2011-05-091-5/+13
|
* implement correct error reportingDavid Kalnischkies2011-05-071-1/+6
|
* add a fair round of doxygen comments to the edsp headerDavid Kalnischkies2011-05-031-3/+151
|
* implement external solver calling for upgrade and dist-upgrade, tooDavid Kalnischkies2011-05-031-0/+3
|
* refactor: move solver execution into his own EDSP methodDavid Kalnischkies2011-05-021-0/+1
|
* implement optional Progress report in EDSPDavid Kalnischkies2011-05-021-0/+1
|
* reorganize WriteScenario to add a WriteLimitedScenario in which a scenarioDavid Kalnischkies2011-04-251-0/+17
| | | | can be limited to a subset of packages with only relevant dependencies
* send the scenario through a pipe to the solver and get the solution backDavid Kalnischkies2011-04-021-1/+1
| | | | The solution is NOT interpreted so far.
* parse also the action flags Upgrade, Dist-Upgrade and alike from the requestDavid Kalnischkies2011-04-011-4/+6
|
* Read and apply install/remove requests correctlyDavid Kalnischkies2011-04-011-1/+3
|
* WriteRequest according to current EDSP draftDavid Kalnischkies2011-03-311-1/+4
|
* rename edspwriter to straight edsp in toplevel as it does more thanDavid Kalnischkies2011-03-311-0/+32
just writing stuff… it also reads and can work for both: - APT talking to an external solver - an external solver (understanding EDSP) talking to APT