diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2011-02-17 15:23:50 +0100 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2011-02-17 15:23:50 +0100 |
commit | e26a777c3219388605445ab9a1ffffc154799248 (patch) | |
tree | fade4277e7958dccf3b39e84edb7321ea9d5930c /apt-pkg | |
parent | 897e3c7bbc9c516c3c27c6f77b1cabcaab4ef79b (diff) |
* apt-pkg/depcache.cc:
- 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)
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/depcache.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 0c5b77732..ddbd37699 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1257,8 +1257,10 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, if(FromUser) { - // Set it to manual if it's a new install or already installed - if(P.Status == 2 || Pkg->CurrentVer != 0) + // Set it to manual if it's a new install or already installed, + // but only if its not marked by the autoremover (aptitude depend on this behavior) + // or if we do automatic installation (aptitude never does it) + if(P.Status == 2 || (Pkg->CurrentVer != 0 && (AutoInst == true || P.Marked == false))) P.Flags &= ~Flag::Auto; } else |