about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-05-19T00·24+0100
committerVincent Ambo <tazjin@google.com>2020-05-19T00·24+0100
commit939dd9f8176266add4d88572203739fa74b14fa5 (patch)
treea1458c60656ee8d11651888b3b622039e65d8bca
parentd0c44425e147ab7d38410f400825ad20da15037b (diff)
refactor(3p/nix/libexpr): Replace logging.h with glog r/758
-rw-r--r--third_party/nix/src/libexpr/eval.cc10
-rw-r--r--third_party/nix/src/libexpr/function-trace.cc5
-rw-r--r--third_party/nix/src/libexpr/get-drvs.cc3
-rw-r--r--third_party/nix/src/libexpr/meson.build4
-rw-r--r--third_party/nix/src/libexpr/parser.y19
-rw-r--r--third_party/nix/src/libexpr/primops.cc16
-rw-r--r--third_party/nix/src/libexpr/primops/fetchGit.cc6
-rw-r--r--third_party/nix/src/libexpr/primops/fetchMercurial.cc9
8 files changed, 37 insertions, 35 deletions
diff --git a/third_party/nix/src/libexpr/eval.cc b/third_party/nix/src/libexpr/eval.cc
index 14b600b06e..5aefc120e2 100644
--- a/third_party/nix/src/libexpr/eval.cc
+++ b/third_party/nix/src/libexpr/eval.cc
@@ -16,6 +16,7 @@
 #include "json.hh"
 #include "store-api.hh"
 #include "util.hh"
+#include <glog/logging.h>
 
 #if HAVE_BOEHMGC
 
@@ -232,7 +233,7 @@ void initGC() {
     if (pageSize != -1) size = (pageSize * pages) / 4;  // 25% of RAM
     if (size > maxSize) size = maxSize;
 #endif
-    debug(format("setting initial heap size to %1% bytes") % size);
+    DLOG(INFO) << "setting initial heap size to " << size << " bytes";
     GC_expand_hp(size);
   }
 
@@ -375,7 +376,7 @@ Path EvalState::checkSourcePath(const Path& path_) {
         "access to path '%1%' is forbidden in restricted mode", abspath);
 
   /* Resolve symlinks. */
