diff options
author | Michael Vogt <egon@bottom> | 2007-07-23 15:28:32 +0200 |
---|---|---|
committer | Michael Vogt <egon@bottom> | 2007-07-23 15:28:32 +0200 |
commit | 4c58917103875358bb30622daf76d58918336968 (patch) | |
tree | b57f9cc8e9c1afd1e50f5e841bda00ca35cf427a /cmdline/apt-get.cc | |
parent | 6ae549699856b105e840f8345e917e323d9ec591 (diff) | |
parent | 394eadc8e13784162fee87c8059bcc214275f4b5 (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.cc | 13 |
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; } |