lix/src/libstore
regnat 04b113f6cb Fix nix log with CA derivations
Fix #6209

When trying to run `nix log <installable>`, try first to resolve the derivation pointed to
by `<installable>` as it is the resolved one that holds the build log.

This has a couple of shortcomings:
1. It’s expensive as it requires re-reading the derivation
2. It’s brittle because if the derivation doesn’t exist anymore or can’t
   be resolved (which is the case if any one of its build inputs is missing),
   then we can’t access the log anymore

However, I don’t think we can do better (at least not right now).
The alternatives I see are:
1. Copy the build log for the un-resolved derivation. But that means a
   lot of duplication
2. Store the results of the resolving in the db. Which might be the best
   long-term solution, but leads to a whole new class of potential
   issues.
2022-12-08 16:03:20 -05:00
..
build Remove repeat and enforce-determinism options 2022-12-07 11:36:48 +01:00
builtins moveFile -> renameFile 2022-08-03 10:27:25 +02:00
tests Allow selecting derivation outputs using 'installable!outputs' 2022-05-03 13:43:52 +02:00
binary-cache-store.cc Fix nix log with CA derivations 2022-12-08 16:03:20 -05:00
binary-cache-store.hh Implement BinaryCacheStore::queryPathFromHashPart() 2022-10-18 17:48:09 +02:00
build-result.hh Get CPU stats from the cgroup 2022-11-18 13:40:59 +01:00
builtins.hh buildenv: Eliminate global variables, other cleanup 2020-03-24 14:06:47 +01:00
ca-specific-schema.sql ca: add sqlite index on RealisationsRefs(realisationReference) 2022-04-21 10:06:39 +02:00
content-address.cc Fix use after free in content-address.cc 2021-11-23 16:15:34 +01:00
content-address.hh Add ContentAddressMethod and parse/render it 2020-09-17 20:21:04 +02:00
crypto.cc Make sodium a required dependency 2021-01-06 17:56:53 +01:00
crypto.hh crypto.cc: API cleanup and add generate() / to_string() methods 2021-01-06 17:04:46 +01:00
daemon.cc Remove repeat and enforce-determinism options 2022-12-07 11:36:48 +01:00
daemon.hh Add missing #pragma once 2020-10-06 10:40:07 +02:00
derivations.cc Get rid of most .at calls (#6393) 2022-05-04 07:44:32 +02:00
derivations.hh Rename 'pure' -> 'sandboxed' for consistency 2022-03-31 16:12:25 +02:00
derived-path.cc nix build --json: Include build statistics 2022-11-21 12:06:01 +01:00
derived-path.hh nix build --json: Include build statistics 2022-11-21 12:06:01 +01:00
dummy-store.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
export-import.cc Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
filetransfer.cc Remove a useless debug message in filetransfer.cc 2022-09-19 08:42:43 +02:00
filetransfer.hh doc: rephrase connect-timeout help message 2022-04-17 18:17:37 -05:00
fs-accessor.hh Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
gc-store.hh Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
gc.cc Fix random client failures during GC server shutdown 2022-11-27 12:57:18 +01:00
globals.cc Split auto UID allocation from cgroups 2022-11-08 16:03:42 +01:00
globals.hh Remove repeat and enforce-determinism options 2022-12-07 11:36:48 +01:00
http-binary-cache-store.cc HttpBinaryCacheStore::getFile(): Don't throw an exception 2022-05-30 13:24:04 +02:00
legacy-ssh-store.cc Remove repeat and enforce-determinism options 2022-12-07 11:36:48 +01:00
local-binary-cache-store.cc moveFile -> renameFile 2022-08-03 10:27:25 +02:00
local-fs-store.cc Fix nix log with CA derivations 2022-12-08 16:03:20 -05:00
local-fs-store.hh Factor out a LogStore interface 2022-03-11 13:32:16 +00:00
local-store.cc Fix indentation 2022-11-21 11:12:45 +01:00
local-store.hh Merge remote-tracking branch 'origin/master' into auto-uid-allocation 2022-11-03 17:43:40 +01:00
local.mk libstore: link to aws-crt-cpp 2022-11-12 14:34:23 +01:00
lock.cc Check that auto-allocated UIDs don't clash with existing accounts 2022-11-28 20:49:17 +01:00
lock.hh AutoUserLock: If sandboxing is disabled, use the build users group 2022-11-21 12:55:49 +01:00
log-store.hh Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
machines.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
machines.hh Remove std::string alias 2022-02-21 16:37:25 +01:00
make-content-addressed.cc Add a test for fetchClosure and 'nix store make-content-addressed' 2022-03-24 21:33:33 +01:00
make-content-addressed.hh fetchClosure: Allow a path to be rewritten to CA on the fly 2022-03-24 21:33:33 +01:00
misc.cc Get rid of most .at calls (#6393) 2022-05-04 07:44:32 +02:00
names.cc return string_views from forceString* 2022-01-27 17:15:43 +01:00
names.hh Remove std::string alias 2022-02-21 16:37:25 +01:00
nar-accessor.cc Replace src/libutil/json.cc with nlohmann json generation 2022-11-16 16:50:50 +01:00
nar-accessor.hh Replace src/libutil/json.cc with nlohmann json generation 2022-11-16 16:50:50 +01:00
nar-info-disk-cache.cc [fixup] handle cache expiration in sqlite query 2022-06-23 14:54:25 -04:00
nar-info-disk-cache.hh Add a realisations disk cache 2021-05-06 17:38:20 +02:00
nar-info.cc libstore/nar-info: drop unused system field 2022-06-23 14:25:10 -04:00
nar-info.hh libstore/nar-info: drop unused system field 2022-06-23 14:25:10 -04:00
nix-store.pc.in pkg-config files: Use c++17 2019-03-14 14:11:12 +01:00
optimise-store.cc moveFile -> renameFile 2022-08-03 10:27:25 +02:00
parsed-derivations.cc Merge pull request #3600 from NixOS/auto-uid-allocation 2022-11-29 14:01:42 +01:00
parsed-derivations.hh Split auto UID allocation from cgroups 2022-11-08 16:03:42 +01:00
path-info.cc Low-latency closure copy 2021-07-26 13:31:09 +02:00
path-info.hh Low-latency closure copy 2021-07-26 13:31:09 +02:00
path-with-outputs.cc nix profile: Support overriding outputs 2022-05-03 15:00:34 +02:00
path-with-outputs.hh nix profile: Support overriding outputs 2022-05-03 15:00:34 +02:00
path.cc Add support for impure derivations 2022-03-31 13:43:20 +02:00
path.hh Add support for impure derivations 2022-03-31 13:43:20 +02:00
pathlocks.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
pathlocks.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
profiles.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
profiles.hh Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
realisation.cc Fix the build with nlohmann/json 3.10.4+ 2022-01-19 14:37:54 +01:00
realisation.hh buildPaths(): Add an evalStore argument 2021-07-22 09:59:51 +02:00
references.cc Restrict readFile context to references that appear in the string 2022-11-11 13:04:34 +01:00
references.hh Restrict readFile context to references that appear in the string 2022-11-11 13:04:34 +01:00
remote-fs-accessor.cc Replace src/libutil/json.cc with nlohmann json generation 2022-11-16 16:50:50 +01:00
remote-fs-accessor.hh Get rid of std::shared_ptr<std::string> and ref<std::string> 2022-01-18 11:12:30 +01:00
remote-store.cc Merge remote-tracking branch 'origin/master' into parallel-nix-copy 2022-08-22 15:29:10 +02:00
remote-store.hh Indentation 2022-08-22 15:32:53 +02:00
repair-flag.hh Clean up DerivationOutput, and headers 2022-03-17 22:35:53 +00:00
s3-binary-cache-store.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
s3-binary-cache-store.hh Overhaul store subclassing 2020-12-20 15:47:14 +00:00
s3.hh Fix libcxx build 2022-04-28 14:37:05 +02:00
sandbox-defaults.sb fix(libstore): allow Nix to access all Rosetta 2 paths on MacOS 2022-07-15 12:10:56 -07:00
sandbox-minimal.sb Always use the Darwin sandbox 2017-06-06 18:44:49 +02:00
sandbox-network.sb fix(libstore): allow access to trustd on macOS 2022-08-24 13:09:44 -04:00
schema.sql schema.sql: add comment about hash being in base16 2022-06-01 14:59:57 +02:00
serve-protocol.hh nix-store --serve: pass on settings.keepFailed from SSH store 2021-08-31 13:11:46 +02:00
sqlite.cc Actually, solve this in a lighter-weight way 2022-04-20 17:37:59 +00:00
sqlite.hh Make the default SQLiteError constructor public 2022-04-21 09:40:55 +02:00
ssh-store.cc Factor out a LogStore interface 2022-03-11 13:32:16 +00:00
ssh.cc Defer to SSH config files for ForwardAgent option 2022-10-22 19:51:22 -05:00
ssh.hh distributed builds: load remote builder host key from the machines file 2021-02-25 09:17:34 -05:00
store-api.cc Fix nix log with CA derivations 2022-12-08 16:03:20 -05:00
store-api.hh Fix nix log with CA derivations 2022-12-08 16:03:20 -05:00
store-cast.hh Deduplicate the Store downcasting with a template 2022-03-11 13:32:33 +00:00
uds-remote-store.cc Non-blocking garbage collector 2021-10-13 12:12:44 +02:00
uds-remote-store.hh Shut down write side before draining the read side 2021-09-23 18:01:04 +02:00
worker-protocol.hh Add Store::buildPathsWithResults() 2022-03-08 19:56:34 +01:00