nix-super/src/libstore
Maximilian Bosch bb1a851bcf
build: also throw hash-mismatch errors if buildMode == bmCheck
This actually bit me quite recently in `nixpkgs` because I assumed that
`nix-build --check` would also error out if hashes don't match anymore[1]
and so I wrongly assumed that I couldn't reproduce the mismatch error.

The fix is rather simple, during the output registration a so-called
`delayedException` is instantiated e.g. if a FOD hash-mismatch occurs.
However, in case of `nix-build --check` (or `--rebuild` in case of `nix
build`), the code-path where this exception is thrown will never be
reached.

By adding that check to the if-clause that causes an early exit in case
of `bmCheck`, the issue is gone. Also added a (previously failing)
test-case to demonstrate the problem.

[1] https://github.com/NixOS/nixpkgs/pull/139238, the underlying issue
    was that `nix-prefetch-git` returns different hashes than `fetchgit`
    because the latter one fetches submodules by default.
2021-09-27 15:44:39 +02:00
..
build build: also throw hash-mismatch errors if buildMode == bmCheck 2021-09-27 15:44:39 +02:00
builtins Improve error formatting 2021-01-21 11:02:09 +01:00
binary-cache-store.cc Make setDefault() typed 2021-09-22 14:15:35 +02:00
binary-cache-store.hh Fix the double-slash in the realisations path 2021-05-04 10:35:34 +02:00
builtins.hh buildenv: Eliminate global variables, other cleanup 2020-03-24 14:06:47 +01:00
ca-specific-schema.sql Store the realisation deps on the local store 2021-05-26 16:59:09 +02: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 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 Don’t accept experimental features from the client 2021-08-30 10:48:05 +02:00
daemon.hh Add missing #pragma once 2020-10-06 10:40:07 +02:00
derivations.cc Use eval-store in more places 2021-07-22 09:59:51 +02:00
derivations.hh Remove tabs 2021-09-10 11:00:50 +02:00
derived-path.cc Merge pull request #4818 from NixOS/ca/cli-use-builtpaths 2021-05-17 16:15:40 +02:00
derived-path.hh Enfore the use of properly built paths in libcmd 2021-05-17 08:45:08 +02:00
dummy-store.cc DummyStore: Remove redundant method 2021-07-22 09:59:51 +02:00
export-import.cc nix::worker_proto -> worker_proto 2020-09-30 00:41:18 +00:00
filetransfer.cc unified macro style for ENABLE_S3 2021-04-23 07:30:05 +01:00
filetransfer.hh Add 'nix store prefetch-{file,tarball}' 2021-01-07 21:51:46 +01:00
fs-accessor.hh Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
gc.cc UDSRemoteStore: Support the 'root' store parameter 2021-06-18 17:04:11 +02:00
globals.cc Advise using --extra-experimental-features instead of --experimental-features 2021-09-14 13:56:36 +02:00
globals.hh Tweak --no/use-registries doc strings 2021-07-21 14:27:37 +02:00
http-binary-cache-store.cc Make setDefault() typed 2021-09-22 14:15:35 +02:00
legacy-ssh-store.cc Shut down write side before draining the read side 2021-09-23 18:01:04 +02:00
local-binary-cache-store.cc Fix the double-slash in the realisations path 2021-05-04 10:35:34 +02:00
local-fs-store.cc Use the fs accessor for readInvalidDerivation 2020-12-15 20:10:46 +01:00
local-fs-store.hh UDSRemoteStore: Support the 'root' store parameter 2021-06-18 17:04:11 +02:00
local-store.cc Remove the 'ca-references' feature check 2021-09-14 13:53:20 +02:00
local-store.hh Properly fail when trying to register an incoherent realisation 2021-06-23 11:27:14 +02:00
local.mk Merge pull request #5175 from Pamplemousse/make 2021-08-30 12:44:29 +02: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 Improve machine store URI parsing 2021-06-23 22:09:22 +01:00
machines.hh Make system-features a store setting 2020-08-12 18:13:00 +00:00
misc.cc Merge pull request #4906 from NixOS/collect-garbage-ca 2021-06-23 10:07:08 +02:00
names.cc string2Int(): Return std::optional 2021-01-08 12:22:21 +01: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 Simplify the realisations disk cache 2021-05-10 17:47:14 +02:00
nar-info-disk-cache.hh Add a realisations disk cache 2021-05-06 17:38:20 +02:00
nar-info.cc string2Int(): Return std::optional 2021-01-08 12:22:21 +01: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 UDSRemoteStore: Support the 'root' store parameter 2021-06-18 17:04:11 +02:00
parsed-derivations.cc Style 2021-07-12 17:32:23 +02:00
parsed-derivations.hh Style 2021-07-12 17:32:23 +02: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 Rename Buildable 2021-04-05 09:52:25 -04:00
path-with-outputs.hh buildable.{cc,hh} -> derived-path.{cc,hh} 2021-04-05 10:33:28 -04:00
path.cc Move StorePathWithOutputs into its own header/file 2021-04-05 08:31:37 -04:00
path.hh Move StorePathWithOutputs into its own header/file 2021-04-05 08:31:37 -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 Add 'nix profile wipe-history' command 2021-09-14 20:35:41 +02:00
profiles.hh Add "nix profile rollback" command 2021-09-14 19:32:33 +02:00
realisation.cc Be more lenient when realisations have a conflicting dependency set 2021-07-16 11:48:41 +02:00
realisation.hh buildPaths(): Add an evalStore argument 2021-07-22 09:59:51 +02:00
references.cc Fix potential race-condition in reference scanning code 2021-08-07 19:10:25 +02: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 Shut down write side before draining the read side 2021-09-23 18:01:04 +02:00
remote-store.hh Shut down write side before draining the read side 2021-09-23 18:01:04 +02:00
s3-binary-cache-store.cc Make setDefault() typed 2021-09-22 14:15:35 +02:00
s3-binary-cache-store.hh Overhaul store subclassing 2020-12-20 15:47:14 +00:00
s3.hh DataTransfer -> FileTransfer 2020-04-08 22:26:57 +02:00
sandbox-defaults.sb sandbox: allow Rosetta 2 on Darwin 2021-09-15 02:02:03 +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 Clean up serialization for BuildResult 2021-03-22 14:57:41 +00:00
sqlite.cc Improve error formatting 2021-01-21 11:02:09 +01:00
sqlite.hh Merge remote-tracking branch 'origin/master' into flakes 2020-06-17 10:26:52 +02:00
ssh-store.cc Shut down write side before draining the read side 2021-09-23 18:01:04 +02:00
ssh.cc restoreSignals() + restoreAffinity() -> restoreProcessContext() 2021-04-07 13:10:02 +02: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 Low-latency closure copy 2021-07-26 13:31:09 +02:00
store-api.hh Expand docstring of Store::querySubstitutablePathInfos 2021-08-09 15:58:50 +02:00
uds-remote-store.cc Shut down write side before draining the read side 2021-09-23 18:01:04 +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 Low-latency closure copy 2021-07-26 13:31:09 +02:00