Remove cruft from Makefile
[mspang/inapt.git] / inapt.cc
index b115e44..6e235de 100644 (file)
--- a/inapt.cc
+++ b/inapt.cc
@@ -18,7 +18,7 @@
 
 #include "inapt.h"
 #include "util.h"
-#include "acqprogress.h"
+#include "contrib/acqprogress.h"
 
 char *prog = NULL;
 
@@ -28,7 +28,7 @@ static struct option opts[] = {
     { NULL, 0, NULL, '\0' },
 };
 
-bool run_install(pkgCacheFile &cache) {
+static bool run_install(pkgCacheFile &cache) {
    if (_config->FindB("Inapt::Purge", false))
       for (pkgCache::PkgIterator i = cache->PkgBegin(); !i.end(); i++)
          if (!i.Purge() && cache[i].Mode == pkgDepCache::ModeDelete)
@@ -67,11 +67,8 @@ bool run_install(pkgCacheFile &cache) {
 
   bool Failed = false;
   for (pkgAcquire::ItemIterator i = Fetcher.ItemsBegin(); i != Fetcher.ItemsEnd(); i++) {
-     if ((*i)->Status != pkgAcquire::Item::StatDone || (*i)->Complete != true) {
-         fprintf(stderr,("Failed to fetch %s  %s\n"),(*i)->DescURI().c_str(),
-                 (*i)->ErrorText.c_str());
+     if ((*i)->Status != pkgAcquire::Item::StatDone || (*i)->Complete != true)
          Failed = true;
-     }
   }
 
   if (Failed)
@@ -86,7 +83,7 @@ bool run_install(pkgCacheFile &cache) {
   return false;
 }
 
-void run_autoremove(pkgCacheFile &cache) {
+static void run_autoremove(pkgCacheFile &cache) {
     bool purge = _config->FindB("Inapt::Purge", false);
 
     for (pkgCache::PkgIterator i = cache->PkgBegin(); !i.end(); i++) {
@@ -172,8 +169,7 @@ static pkgCache::PkgIterator eval_pkg(inapt_package *package, pkgCacheFile &cach
             std::vector<std::string>::iterator i = package->alternates.begin();
             std::string message = *(i++);
             while (i != package->alternates.end()) {
-                message.append(", ");
-                message.append(*(i++));
+                message.append(", ").append(*(i++));
             }
             _error->Error("%s:%d: No alternative available: %s", package->filename, package->linenum, message.c_str());
         }
@@ -265,7 +261,6 @@ static bool sanity_check(std::vector<inapt_package *> *final_actions, pkgCacheFi
             inapt_package *current = *i;
             _error->Error("Multiple directives for package %s at %s:%d and %s:%d",
                     (*i)->pkg.Name(), first->filename, first->linenum, current->filename, current->linenum);
-            debug("foo %s", (*i)->pkg.Name());
             okay = false;
             continue;
         }
@@ -283,13 +278,12 @@ static bool sanity_check(std::vector<inapt_package *> *final_actions, pkgCacheFi
 }
 
 static void show_breakage(pkgCacheFile &cache) {
-    fprintf(stderr, "fatal: Unable to solve dependencies\n");
-    fprintf(stderr, "The following packages are broken:");
+    std::string broken;
     for (pkgCache::PkgIterator i = cache->PkgBegin(); !i.end(); i++)
         if (cache[i].NowBroken() || cache[i].InstBroken())
-            fprintf(stderr, " %s", i.Name());
-    fprintf(stderr, "\n");
-    exit(1);
+            broken.append(" ").append(i.Name());
+
+    _error->Error("Broken packages:%s", broken.c_str());
 }
 
 static void exec_actions(std::vector<inapt_package *> *final_actions) {
@@ -369,8 +363,10 @@ static void exec_actions(std::vector<inapt_package *> *final_actions) {
             fix.Protect((*i)->pkg);
         fix.Resolve();
 
-        if (cache->BrokenCount())
+        if (cache->BrokenCount()) {
             show_breakage(cache);
+            return;
+        }
     }
 
     cache->MarkAndSweep();
@@ -480,4 +476,6 @@ int main(int argc, char *argv[]) {
        _error->DumpErrors();
         exit(1);
     }
+
+    return 0;
 }