1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-06 21:41:48 +02:00

Add a "root" parameter to local stores

This makes it easier to create a diverted store, i.e.

  NIX_REMOTE="local?root=/tmp/root"

instead of

  NIX_REMOTE="local?real=/tmp/root/nix/store&state=/tmp/root/nix/var/nix" NIX_LOG_DIR=/tmp/root/nix/var/log
This commit is contained in:
Eelco Dolstra 2016-07-27 17:47:18 +02:00
parent 2fad86f361
commit 3eb6217508
5 changed files with 13 additions and 5 deletions

View file

@ -483,6 +483,10 @@ static void opReadLog(Strings opFlags, Strings opArgs)
RunPager pager;
// FIXME: move getting logs into Store.
auto store2 = std::dynamic_pointer_cast<LocalFSStore>(store);
if (!store2) throw Error(format("store %s does not support reading logs") % store->getUri());
for (auto & i : opArgs) {
Path path = useDeriver(store->followLinksToStorePath(i));
@ -493,8 +497,8 @@ static void opReadLog(Strings opFlags, Strings opArgs)
Path logPath =
j == 0
? (format("%1%/%2%/%3%/%4%") % settings.nixLogDir % drvsLogDir % string(baseName, 0, 2) % string(baseName, 2)).str()
: (format("%1%/%2%/%3%") % settings.nixLogDir % drvsLogDir % baseName).str();
? (format("%1%/%2%/%3%/%4%") % store2->logDir % drvsLogDir % string(baseName, 0, 2) % string(baseName, 2)).str()
: (format("%1%/%2%/%3%") % store2->logDir % drvsLogDir % baseName).str();
Path logBz2Path = logPath + ".bz2";
if (pathExists(logPath)) {