lix/src/libstore
regnat 7080321618 Use the fs accessor for readInvalidDerivation
Extend `FSAccessor::readFile` to allow not checking that the path is a
valid one, and rewrite `readInvalidDerivation` using this extended
`readFile`.

Several places in the code use `readInvalidDerivation`, either because
they need to read a derivation that has been written in the store but
not registered yet, or more generally to prevent a deadlock because
`readDerivation` tries to lock the state, so can't be called from a
place where the lock is already held.
However, `readInvalidDerivation` implicitely assumes that the store is a
`LocalFSStore`, which isn't always the case.

The concrete motivation for this is that it's required for `nix copy
--from someBinaryCache` to work, which is tremendously useful for the
tests.
2020-12-15 20:10:46 +01:00
..
build Rework the db schema for derivation outputs 2020-12-11 20:41:32 +01:00
builtins Fix build 2020-08-06 21:04:31 -05:00
binary-cache-store.cc Store the realisations as JSON in the binary cache 2020-12-11 21:05:09 +01:00
binary-cache-store.hh Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
builtins.hh buildenv: Eliminate global variables, other cleanup 2020-03-24 14:06:47 +01:00
ca-specific-schema.sql Rework the db schema for derivation outputs 2020-12-11 20:41:32 +01:00
content-address.cc Style fixes 2020-09-22 11:40:19 +02:00
content-address.hh Add ContentAddressMethod and parse/render it 2020-09-17 20:21:04 +02:00
crypto.cc binary-cache-public-keys -> trusted-public-keys 2017-11-20 17:32:34 +01:00
crypto.hh Revert "Get rid of unicode quotes (#1140)" 2016-11-26 00:38:01 +01:00
daemon.cc Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
daemon.hh Add missing #pragma once 2020-10-06 10:40:07 +02:00
derivations.cc Make drv hash modulo memo table thread-safe 2020-11-19 16:50:06 +00:00
derivations.hh Make drv hash modulo memo table thread-safe 2020-11-19 16:50:06 +00:00
dummy-store.cc Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
export-import.cc nix::worker_proto -> worker_proto 2020-09-30 00:41:18 +00:00
filetransfer.cc Sink: Use std::string_view 2020-12-02 14:17:27 +01:00
filetransfer.hh Sink: Use std::string_view 2020-12-02 14:17:27 +01:00
fs-accessor.hh Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
gc.cc Handle amount of disk space saved by hard linking being negative 2020-10-12 16:06:38 +00:00
globals.cc Generalize extra-* settings 2020-10-29 18:17:39 +01:00
globals.hh Always default to cache.nixos.org even when different nix store dir 2020-12-06 23:04:42 -06:00
http-binary-cache-store.cc Remove static variable name clashes 2020-10-06 13:49:20 +02:00
legacy-ssh-store.cc Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
local-binary-cache-store.cc Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
local-fs-store.cc Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
local-fs-store.hh Split out local-fs-store.hh 2020-10-09 20:18:08 +00:00
local-store.cc Rework the db schema for derivation outputs 2020-12-11 20:41:32 +01:00
local-store.hh Rework the db schema for derivation outputs 2020-12-11 20:41:32 +01:00
local.mk Rework the db schema for derivation outputs 2020-12-11 20:41:32 +01:00
lock.cc Trim lock.cc 2020-10-11 16:44:19 +00:00
lock.hh Trim lock.hh 2020-10-11 16:44:07 +00:00
machines.cc Make system-features a store setting 2020-08-12 18:13:00 +00:00
machines.hh Make system-features a store setting 2020-08-12 18:13:00 +00:00
misc.cc Move Callback into its own header 2020-09-21 18:42:21 +02:00
names.cc Don't include <regex> in header files 2020-09-21 18:22:45 +02:00
names.hh Don't include <regex> in header files 2020-09-21 18:22:45 +02:00
nar-accessor.cc Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
nar-accessor.hh NarAccessor: Run in constant memory 2020-07-13 17:30:42 +02:00
nar-info-disk-cache.cc Minimize the usage of Hash::dummy 2020-08-06 18:31:48 +00:00
nar-info-disk-cache.hh Misc changes from the flakes branch 2020-03-24 14:34:47 +01:00
nar-info.cc Minimize the usage of Hash::dummy 2020-08-06 18:31:48 +00:00
nar-info.hh Minimize the usage of Hash::dummy 2020-08-06 18:31:48 +00:00
nix-store.pc.in pkg-config files: Use c++17 2019-03-14 14:11:12 +01:00
optimise-store.cc Factor out common showBytes() 2020-10-06 10:40:49 +02:00
parsed-derivations.cc Make system-features a store setting 2020-08-12 18:13:00 +00:00
parsed-derivations.hh Add missing #pragma once 2020-10-06 10:40:07 +02:00
path-info.hh LocalStore: Get rid of recursive_mutex 2020-11-03 14:45:24 +01:00
path.cc toStorePath(): Return a StorePath and the suffix 2020-07-13 16:25:48 +02:00
path.hh Merge remote-tracking branch 'origin/master' into substitute-other-storedir 2020-07-02 11:14:04 -04:00
pathlocks.cc convert some printError calls to logError 2020-05-03 08:01:25 -06:00
pathlocks.hh Use BSD instead of POSIX file locks 2019-08-02 18:39:16 +02:00
profiles.cc Split out local-fs-store.hh 2020-10-09 20:18:08 +00:00
profiles.hh createGeneration(): Take a StorePath 2020-09-03 11:06:56 +02:00
realisation.cc Store the realisations as JSON in the binary cache 2020-12-11 21:05:09 +01:00
realisation.hh Store the realisations as JSON in the binary cache 2020-12-11 21:05:09 +01:00
references.cc Sink: Use std::string_view 2020-12-02 14:17:27 +01:00
references.hh Sink: Use std::string_view 2020-12-02 14:17:27 +01:00
remote-fs-accessor.cc Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
remote-fs-accessor.hh Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
remote-store.cc Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
remote-store.hh Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
s3-binary-cache-store.cc treat s3 permission errors as file-not-found 2020-12-11 09:49:24 -08:00
s3-binary-cache-store.hh Revert "Remove putBytes" 2020-08-04 15:56:10 +02:00
s3.hh DataTransfer -> FileTransfer 2020-04-08 22:26:57 +02:00
sandbox-defaults.sb sandbox: fix /bin/sh on catalina 2020-03-20 22:12:30 +01:00
sandbox-minimal.sb Always use the Darwin sandbox 2017-06-06 18:44:49 +02:00
sandbox-network.sb OS X sandbox: Improve builtin sandbox profile 2017-05-31 17:25:51 +02:00
schema.sql Mark content-addressed paths in the Nix database and in .narinfo 2016-08-10 18:05:35 +02:00
serve-protocol.hh Make adding paths via nix-store --serve run in constant memory 2018-08-03 21:21:16 +02:00
sqlite.cc Make the sql debug statements more useful 2020-11-17 10:05:45 +01:00
sqlite.hh Merge remote-tracking branch 'origin/master' into flakes 2020-06-17 10:26:52 +02:00
ssh-store.cc Remove static variable name clashes 2020-10-06 13:49:20 +02:00
ssh.cc Revert the enum struct change 2020-06-18 22:11:26 +00:00
ssh.hh SSHMaster: Bypass SSH when connecting to localhost 2018-08-03 21:20:38 +02:00
store-api.cc Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
store-api.hh Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00
uds-remote-store.cc Split out uds-remote-store.{cc.hh} 2020-10-11 17:37:05 +00:00
uds-remote-store.hh Split out uds-remote-store.{cc.hh} 2020-10-11 17:37:05 +00:00
worker-protocol.hh Store metadata about drv outputs realisations 2020-12-11 20:41:32 +01:00