summaryrefslogtreecommitdiff
path: root/cmdline/apt-internal-solver.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2011-05-02 11:51:44 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2011-05-02 11:51:44 +0200
commite876223c704d8cac6246b4aff4bf683fb8b053e3 (patch)
tree1761b7f9d4001bd35a98fd8c070d7b9e65a7429e /cmdline/apt-internal-solver.cc
parent7ca70a9af1bc6af753ee3012d1840d5ddfafe37c (diff)
implement optional Progress report in EDSP
Diffstat (limited to 'cmdline/apt-internal-solver.cc')
-rw-r--r--cmdline/apt-internal-solver.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
index 68489e213..0aa218d52 100644
--- a/cmdline/apt-internal-solver.cc
+++ b/cmdline/apt-internal-solver.cc
@@ -103,11 +103,15 @@ int main(int argc,const char *argv[]) /*{{{*/
FILE* output = stdout;
SetNonBlock(input, false);
+ EDSP::WriteProgress(0, "Start up solver…", output);
+
if (pkgInitSystem(*_config,_system) == false) {
std::cerr << "System could not be initialized!" << std::endl;
return 1;
}
+ EDSP::WriteProgress(1, "Read request…", output);
+
if (WaitFd(input, false, 5) == false)
std::cerr << "WAIT timed out in the resolver" << std::endl;
@@ -118,9 +122,13 @@ int main(int argc,const char *argv[]) /*{{{*/
return 2;
}
+ EDSP::WriteProgress(5, "Read scenario…", output);
+
pkgCacheFile CacheFile;
CacheFile.Open(NULL, false);
+ EDSP::WriteProgress(50, "Apply request on scenario…", output);
+
if (EDSP::ApplyRequest(install, remove, CacheFile) == false) {
std::cerr << "Failed to apply request to depcache!" << std::endl;
return 3;
@@ -146,17 +154,22 @@ int main(int argc,const char *argv[]) /*{{{*/
i != install.end(); ++i)
CacheFile->MarkInstall(CacheFile->FindPkg(*i), true);
+ EDSP::WriteProgress(60, "Call problemresolver on current scenario…", output);
if (Fix.Resolve() == false) {
EDSP::WriteError("An error occured", output);
return 0;
}
+ EDSP::WriteProgress(95, "Write solution…", output);
+
if (EDSP::WriteSolution(CacheFile, output) == false) {
std::cerr << "Failed to output the solution!" << std::endl;
return 4;
}
+ EDSP::WriteProgress(100, "Done", output);
+
bool const Errors = _error->PendingError();
if (_config->FindI("quiet",0) > 0)
_error->DumpErrors(std::cerr);