diff options
-rw-r--r-- | cmdline/apt-get.cc | 13 | ||||
-rw-r--r-- | debian/changelog | 3 |
2 files changed, 11 insertions, 5 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 430b1bccb..d1d6ab7b4 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1444,9 +1444,13 @@ bool DoAutomaticRemove(CacheFile &Cache) if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install()) if(Debug) std::cout << "We could delete %s" << Pkg.Name() << std::endl; - - autoremovelist += string(Pkg.Name()) + " "; - autoremoveversions += string(Cache[Pkg].CandVersion) + "\n"; + + // only show stuff in the list that is not yet marked for removal + if(Cache[Pkg].Delete() == false) + { + autoremovelist += string(Pkg.Name()) + " "; + autoremoveversions += string(Cache[Pkg].CandVersion) + "\n"; + } if (doAutoRemove) { if(Pkg.CurrentVer() != 0 && @@ -1697,7 +1701,8 @@ bool DoInstall(CommandLine &CmdL) // see if we need to fix the auto-mark flag // e.g. apt-get install foo // where foo is marked automatic - if(Cache[Pkg].Install() == false && + if(!Remove && + Cache[Pkg].Install() == false && (Cache[Pkg].Flags & pkgCache::Flag::Auto)) { ioprintf(c1out,_("%s set to manual installed.\n"), diff --git a/debian/changelog b/debian/changelog index bb134f780..374331591 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,8 +8,9 @@ apt (0.6.46.4ubuntu10) feisty; urgency=low * cmdline/apt-get.cc: - "apt-get install foo" on a already installed package foo will clean the automatic installed flag + - do not show packages already marked for removal as auto-installed - -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 14 Mar 2007 12:34:46 +0100 + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 14 Mar 2007 13:32:32 +0100 apt (0.6.46.4ubuntu9) feisty; urgency=low |