summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/algorithms.cc16
-rw-r--r--apt-pkg/depcache.cc4
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(""));