summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-07-24 13:43:16 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-07-24 13:43:16 +0000
commit0a0c1fcb4d0e42577ac0c7ac23bd9b908ecde49f (patch)
treec52d0c7f02f6a61d1bc48dbe3474daeca1471b25
parent3b521bb1bd53479896de89e7a24938039f92aace (diff)
downloadguix-0a0c1fcb4d0e42577ac0c7ac23bd9b908ecde49f.tar.gz
* The `-v' flag no longer takes an argument; it should be repeated
  instead (e.g., `-vvvv' for lots of output).  Default is to only
  print error messages.

-rw-r--r--src/fix.cc23
-rw-r--r--src/nix.cc12
-rw-r--r--src/normalise.cc16
-rw-r--r--src/store.cc1
-rw-r--r--src/util.cc4
-rw-r--r--src/util.hh11
6 files changed, 29 insertions, 38 deletions
diff --git a/src/fix.cc b/src/fix.cc
index 8463c0ddb1..10f0e44130 100644
--- a/src/fix.cc
+++ b/src/fix.cc
@@ -118,7 +118,6 @@ Hash hashPackage(EvalState & state, FState fs)
             *i = j->second;
         }
     }
-    debug(printTerm(unparseFState(fs)));
     return hashTerm(unparseFState(fs));
 }
 
@@ -176,6 +175,10 @@ static Expr evalExpr2(EvalState & state, Expr e)
         Hash pkgHash = hashPackage(state, fs);
         FSId pkgId = writeTerm(unparseFState(fs), "");
         state.pkgHashes[pkgId] = pkgHash;
+
+        msg(lvlChatty, format("copied `%1%' -> %2%")
+            % srcPath % (string) pkgId);
+
         return ATmake("FSId(<str>)", ((string) pkgId).c_str());
     }
 
@@ -244,7 +247,6 @@ static Expr evalExpr2(EvalState & state, Expr e)
             canonPath(nixStore + "/" + ((string) outId).c_str() + "-" + name);
         fs.derive.env.push_back(StringPair("out", outPath));
         fs.derive.outputs.push_back(DeriveOutput(outPath, outId));
-        debug(format("%1%: %2%") % (string) outId % name);
 
         /* Write the resulting term into the Nix store directory. */
         Hash pkgHash = outIdGiven
@@ -252,6 +254,10 @@ static Expr evalExpr2(EvalState & state, Expr e)
             : hashPackage(state, fs);
         FSId pkgId = writeTerm(unparseFState(fs), "-d-" + name);
         state.pkgHashes[pkgId] = pkgHash;
+
+        msg(lvlChatty, format("instantiated `%1%' -> %2%")
+            % name % (string) pkgId);
+
         return ATmake("FSId(<str>)", ((string) pkgId).c_str());
     }
 
@@ -285,6 +291,7 @@ static Expr evalExpr(EvalState & state, Expr e)
 static Expr evalFile(EvalState & state, string relPath)
 {
     string path = searchPath(state.searchDirs, relPath);
+    Nest nest(lvlTalkative, format("evaluating file `%1%'") % path);
     Expr e = ATreadFromNamedFile(path.c_str());
     if (!e) 
         throw Error(format("unable to read a term from `%1%'") % path);
@@ -310,16 +317,8 @@ void run(Strings args)
                 throw UsageError(format("argument required in `%1%'") % arg);
             state.searchDirs.push_back(*it++);
         }
-        else if (arg == "--verbose" || arg == "-v") {
-            if (it == args.end()) throw UsageError(
-                format("`%1%' requires an argument") % arg);
-            istringstream str(*it++);
-            int lvl;
-            str >> lvl;
-            if (str.fail()) throw UsageError(
-                format("`%1%' requires an integer argument") % arg);
-            verbosity = (Verbosity) lvl;
-        }
+        else if (arg == "--verbose" || arg == "-v")
+            verbosity = (Verbosity) ((int) verbosity + 1);
         else if (arg[0] == '-')
             throw UsageError(format("unknown flag `%1%`") % arg);
         else
diff --git a/src/nix.cc b/src/nix.cc
index f672c42a80..3345f983fb 100644
--- a/src/nix.cc
+++ b/src/nix.cc
@@ -307,16 +307,8 @@ void run(Strings args)
             op = opVerify;
         else if (arg == "--path" || arg == "-p")
             pathArgs = true;
-        else if (arg == "--verbose" || arg == "-v") {
-            if (it == args.end()) throw UsageError(
-                format("`%1%' requires an argument") % arg);
-            istringstream str(*it++);
-            int lvl;
-            str >> lvl;
-            if (str.fail()) throw UsageError(
-                format("`%1%' requires an integer argument") % arg);
-            verbosity = (Verbosity) lvl;
-        }
+        else if (arg == "--verbose" || arg == "-v")
+            verbosity = (Verbosity) ((int) verbosity + 1);
         else if (arg[0] == '-')
             opFlags.push_back(arg);
         else
