summaryrefslogtreecommitdiff
path: root/apt-pkg/depcache.cc
Commit message (Collapse)AuthorAgeFilesLines
* cppcheck complains about some possible speed improvements which could beDavid Kalnischkies2011-08-111-14/+14
| | | | | | done on the mirco-optimazation level, so lets fix them: (performance) Possible inefficient checking for emptiness. (performance) Prefer prefix ++/-- operators for non-primitive types.
* * apt-pkg/depcache.cc:David Kalnischkies2011-07-151-1/+1
| | | - change default of APT::AutoRemove::SuggestsImportant to true
* rewrite new and previously satisfied important dependency detection inDavid Kalnischkies2011-05-131-43/+40
| | | | | MarkInstall to be a bit more easy to read and possibily a bit faster - and add a small testcase for these situations to ensure the same behaviour
* move the broken dependency detection above the new recommends detectionDavid Kalnischkies2011-05-121-16/+16
| | | | | as if the recommends can't be installed there is not much sense in checking if it a new recommends or not
* convert a lot of places to use IsNegative instead of checking by handDavid Kalnischkies2011-05-111-18/+7
| | | | for the three different dependencies
* if critical or-group can't be satisfied, exit directly.David Kalnischkies2011-05-111-2/+12
|
* merge with debian-sid branch and 0.8.14.1 releaseDavid Kalnischkies2011-04-201-1/+1
|\ | | | | | | | | | | | | * apt-pkg/depcache.cc: - Really release action groups only once (Closes: #622744) * apt-pkg/acquire-item.cc: - Only try to rename existing Release files (Closes: #622912)
| * apt-pkg/depcache.cc: Really release action groups only once (Closes: #622744)Julian Andres Klode2011-04-181-1/+1
| |
* | * apt-pkg/depcache.cc:David Kalnischkies2011-04-161-2/+2
|/ | | | - really include 'rc' packages in the delete count by fixing a typo which exists since 1999 in the source… (LP: #761175)
* do not change protected packages in autoinstall (Closes: #618848)David Kalnischkies2011-03-261-2/+17
|
* * apt-pkg/depcache.cc:David Kalnischkies2011-03-251-5/+0
| | | - remove pseudo handling leftover from SetReInstall
* reorganize the marker methods a bit by moving the common part to aDavid Kalnischkies2011-03-201-59/+71
| | | | seperate IsModeChangeOk which checks sanity and dpkg holds
* Remove the "pseudopackage" handling of Architecture: all packages forDavid Kalnischkies2011-03-081-303/+1
| | | | | | | | | Multi-Arch; instead, Arch: all packages only satisfy dependencies for the native arch, except where the Arch: all package is declared Multi-Arch: foreign. (Closes: #613584) This has the sideeffect that arch:all packages internally show up as coming from the native arch - so packages with the architecture "all" doesn't exist any longer in the pkgcache
* * apt-pkg/depcache.cc:David Kalnischkies2011-02-171-2/+4
| | | | | | | | - party revert fix in 0.8.11.2 which marked all packages as manual installed if the FromUser bit is set in the MarkInstall call. The default for this bit is true and aptitude depends on the old behavior so the package is only marked as manual if its not marked ("old" behavior) or if automatic installation is enabled - which aptitude disables always (see also #613775)
* * apt-pkg/depcache.cc:David Kalnischkies2011-02-111-3/+2
| | | | | - mark a package which was requested to be installed on commandline always as manual regardless if it is already marked or not as the marker could be lost later by the removal of rdepends (Closes: #612557)
* allow conflicts in the same group again (Closes: #612099)David Kalnischkies2011-02-071-1/+1
|
* remove two unused variables gcc-4.6 reports from depcache.ccDavid Kalnischkies2011-01-121-3/+2
|
* * apt-pkg/contrib/fileutl.cc:David Kalnischkies2011-01-121-2/+2
| | | | - add a RealFileExists method and check that your configuration files are real files to avoid endless loops if not (Closes: #604401)
* check in the DepCache::SetCandidateVersion that the package is marked toDavid Kalnischkies2010-12-051-1/+2
| | | | | | | be installed before setting the InstallVer as otherwise the Sizes states will be confused in some cases - this can happen now as SetCandidateRelease works also on packages which are not installed now (or will never in the final solution)
* * apt-pkg/depcache.cc:David Kalnischkies2010-12-031-0/+161
| | | | | | | - add SetCandidateRelease() to set a candidate version and the candidates of dependencies if needed to a specified release (Closes: #572709) - change pkg/release behavior to use the new SetCandidateRelease so installing packages from experimental or backports is easier
* apply a very simple speed-up in case we try to set the candidate versionDavid Kalnischkies2010-11-301-2/+9
| | | | | of a package to the version which is already the candidate (apt-get does that for all packages it installs for simplicity)
* * apt-pkg/depcache.cc:David Kalnischkies2010-11-101-2/+5
| | | | - don't install previously not installed providers in a try to statisfy a "Breaks: provides" dependency by upgrade
* * apt-pkg/depcache.cc:David Kalnischkies2010-10-021-0/+10
| | | | - do not remove packages which the user requested for installation explicitly while satisfying other install requests (Closes: #598669)
* * apt-pkg/policy.cc:David Kalnischkies2010-09-141-1/+2
| | | | | | - support 100-pinning in Release file with ButAutomaticUpgrades as requested by the backports crew (Closes: #596097) * apt-pkg/deb/deblistparser.cc: - overrule NotAutomatic in case of ButAutomaticUpgrades
* * apt-pkg/depcache.cc:David Kalnischkies2010-08-271-1/+10
| | | | - now that apt-get purge works on 'rc' packages let the MarkDelete pass this purge forward to the non-pseudo package for pseudos
* apt-pkg, methods: Convert users of WriteEmpty to WriteAtomic.Julian Andres Klode2010-08-101-1/+1
|
* * apt-pkg/depcache.cc:Julian Andres Klode2010-08-061-3/+6
| | | | - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591881).
* * apt-pkg/depcache.cc:David Kalnischkies2010-07-141-4/+4
| | | - handle "circular" conflicts for "all" packages correctly
* * apt-pkg/policy.h:David Kalnischkies2010-07-041-2/+2
| | | | - add another round of const& madness as the previous round accidently NOT override the virtual GetCandidateVer() method (Closes: #587725)
* always mark the all package if a pseudo package is marked for installDavid Kalnischkies2010-06-261-0/+4
|
* - use the new MatchAgainstConfig for the DefaultRootSetFuncDavid Kalnischkies2010-06-261-48/+0
| | | | * apt-pkg/contrib/configuration.{cc,h}: - add a wrapper to match strings against configurable regex patterns
* * apt-pkg/depcache.cc:David Kalnischkies2010-06-161-1/+31
| | | | - SetCandidateVer for all pseudo packages - SetReInstall for the "all" package of a pseudo package
* * apt-pkg/pkgcache.h:David Kalnischkies2010-06-091-9/+78
|\ | | | | | | | | | | | | | | | | - switch {,Install-}Size to unsigned long long - deal with long long, not with int to remove 2GB Limit (LP: #250909) - deprecate AddSize with Multiplier as it is unused and switch to boolean instead to handle the sizes more gracefully. - switch i{Download,Usr}Size from double to (un)signed long long * cmdline/apt-get.cc: - use unsigned long long instead of double to store values it gets
| * deprecate AddSize with Multiplier as it is unused and switch toDavid Kalnischkies2010-06-031-2/+71
| | | | | | boolean instead to handle the sizes more gracefully.
| * * apt-pkg/pkgcache.h:David Kalnischkies2010-06-031-7/+7
| | | | | | | | | | - switch {,Install-}Size to unsigned long long * apt-pkg/depcache.cc: - deal with long long, not with int to remove 2GB Limit (LP: #250909)
* | * apt-pkg/depcache.cc:David Kalnischkies2010-05-291-3/+3
| | | | | | - correct "Dangerous iterator usage." pointed out by cppcheck
* | try harder to find the other pseudo versions for autoremove multiarchDavid Kalnischkies2010-05-281-5/+2
| |
* | * apt-pkg/depcache.cc:David Kalnischkies2010-05-281-2/+5
| | | | | | | | - do the autoremove mark process also for required packages to handle these illegally depending on lower priority packages (Closes: #583517)
* | * apt-pkg/deb/debsystem.cc:David Kalnischkies2010-05-281-2/+2
|/ | | - add better config item for extended_states file
* * apt-pkg/depcache.cc:David Kalnischkies2010-05-111-10/+11
| | | - be doublesure that the killer query is empty before starting reinstall
* merge from the debian-sid branchDavid Kalnischkies2010-05-041-2/+2
|\
| * merge from the mvo branchMichael Vogt2010-05-041-2/+2
| |\
| | * * apt-pkg/depcache.cc:Michael Vogt2010-04-281-2/+2
| | | | | | | | | - fix incorrect std::cout usage for debug output
* | | replace »« with '' in the internal error msg to have ascii chars for gettextDavid Kalnischkies2010-05-031-1/+1
| | |
* | | rewrite the pseudo package reinstaller to be more intelligentDavid Kalnischkies2010-04-281-38/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in his package choices The previous implementation tried to install the package for arch A and if this fails B, C and so on. This results in wrong architecture choices for packages which depend on other pseudo packages, so he will now try to install the dependencies first before trying the package itself and only if this fails he tries the next architecture.
* | | * apt-pkg/depcache.cc:David Kalnischkies2010-04-031-2/+5
| | | | | | | | | - "reinstall" the correct version for a killed pseudo package
* | | merge MultiArch-ABI. We don't support MultiArch yet (as most other tools),David Kalnischkies2010-03-181-64/+308
|\ \ \ | | | | | | | | | | | | | | | | but we support the usage of the new ABI so libapt users can start to prepare for MultiArch (Closes: #536029)
| * | | Ensure that for each all package at least one pseudopackage is installedDavid Kalnischkies2010-03-141-9/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing pseudo packages is cool so far, the problem is that we will remove with the not required removing so many pseudo packages that we will have after the remove a few packages with NO installed pseudo package (e.g. metapackages are good candidates) - so we will walk over all these packages and try to find a pseudopackage for this package we can install without breaking something.
| * | | We need to kill also pseudo packages which have no dependency, noDavid Kalnischkies2010-03-011-12/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | installed reverse dependency and which also doesn't provide something. They cause problems if this pseudo packages get new dependencies. As a consequence we also need to recheck the dependencies of a killed pseudo package (and especially the providers of these dependencies) to really kill all non required packages.
| * | | Enable the AutoRemover to talk "Multi-Arch" by marking all pseudoDavid Kalnischkies2010-02-271-63/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | packages in a group if one is marked. The auto-installed flag is from now on Architecture bound: A section without an architecture tag will be treated as applying to all architectures - the next write operation will take care of this by creating separate sections for the architectures.