From: Michael Vogt <michael.vogt@ubuntu.com>
Date: Wed, 18 Jul 2007 11:33:36 +0000 (+0100)
Subject:   - support task removal too: apt-get remove taskname^
X-Git-Tag: 0.7.21~271^2
X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/394eadc8e13784162fee87c8059bcc214275f4b5?hp=--cc

  - support task removal too: apt-get remove taskname^
    (thanks to Matt Zimmerman reporting this problem)
---

394eadc8e13784162fee87c8059bcc214275f4b5
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 95600ff6d..df0414076 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1507,7 +1507,8 @@ bool DoUpgrade(CommandLine &CmdL)
 bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix, 
 		    bool BrokenFix,
 		    unsigned int& ExpectedInst, 
-		    const char *taskname)
+		    const char *taskname,
+		    bool Remove)
 {
    const char *start, *end;
    pkgCache::PkgIterator Pkg;
@@ -1536,7 +1537,7 @@ bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix,
       buf[end-start] = 0x0;
       if (regexec(&Pattern,buf,0,0,0) != 0)
 	 continue;
-      res &= TryToInstall(Pkg,Cache,Fix,false,true,ExpectedInst);
+      res &= TryToInstall(Pkg,Cache,Fix,Remove,true,ExpectedInst);
       found = true;
    }
    
@@ -1604,7 +1605,7 @@ bool DoInstall(CommandLine &CmdL)
             // tasks must always be confirmed
             ExpectedInst += 1000;
             // see if we can install it
-            TryInstallTask(Cache, Fix, BrokenFix, ExpectedInst, S);
+            TryInstallTask(Cache, Fix, BrokenFix, ExpectedInst, S, Remove);
             continue;
          }
 
diff --git a/debian/changelog b/debian/changelog
index f618b84df..131cdbe90 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ apt (0.7.4) UNRELEASED; urgency=low
   * cmdline/apt-get.cc:
     - fix in the task-install code regexp (thanks to Adam Conrad and
       Colin Watson)
+    - support task removal too: apt-get remove taskname^
+      (thanks to Matt Zimmerman reporting this problem)
 
   [Otavio Salvador]
   * Fix a typo on 0.7.3 changelog entry about g++ (7.3 to 4.3)