From 80fa0d8a1a77f4dab696dcf11d1908ecda761fab Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 24 Jun 2005 09:36:22 +0000 Subject: * moved most of the real work into depcache::writeStateFile --- apt-pkg/depcache.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'apt-pkg/depcache.cc') diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 552a45a16..c490d89bc 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -151,6 +151,17 @@ bool pkgDepCache::writeStateFile(OpProgress *prog) std::ostringstream ostr; for(pkgCache::PkgIterator pkg=Cache->PkgBegin(); !pkg.end();pkg++) { + + // clear out no longer installed pkg + if(PkgState[pkg->ID].Delete() || pkg.CurrentVer() == NULL) + PkgState[pkg->ID].AutomaticRemove = pkgCache::State::RemoveUnknown; + + // check if we have new information + if(PkgState[pkg->ID].Flags & pkgCache::Flag::Auto) { + std::cout << "pkg: " << pkg.Name() << " is auto-dep" << std::endl; + PkgState[pkg->ID].AutomaticRemove = pkgCache::State::RemoveRequired; + } + if(PkgState[pkg->ID].AutomaticRemove != pkgCache::State::RemoveUnknown) { ostr.str(string("")); ostr << "Package: " << pkg.Name() -- cgit v1.2.3-70-g09d2