-  debug(format("checking access to '%s'") % abspath);
+  DLOG(INFO) << "checking access to '" << abspath << "'";
   Path path = canonPath(abspath, true);
 
   for (auto& i : *allowedPaths) {
@@ -689,7 +690,7 @@ void EvalState::evalFile(const Path& path_, Value& v) {
     return;
   }
 
-  printTalkative("evaluating file '%1%'", path2);
+  DLOG(INFO) << "evaluating file '" << path2 << "'";
   Expr* e = nullptr;
 
   auto j = fileParseCache.find(path2);
@@ -1530,8 +1531,7 @@ string EvalState::copyPathToStore(PathSet& context, const Path& path) {
             : store->addToStore(baseNameOf(path), checkSourcePath(path), true,
                                 htSHA256, defaultPathFilter, repair);
     srcToStore[path] = dstPath;
-    printMsg(lvlChatty,
-             format("copied source '%1%' -> '%2%'") % path % dstPath);
+    DLOG(INFO) << "copied source '" << path << "' -> '" << dstPath << "'";
   }
 
   context.insert(dstPath);
diff --git a/third_party/nix/src/libexpr/function-trace.cc b/third_party/nix/src/libexpr/function-trace.cc
index 2bc0d943f3..4f164e6c44 100644
--- a/third_party/nix/src/libexpr/function-trace.cc
+++ b/third_party/nix/src/libexpr/function-trace.cc
@@ -1,17 +1,18 @@
 #include "function-trace.hh"
+#include <glog/logging.h>
 
 namespace nix {
 
 FunctionCallTrace::FunctionCallTrace(const Pos& pos) : pos(pos) {
   auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
   auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
-  printMsg(lvlInfo, "function-trace entered %1% at %2%", pos, ns.count());
+  LOG(INFO) << "function-trace entered " << pos << " at " << ns.count();
 }
 
 FunctionCallTrace::~FunctionCallTrace() {
   auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
   auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
-  printMsg(lvlInfo, "function-trace exited %1% at %2%", pos, ns.count());
+  LOG(INFO) << "function-trace exited " << pos << " at " << ns.count();
 }
 
 }  // namespace nix
diff --git a/third_party/nix/src/libexpr/get-drvs.cc b/third_party/nix/src/libexpr/get-drvs.cc
index cdbcb7d762..b25556b34c 100644
--- a/third_party/nix/src/libexpr/get-drvs.cc
+++ b/third_party/nix/src/libexpr/get-drvs.cc
@@ -4,6 +4,7 @@
 #include "derivations.hh"
 #include "eval-inline.hh"
 #include "util.hh"
+#include <glog/logging.h>
 
 namespace nix {
 
@@ -301,7 +302,7 @@ static void getDerivations(EvalState& state, Value& vIn,
        bound to the attribute with the "lower" name should take
        precedence). */
     for (auto& i : v.attrs->lexicographicOrder()) {
-      debug("evaluating attribute '%1%'", i->name);
+      DLOG(INFO) << "evaluating attribute '" << i->name << "'";
       if (!std::regex_match(std::string(i->name), attrRegex)) continue;
       string pathPrefix2 = addToPath(pathPrefix, i->name);
       if (combineChannels)
diff --git a/third_party/nix/src/libexpr/meson.build b/third_party/nix/src/libexpr/meson.build
index 76f3014388..7ddd4cff4e 100644
--- a/third_party/nix/src/libexpr/meson.build
+++ b/third_party/nix/src/libexpr/meson.build
@@ -39,8 +39,10 @@ libexpr_headers = files(
 
 libexpr_dep_list = [
     gc_dep,
+    glog_dep,
     libdl_dep,
-    libsodium_dep]
+    libsodium_dep,
+]
 
 if sys_name == 'freebsd'
     libexpr_dep_list += libdl_dep
diff --git a/third_party/nix/src/libexpr/parser.y b/third_party/nix/src/libexpr/parser.y
index 967c88d9bc..ddcd1a4dae 100644
--- a/third_party/nix/src/libexpr/parser.y
+++ b/third_party/nix/src/libexpr/parser.y
@@ -17,9 +17,9 @@
 #define BISON_HEADER
 
 #include "util.hh"
-
 #include "nixexpr.hh"
 #include "eval.hh"
+#include <glog/logging.h>
 
 namespace nix {
 
@@ -681,24 +681,23 @@ std::pair<bool, std::string> EvalState::resolveSearchPathElem(const SearchPathEl
             request.unpack = true;
             res = { true, getDownloader()->downloadCached(store, request).path };
         } catch (DownloadError & e) {
-            printError(format("warning: Nix search path entry '%1%' cannot be downloaded, ignoring") % elem.second);
-            res = { false, "" };
+          LOG(WARNING) << "Nix search path entry '" << elem.second << "' cannot be downloaded, ignoring";
+          res = { false, "" };
         }
     } else {
         auto path = absPath(elem.second);
-        if (pathExists(path))
+        if (pathExists(path)) {
             res = { true, path };
-        else {
-            printError(format("warning: Nix search path entry '%1%' does not exist, ignoring") % elem.second);
-            res = { false, "" };
+        } else {
+          LOG(WARNING) << "Nix search path entry '" << elem.second << "' does not exist, ignoring";
+          res = { false, "" };
         }
     }
 
-    debug(format("resolved search path element '%s' to '%s'") % elem.second % res.second);
+    DLOG(INFO) << "resolved search path element '" << elem.second << "' to '" << res.second << "'";
 
     searchPathResolved[elem.second] = res;
     return res;
 }
 
-
-}
+}  // namespace nix
diff --git a/third_party/nix/src/libexpr/primops.cc b/third_party/nix/src/libexpr/primops.cc
index 9d6d4eaba5..05fa9c4828 100644
--- a/third_party/nix/src/libexpr/primops.cc
+++ b/third_party/nix/src/libexpr/primops.cc
@@ -19,6 +19,7 @@
 #include "util.hh"
 #include "value-to-json.hh"
 #include "value-to-xml.hh"
+#include <glog/logging.h>
 
 namespace nix {
 
@@ -139,7 +140,7 @@ static void prim_scopedImport(EvalState& state, const Pos& pos, Value** args,
         env->values[displ++] = attr.value;
       }
 
-      printTalkative("evaluating file '%1%'", realPath);
+      DLOG(INFO) << "evaluating file '" << realPath << "'";
       Expr* e = state.parseExprFromFile(resolveExprPath(realPath), staticEnv);
 
       e->eval(state, *env, v);
@@ -504,10 +505,11 @@ static void prim_deepSeq(EvalState& state, const Pos& pos, Value** args,
 static void prim_trace(EvalState& state, const Pos& pos, Value** args,
                        Value& v) {
   state.forceValue(*args[0]);
-  if (args[0]->type == tString)
-    printError(format("trace: %1%") % args[0]->string.s);
-  else
-    printError(format("trace: %1%") % *args[0]);
+  if (args[0]->type == tString) {
+    DLOG(INFO) << "trace: " << args[0]->string.s;
+  } else {
+    DLOG(INFO)<< "trace: " << *args[0];
+  }
   state.forceValue(*args[1]);
   v = *args[1];
 }
@@ -575,7 +577,6 @@ static void prim_derivationStrict(EvalState& state, const Pos& pos,
   for (auto& i : args[0]->attrs->lexicographicOrder()) {
     if (i->name == state.sIgnoreNulls) continue;
     const string& key = i->name;
-    vomit("processing attribute '%1%'", key);
 
     auto handleHashMode = [&](const std::string& s) {
       if (s == "recursive")
@@ -781,8 +782,7 @@ static void prim_derivationStrict(EvalState& state, const Pos& pos,
   /* Write the resulting term into the Nix store directory. */
   Path drvPath = writeDerivation(state.store, drv, drvName, state.repair);
 
-  printMsg(lvlChatty,
-           format("instantiated '%1%' -> '%2%'") % drvName % drvPath);
+  DLOG(INFO) << "instantiated '" << drvName << "' -> '" << drvPath << "'";
 
   /* Optimisation, but required in read-only mode! because in that
      case we don't actually write store derivations, so we can't
diff --git a/third_party/nix/src/libexpr/primops/fetchGit.cc b/third_party/nix/src/libexpr/primops/fetchGit.cc
index e1edf9a3e5..07a0770a3f 100644
--- a/third_party/nix/src/libexpr/primops/fetchGit.cc
+++ b/third_party/nix/src/libexpr/primops/fetchGit.cc
@@ -7,6 +7,7 @@
 #include "pathlocks.hh"
 #include "primops.hh"
 #include "store-api.hh"
+#include <glog/logging.h>
 
 using namespace std::string_literals;
 
@@ -119,8 +120,7 @@ GitInfo exportGit(ref<Store> store, const std::string& uri,
               (uint64_t)st.st_mtime + settings.tarballTtl <= (uint64_t)now;
   }
   if (doFetch) {
-    Activity act(*logger, lvlTalkative, actUnknown,
-                 fmt("fetching Git repository '%s'", uri));
+    DLOG(INFO) << "fetching Git repository '" << uri << "'";
 
     // FIXME: git stderr messes up our progress indicator, so
     // we're using --quiet for now. Should process its stderr.
@@ -142,7 +142,7 @@ GitInfo exportGit(ref<Store> store, const std::string& uri,
   gitInfo.rev = rev != "" ? rev : chomp(readFile(localRefFile));
   gitInfo.shortRev = std::string(gitInfo.rev, 0, 7);
 
-  printTalkative("using revision %s of repo '%s'", gitInfo.rev, uri);
+  DLOG(INFO) << "using revision " << gitInfo.rev << " of repo '" << uri << "'";
 
   std::string storeLinkName =
       hashString(htSHA512, name + std::string("\0"s) + gitInfo.rev)
diff --git a/third_party/nix/src/libexpr/primops/fetchMercurial.cc b/third_party/nix/src/libexpr/primops/fetchMercurial.cc
index 1ee12542ef..677855e853 100644
--- a/third_party/nix/src/libexpr/primops/fetchMercurial.cc
+++ b/third_party/nix/src/libexpr/primops/fetchMercurial.cc
@@ -1,3 +1,4 @@
+#include <glog/logging.h>
 #include <sys/time.h>
 #include <nlohmann/json.hpp>
 #include <regex>
@@ -36,7 +37,7 @@ HgInfo exportMercurial(ref<Store> store, const std::string& uri,
       /* This is an unclean working tree. So copy all tracked
          files. */
 
-      printTalkative("copying unclean Mercurial working tree '%s'", uri);
+      DLOG(INFO) << "copying unclean Mercurial working tree '" << uri << "'";
 
       HgInfo hgInfo;
       hgInfo.rev = "0000000000000000000000000000000000000000";
@@ -91,8 +92,7 @@ HgInfo exportMercurial(ref<Store> store, const std::string& uri,
                                        "--template", "1"})
                          .killStderr(true))
                   .second == "1")) {
-      Activity act(*logger, lvlTalkative, actUnknown,
-                   fmt("fetching Mercurial repository '%s'", uri));
+      DLOG(INFO) << "fetching Mercurial repository '" << uri << "'";
 
       if (pathExists(cacheDir)) {
         try {
@@ -141,8 +141,7 @@ HgInfo exportMercurial(ref<Store> store, const std::string& uri,
     hgInfo.storePath = json["storePath"];
 
     if (store->isValidPath(hgInfo.storePath)) {
-      printTalkative("using cached Mercurial store path '%s'",
-                     hgInfo.storePath);
+      DLOG(INFO) << "using cached Mercurial store path '" << hgInfo.storePath << "'";
       return hgInfo;
     }