aboutsummaryrefslogtreecommitdiff
path: root/src/nix-env
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-08-31 21:11:50 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-08-31 21:11:50 +0000
commit93227ff65c73e726c4ceef0cdd9439e7a4301417 (patch)
treeba7b60ca132c373913dd4a1c42a900009aeb8a77 /src/nix-env
parent5bcdc7e3517e6d679cad1aaba41e4deb76d5a6e7 (diff)
* Eliminate all uses of the global variable ‘store’ from libstore.
This should also fix: nix-instantiate: ./../boost/shared_ptr.hpp:254: T* boost::shared_ptr<T>::operator->() const [with T = nix::StoreAPI]: Assertion `px != 0' failed. which was caused by hashDerivationModulo() calling the ‘store’ object (during store upgrades) before openStore() assigned it.
Diffstat (limited to 'src/nix-env')
-rw-r--r--src/nix-env/nix-env.cc8
-rw-r--r--src/nix-env/profiles.cc2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/nix-env/nix-env.cc b/src/nix-env/nix-env.cc
index 731f91bba..3dfecb2d7 100644
--- a/src/nix-env/nix-env.cc
+++ b/src/nix-env/nix-env.cc
@@ -381,7 +381,7 @@ static void queryInstSources(EvalState & state,
if (isDerivation(path)) {
elem.setDrvPath(path);
- elem.setOutPath(findOutput(derivationFromPath(path), "out"));
+ elem.setOutPath(findOutput(derivationFromPath(*store, path), "out"));
if (name.size() >= drvExtension.size() &&
string(name, name.size() - drvExtension.size()) == drvExtension)
name = string(name, 0, name.size() - drvExtension.size());
@@ -430,7 +430,7 @@ static void printMissing(EvalState & state, const DrvInfos & elems)
targets.insert(i->queryOutPath(state));
}
- printMissing(targets);
+ printMissing(*store, targets);
}
@@ -693,12 +693,12 @@ static void opSet(Globals & globals,
if (drv.queryDrvPath(globals.state) != "") {
PathSet paths = singleton<PathSet>(drv.queryDrvPath(globals.state));
- printMissing(paths);
+ printMissing(*store, paths);
if (globals.dryRun) return;
store->buildDerivations(paths);
}
else {
- printMissing(singleton<PathSet>(drv.queryOutPath(globals.state)));
+ printMissing(*store, singleton<PathSet>(drv.queryOutPath(globals.state)));
if (globals.dryRun) return;
store->ensurePath(drv.queryOutPath(globals.state));
}
diff --git a/src/nix-env/profiles.cc b/src/nix-env/profiles.cc
index 60576f1ae..5cc0d9a1c 100644
--- a/src/nix-env/profiles.cc
+++ b/src/nix-env/profiles.cc
@@ -91,7 +91,7 @@ Path createGeneration(Path profile, Path outPath)
user environment etc. we've just built. */
Path generation;
makeName(profile, num + 1, generation);
- addPermRoot(outPath, generation, false, true);
+ addPermRoot(*store, outPath, generation, false, true);
return generation;
}