aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am2
-rw-r--r--src/fix.cc4
-rw-r--r--src/fstate.cc (renamed from src/eval.cc)4
-rw-r--r--src/fstate.hh (renamed from src/eval.hh)0
-rw-r--r--src/nix.cc4
-rw-r--r--src/store.cc (renamed from src/values.cc)63
-rw-r--r--src/store.hh (renamed from src/values.hh)0
7 files changed, 17 insertions, 60 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 22b27d88a..5488e133a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,7 +20,7 @@ test_LDADD = libnix.a -ldb_cxx-4 -lATerm
noinst_LIBRARIES = libnix.a
libnix_a_SOURCES = util.cc hash.cc archive.cc md5.c \
- eval.cc values.cc globals.cc db.cc
+ fstate.cc store.cc globals.cc db.cc
install-data-local:
$(INSTALL) -d $(localstatedir)/nix
diff --git a/src/fix.cc b/src/fix.cc
index 33bcdd9a1..fdf12ffef 100644
--- a/src/fix.cc
+++ b/src/fix.cc
@@ -2,8 +2,8 @@
#include <iostream>
#include "globals.hh"
-#include "eval.hh"
-#include "values.hh"
+#include "fstate.hh"
+#include "store.hh"
#include "shared.hh"
diff --git a/src/eval.cc b/src/fstate.cc
index 354ecb6cc..8003a1b38 100644
--- a/src/eval.cc
+++ b/src/fstate.cc
@@ -7,9 +7,9 @@
#include <unistd.h>
#include <fcntl.h>
-#include "eval.hh"
+#include "fstate.hh"
#include "globals.hh"
-#include "values.hh"
+#include "store.hh"
#include "db.hh"
diff --git a/src/eval.hh b/src/fstate.hh
index b04588e7b..b04588e7b 100644
--- a/src/eval.hh
+++ b/src/fstate.hh
diff --git a/src/nix.cc b/src/nix.cc
index f2d00394f..dc9d04148 100644
--- a/src/nix.cc
+++ b/src/nix.cc
@@ -1,8 +1,8 @@
#include <iostream>
#include "globals.hh"
-#include "values.hh"
-#include "eval.hh"
+#include "store.hh"
+#include "fstate.hh"
#include "archive.hh"
#include "shared.hh"
diff --git a/src/values.cc b/src/store.cc
index 5db04036c..68a1cd1e2 100644
--- a/src/values.cc
+++ b/src/store.cc
@@ -3,7 +3,7 @@
#include <sys/types.h>
#include <sys/wait.h>
-#include "values.hh"
+#include "store.hh"
#include "globals.hh"
#include "db.hh"
#include "archive.hh"
@@ -105,28 +105,6 @@ void addToStore(string srcPath, string & dstPath, Hash & hash)
}
-#if 0
-/* Download object referenced by the given URL into the sources
- directory. Return the file name it was downloaded to. */
-string fetchURL(string url)
-{
- string filename = baseNameOf(url);
- string fullname = nixSourcesDir + "/" + filename;
- struct stat st;
- if (stat(fullname.c_str(), &st)) {
- cerr << "fetching " << url << endl;
- /* !!! quoting */
- string shellCmd =
- "cd " + nixSourcesDir + " && wget --quiet -N \"" + url + "\"";
- int res = system(shellCmd.c_str());
- if (WEXITSTATUS(res) != 0)
- throw Error("cannot fetch " + url);
- }
- return fullname;
-}
-#endif
-
-
void deleteFromStore(const string & path)
{
string prefix = nixStore + "/";
@@ -139,37 +117,16 @@ void deleteFromStore(const string & path)
string queryFromStore(Hash hash)
{
- bool checkedNet = false;
-
- while (1) {
-
- string fn, url;
-
- if (queryDB(nixDB, dbRefs, hash, fn)) {
+ string fn, url;
- /* Verify that the file hasn't changed. !!! race !!! slow */
- if (hashPath(fn) != hash)
- throw Error("file " + fn + " is stale");
-
- return fn;
- }
-
- throw Error("a file with hash " + (string) hash + " is required, "
- "but it is not known to exist locally or on the network");
-#if 0
- if (checkedNet)
- throw Error("consistency problem: file fetched from " + url +
- " should have hash " + (string) hash + ", but it doesn't");
-
- if (!queryDB(nixDB, dbNetSources, hash, url))
- throw Error("a file with hash " + (string) hash + " is required, "
- "but it is not known to exist locally or on the network");
-
- checkedNet = true;
-
- fn = fetchURL(url);
+ if (queryDB(nixDB, dbRefs, hash, fn)) {
- setDB(nixDB, dbRefs, hash, fn);
-#endif
+ /* Verify that the file hasn't changed. !!! race !!! slow */
+ if (hashPath(fn) != hash)
+ throw Error("file " + fn + " is stale");
+
+ return fn;
}
+
+ throw Error(format("don't know a path with hash `%1%'") % (string) hash);
}
diff --git a/src/values.hh b/src/store.hh
index b96fa30ba..b96fa30ba 100644
--- a/src/values.hh
+++ b/src/store.hh