summaryrefslogtreecommitdiff
path: root/apt-pkg/depcache.cc
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2010-10-04 11:51:47 +0200
committerMichael Vogt <mvo@debian.org>2010-10-04 11:51:47 +0200
commit9fb4483f93ab3e63798ecf6061b7ee44a7e49327 (patch)
tree597dd9ed1fba94cd109b7d0c6e21d603ef7aec45 /apt-pkg/depcache.cc
parent6774b53da5215ae1c3ebe6a3fff496d61cd779f7 (diff)
parentb69968adeab3e04a6e7d68ebf2920b5e608b6fb1 (diff)
merged from donkult
Diffstat (limited to 'apt-pkg/depcache.cc')
-rw-r--r--apt-pkg/depcache.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc
index d893c42d7..0b5d6d8e6 100644
--- a/apt-pkg/depcache.cc
+++ b/apt-pkg/depcache.cc
@@ -1192,6 +1192,16 @@ bool pkgDepCache::IsDeleteOk(PkgIterator const &Pkg,bool rPurge,
std::clog << OutputInDepth(Depth) << "Hold prevents MarkDelete of " << Pkg << " FU=" << FromUser << std::endl;
return false;
}
+ else if (FromUser == false && Pkg->CurrentVer == 0)
+ {
+ StateCache &P = PkgState[Pkg->ID];
+ if (P.InstallVer != 0 && P.Status == 2 && (P.Flags & Flag::Auto) != Flag::Auto)
+ {
+ if (DebugMarker == true)
+ std::clog << OutputInDepth(Depth) << "Manual install request prevents MarkDelete of " << Pkg << std::endl;
+ return false;
+ }
+ }
return true;
}
/*}}}*/