summaryrefslogtreecommitdiff
path: root/test/integration/test-bug-604222-new-and-autoremove
Commit message (Collapse)AuthorAgeFilesLines
* Propagate protected to already satisfied dependenciesDavid Kalnischkies2020-05-181-13/+8
| | | | | | | | The previous commit deals with negative, now we add the positive side of things as well which makes this a recursive endevour. As we can push the protected flag forward only if a single solution for a dependency exists it is easy for trees to not get it, so if resolving becomes difficult it won't help at all.
* Propagate Protected flag to single-option dependenciesDavid Kalnischkies2020-04-271-1/+2
| | | | | | | | | | | | | | | If a package is protected and has a dependency satisfied only by a single package (or conflicts with a package) this package must be part of the solution and so we can help later actions not exploring dead ends by propagating the protected flag to these "pseudo-protected" packages. An (obscure) bug this can help prevent (to some extend) is shown in test-apt-never-markauto-sections by not causing irreversible autobit transfers. As a sideeffect it seems also to help our crude ShowBroken to display slightly more helpful messages involving the packages which are actually in conflict.
* don't install new deps of candidates for kept back pkgsDavid Kalnischkies2016-11-021-13/+37
| | | | | | | | | | | | | | | | | | | | In effect this is an extension of the 6 years old commit a8dfff90aa740889eb99d00fde5d70908d9fd88a which uses the autoremover to remove packages again from the solution which are no longer needed to be there. Commonly these are dependencies of packages we end up not installed due to problem resolver decisions. Slightly less common is the situation we deal with here: a package which we wanted to upgrade sporting a new dependency, but ended up holding back. The problem is that all versions of an installed reverse dependencies can bring back a "garbage" package – we need to do this as there is nothing inherently wrong in having garbage packages installed or upgrade them, which itself would have garbage dependencies, so just blindly killing all new garbage packages would prevent the upgrade (and actually generate errors). What we should be doing is looking only at the version we will have on the system, disregarding all old/new reverse dependencies. Reported-By: Stuart Prescott (themill) on IRC
* show StateCache flags in Pkg debug prettyprintDavid Kalnischkies2016-05-011-7/+7
| | | | | | | | | | | This basically introduces ~33 flags in the output, but a package can have only ~11 of them displayed at the same time. There is quiet a bit of duplication also (an uninstalled package is by definition a newinstall if its getting installed), but as this is debug output we are better of showing them all in case one of them isn't set in a way it is supposed to be set. Git-Dch: Ignore
* tests: support spaces in path and TMPDIRDavid Kalnischkies2015-12-191-2/+2
| | | | | | | This doesn't allow all tests to run cleanly, but it at least allows to write tests which could run successfully in such environments. Git-Dch: Ignore
* suggest 'apt autoremove' to get right of unneeded packagesDavid Kalnischkies2015-11-041-4/+9
| | | | | | | | | | The bugreport is more conservative in asking for a conditional, but given that this is a message intended to be read by users to be run by users we should suggest using a command intended to be used by users. And while we are at, add sudo to the message – conditional of course. Closes: 801571
* Fix the test suite againJulian Andres Klode2015-08-171-3/+3
| | | | Gbp-Dch: ignore
* implement a more generic ShowList methodDavid Kalnischkies2015-08-101-0/+26
| | | | | | | | | | | | | | | apt-get is displaying various lists of package names, which until now it was building as a string before passing it to ShowList, which inserted linebreaks at fitting points and showed a title if needed, but it never really understood what it was working with. With the help of C++11 the new generic knows not only what it works with, but generates the list on the fly rather than asking for it and potentially discarding parts of the input (= the non-default verbose display). It also doubles as a test for how usable the CacheSets are with C++11. (Not all callers are adapted yet.) Git-Dch: Ignore
* test exitcode as well as string equalityDavid Kalnischkies2015-03-161-5/+5
| | | | | | | | We use test{success,failure} now all over the place in the framework, so its only consequencial to do this in the situations in which we test for a specific output as well. Git-Dch: Ignore
* add chronic-like testsuccess/testfailure helpersDavid Kalnischkies2013-08-121-1/+1
| | | | | | | | | | For many commands the output isn't stable (like then dpkg is called) but the exitcode is, so this helper enhances the common && msgpass || msgfail by generating automatically a msgtest and showing the output of the command in case of failure instead of discarding it unconditionally, the later being chronic-like behaviour Git-Dch: Ignore
* * cmdline/apt-get.cc:David Kalnischkies2012-11-091-1/+1
| | | | - do not call Mark{Install,Delete} from the autoremove code with the FromUser bit set to avoid modifying the auto-installed bit
* * cmdline/apt-get.cc:Bogdan Purcareata2012-04-051-2/+2
| | | | | | - distinguish information about 'apt-get autoremove' based on the number of auto-removed packages both before and after the list of packages (Closes: #665833)
* test/integration/: remove a bunch of "local" statements from the ↵Michael Vogt2011-02-151-1/+1
| | | | shellscript, keep tests running even on failure but log failures
* use apt-mark instead of hand-mangling with the extended_states fileDavid Kalnischkies2011-02-101-3/+3
|
* keep not installed garbage packages uninstalled instead of showingDavid Kalnischkies2010-12-031-0/+66
in the autoremove section and installing those (Closes: #604222)