diff --git a/src/normalise.cc b/src/normalise.cc
index 6ce73d1acd..80a6152274 100644
--- a/src/normalise.cc
+++ b/src/normalise.cc
@@ -26,7 +26,7 @@ typedef set<FSId> FSIdSet;
 
 Slice normaliseFState(FSId id, FSIdSet pending)
 {
-    Nest nest(lvlDebug, format("normalising fstate %1%") % (string) id);
+    Nest nest(lvlTalkative, format("normalising fstate %1%") % (string) id);
 
     /* Try to substitute $id$ by any known successors in order to
        speed up the rewrite process. */
@@ -80,7 +80,7 @@ Slice normaliseFState(FSId id, FSIdSet pending)
     for (DeriveOutputs::iterator i = fs.derive.outputs.begin();
          i != fs.derive.outputs.end(); i++)
     {
-        debug(format("building %1% in %2%") % (string) i->second % i->first);
+        debug(format("building %1% in `%2%'") % (string) i->second % i->first);
         outPaths[i->first] = i->second;
         inPaths.push_back(i->first);
     }
@@ -94,7 +94,7 @@ Slice normaliseFState(FSId id, FSIdSet pending)
         try {
             expandId(i->second, i->first, "/", pending);
         } catch (Error & e) {
-            debug(format("fast build failed: %1%") % e.what());
+            debug(format("fast build failed for %1%") % e.what());
             fastBuild = false;
             break;
         }
@@ -109,12 +109,12 @@ Slice normaliseFState(FSId id, FSIdSet pending)
                 throw Error(format("path `%1%' exists") % i->first);
 
         /* Run the builder. */
-        debug(format("building..."));
+        msg(lvlChatty, format("building..."));
         runProgram(fs.derive.builder, env);
-        debug(format("build completed"));
+        msg(lvlChatty, format("build completed"));
         
     } else
-        debug(format("skipping build"));
+        msg(lvlChatty, format("fast build succesful"));
 
     /* Check whether the output paths were created, and register each
        one. */
@@ -167,7 +167,7 @@ Slice normaliseFState(FSId id, FSIdSet pending)
 
     fs.type = FState::fsSlice;
     ATerm nf = unparseFState(fs);
-    debug(format("normal form: %1%") % printTerm(nf));
+    msg(lvlVomit, format("normal form: %1%") % printTerm(nf));
     storeSuccessor(id, nf);
 
     return fs.slice;
@@ -206,7 +206,7 @@ void realiseSlice(const Slice & slice, FSIdSet pending)
          i != slice.elems.end(); i++)
     {
         SliceElem elem = *i;
-        debug(format("expanding %1% in %2%") % (string) elem.id % elem.path);
+        debug(format("expanding %1% in `%2%'") % (string) elem.id % elem.path);
         expandId(elem.id, elem.path, "/", pending);
     }
 }
diff --git a/src/store.cc b/src/store.cc
index 50932d8062..fe7e1406f0 100644
--- a/src/store.cc
+++ b/src/store.cc
@@ -167,7 +167,6 @@ bool isInPrefix(const string & path, const string & _prefix)
 string expandId(const FSId & id, const string & target,
     const string & prefix, FSIdSet pending)
 {
-    debug(format("expanding %1%") % (string) id);
     Nest nest(lvlDebug, format("expanding %1%") % (string) id);
 
     Strings paths;
diff --git a/src/util.cc b/src/util.cc
index 8510bb7a63..3c9a31acc1 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -130,7 +130,7 @@ void deletePath(string path)
 }
 
 
-Verbosity verbosity = lvlNormal;
+Verbosity verbosity = lvlError;
 
 static int nestingLevel = 0;
 
@@ -165,7 +165,7 @@ void msg(Verbosity level, const format & f)
 
 void debug(const format & f)
 {
-    msg(lvlDebug, format("debug: %1%") % f.str());
+    msg(lvlDebug, f);
 }
 
 
diff --git a/src/util.hh b/src/util.hh
index 6d87898b5d..2863085c16 100644
--- a/src/util.hh
+++ b/src/util.hh
@@ -73,10 +73,11 @@ void deletePath(string path);
 /* Messages. */
 
 typedef enum { 
-    lvlError = 0, 
-    lvlNormal = 5,
-    lvlDebug = 10,
-    lvlDebugMore = 15
+    lvlError, 
+    lvlTalkative,
+    lvlChatty,
+    lvlDebug,
+    lvlVomit
 } Verbosity;
 
 extern Verbosity verbosity; /* supress msgs > this */
@@ -91,7 +92,7 @@ public:
 };
 
 void msg(Verbosity level, const format & f);
-void debug(const format & f); /* shorthand */
+void debug(const format & f); /* short-hand for msg(lvlDebug, ...) */
 
 
 /* Wrappers arount read()/write() that read/write exactly the