diff options
author | zimbatm <zimbatm@zimbatm.com> | 2018-12-12 14:53:00 +0100 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2018-12-12 17:42:00 +0100 |
commit | 5e6fa9092fb5be722f3568c687524416bc746423 (patch) | |
tree | 7770763b537edd58df5bd360387843b0a2d6052b /src/libstore/build.cc | |
parent | f7425d55df5f5c39e778d437eba94540fee43f4a (diff) |
libstore: improve hash mismatch error messages
Use the same output ordering and format everywhere.
This is such a common issue that we trade the single-line error message for
more readability.
Old message:
```
fixed-output derivation produced path '/nix/store/d4nw9x2sy9q3r32f3g5l5h1k833c01vq-example.com' with sha256 hash '08y4734bm2zahw75b16bcmcg587vvyvh0n11gwiyir70divwp1rm' instead of the expected hash '1xzwnipjd54wl8g93vpw6hxnpmdabq0wqywriiwmh7x8k0lvpq5m'
```
New message:
```
hash mismatch in fixed-output derivation '/nix/store/d4nw9x2sy9q3r32f3g5l5h1k833c01vq-example.com':
wanted: sha256:1xzwnipjd54wl8g93vpw6hxnpmdabq0wqywriiwmh7x8k0lvpq5m
got: sha256:08y4734bm2zahw75b16bcmcg587vvyvh0n11gwiyir70divwp1rm
```
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r-- | src/libstore/build.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 9c408e29c..59abae9b9 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -3129,8 +3129,8 @@ void DerivationGoal::registerOutputs() /* Throw an error after registering the path as valid. */ delayedException = std::make_exception_ptr( - BuildError("fixed-output derivation produced path '%s' with %s hash '%s' instead of the expected hash '%s'", - dest, printHashType(h.type), printHash16or32(h2), printHash16or32(h))); + BuildError("hash mismatch in fixed-output derivation '%s':\n wanted: %s\n got: %s", + dest, h.to_string(), h2.to_string())); Path actualDest = worker.store.toRealPath(dest); |