diff options
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/algorithms.cc | 16 | ||||
-rw-r--r-- | apt-pkg/depcache.cc | 4 |
2 files changed, 12 insertions, 8 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 8626d33dc..3978e7561 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1353,6 +1353,11 @@ bool pkgMarkUsed(pkgDepCache &Cache, InRootSetFunc func) { Cache[p].Marked=false; Cache[p].Garbage=false; + + // debug output + if(_config->FindB("Debug::pkgAutoRemove",false) + && Cache[p].Flags & pkgCache::Flag::Auto) + std::clog << "AutoDep: " << p.Name() << std::endl; } // init vars @@ -1412,14 +1417,13 @@ bool pkgMarkUsed(pkgDepCache &Cache, InRootSetFunc func) { pkgDepCache::StateCache &state=Cache[p]; - if(!state.Marked) + // if it is not marked and it is installed, it's garbage + if(!state.Marked && !p.CurrentVer().end()) { - // mark installed but not yet marked stuff as garbage - if(p->CurrentVer != 0) { - state.Garbage=true; + state.Garbage=true; + if(_config->FindB("Debug::pkgAutoRemove",false)) std::cout << "Garbage: " << p.Name() << std::endl; - } - + #if 0 // mvo: the below bits still needs to be ported // Be sure not to re-delete already deleted packages. diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 81c79d812..9adc4e390 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -127,7 +127,7 @@ bool pkgDepCache::readStateFile(OpProgress *Prog) if(!pkg.end() && !pkg.VersionList().end()) { short reason = section.FindI("Auto-Installed", 0); if(reason > 0) - PkgState[pkg->ID].Flags |= pkgCache::Flag::Auto; + PkgState[pkg->ID].Flags |= Flag::Auto; if(_config->FindB("Debug::pkgAutoRemove",false)) std::cout << "Auto-Installed : " << pkgname << std::endl; amt+=section.size(); @@ -159,7 +159,7 @@ bool pkgDepCache::writeStateFile(OpProgress *prog) std::ostringstream ostr; for(pkgCache::PkgIterator pkg=Cache->PkgBegin(); !pkg.end();pkg++) { - if(PkgState[pkg->ID].Flags & pkgCache::Flag::Auto) { + if(PkgState[pkg->ID].Flags & Flag::Auto) { if(_config->FindB("Debug::pkgAutoRemove",false)) std::clog << "AutoInstal: " << pkg.Name() << std::endl; ostr.str(string("")); |