summaryrefslogtreecommitdiff
path: root/cmdline/apt-get.cc
diff options
context:
space:
mode:
authorMichael Vogt <egon@bottom>2007-07-23 15:28:32 +0200
committerMichael Vogt <egon@bottom>2007-07-23 15:28:32 +0200
commit4c58917103875358bb30622daf76d58918336968 (patch)
treeb57f9cc8e9c1afd1e50f5e841bda00ca35cf427a /cmdline/apt-get.cc
parent6ae549699856b105e840f8345e917e323d9ec591 (diff)
parent394eadc8e13784162fee87c8059bcc214275f4b5 (diff)
* 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) * Fix a typo on 0.7.3 changelog entry about g++ (7.3 to 4.3) * Fix compilation warnings: - apt-pkg/contrib/configuration.cc: wrong argument type; - apt-pkg/deb/dpkgpm.cc: wrong signess; - apt-pkg-acquire-item.cc: wrong signess and orderned initializers; - methods/https.cc: - type conversion; - unused variable; - changed SetupProxy() method to void; * Simplified HttpMethod::Fetch on http.cc removing Tail variable; * Fix pipeline handling on http.cc (closes: #413324) * Fix building to properly support binNMUs. Thanks to Daniel Schepler <schepler@math.unipd.it> by the patch (closes: #359634) * Fix example for Install-{Recommends,Suggests} options on configure-index example file. Thanks to Peter Eisentraut <peter_e@gmx.net> by the patch (closes: #432223) * fixed compile errors with g++ 4.3 (thanks to
Diffstat (limited to 'cmdline/apt-get.cc')
-rw-r--r--cmdline/apt-get.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index aa54677be..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;
@@ -1519,9 +1520,9 @@ bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix,
// build regexp for the task
char S[300];
- // better: "^Task:.*[^a-z]lamp-server([^a-z]|\n)" ?
- snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*$", taskname);
- regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE);
+ snprintf(S, sizeof(S), "^Task:.*[, ]%s([, ]|$)", taskname);
+ if(regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE) != 0)
+ return _error->Error("Failed to compile task regexp");
bool found = false;
bool res = true;
@@ -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;
}