diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-08-31T21·11+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-08-31T21·11+0000 |
commit | 93227ff65c73e726c4ceef0cdd9439e7a4301417 (patch) | |
tree | ba7b60ca132c373913dd4a1c42a900009aeb8a77 /src/nix-env/nix-env.cc | |
parent | 5bcdc7e3517e6d679cad1aaba41e4deb76d5a6e7 (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/nix-env.cc')
-rw-r--r-- | src/nix-env/nix-env.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nix-env/nix-env.cc b/src/nix-env/nix-env.cc index 731f91bba058..3dfecb2d7313 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)); } |