summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2011-02-17 18:20:23 +0100
committerMichael Vogt <mvo@debian.org>2011-02-17 18:20:23 +0100
commit8cc62d9aa6f308680ee117e93a46605de99a0e98 (patch)
treefade4277e7958dccf3b39e84edb7321ea9d5930c /apt-pkg
parent897e3c7bbc9c516c3c27c6f77b1cabcaab4ef79b (diff)
parente26a777c3219388605445ab9a1ffffc154799248 (diff)
merged from lp:~donkult/apt/sid
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/depcache.cc6
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