summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:59:13 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:59:13 +0000
commitd993b35da2160e36a723bfafb6aa266000199a69 (patch)
treead17165b878844f1e186f3778bbcf5f298a7149a
parent3a48630505772d0cf3ae781490331ba8d5f34536 (diff)
Allow an uninstalled package to be marked for removal
Author: jgg Date: 2002-04-26 05:36:43 GMT Allow an uninstalled package to be marked for removal
-rw-r--r--cmdline/apt-get.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index a41c50b0a..229acf13c 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: apt-get.cc,v 1.118 2002/04/02 07:16:24 jgg Exp $
+// $Id: apt-get.cc,v 1.119 2002/04/26 05:36:43 jgg Exp $
/* ######################################################################
apt-get - Cover for dpkg
@@ -927,10 +927,15 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
pkgDepCache::StateCache &State = Cache[Pkg];
if (Remove == true && Pkg->CurrentVer == 0)
{
+ Fix.Clear(Pkg);
+ Fix.Protect(Pkg);
+ Fix.Remove(Pkg);
+
/* We want to continue searching for regex hits, so we return false here
otherwise this is not really an error. */
if (AllowFail == false)
- return false;
+ return false;
+
ioprintf(c1out,_("Package %s is not installed, so not removed\n"),Pkg.Name());
return true;
}
@@ -1032,7 +1037,8 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
bool TryToChangeVer(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
const char *VerTag,bool IsRel)
{
- pkgVersionMatch Match(VerTag,(IsRel == true?pkgVersionMatch::Release:pkgVersionMatch::Version));
+ pkgVersionMatch Match(VerTag,(IsRel == true?pkgVersionMatch::Release :
+ pkgVersionMatch::Version));
pkgCache::VerIterator Ver = Match.Find(Pkg);