guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/05: daemon: Report hash mismatches in a cleaner way.


From: Ludovic Courtès
Subject: 04/05: daemon: Report hash mismatches in a cleaner way.
Date: Tue, 30 May 2017 12:08:51 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit f0a0b58bfa9b62de1839b980a2560618e56f9249
Author: Ludovic Courtès <address@hidden>
Date:   Tue May 30 17:52:55 2017 +0200

    daemon: Report hash mismatches in a cleaner way.
    
    Suggested by Hartmut Goebel.
    
    * nix/libstore/build.cc (DerivationGoal::registerOutputs): Report hash
    mismatches on 3 lines for clarity.
    (SubstitutionGoal::finished): Likewise.
---
 nix/libstore/build.cc | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index 9b7bb53..a93095d 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -2449,8 +2449,11 @@ void DerivationGoal::registerOutputs()
             Hash h2 = recursive ? hashPath(ht, actualPath).first : 
hashFile(ht, actualPath);
             if (h != h2)
                 throw BuildError(
-                    format("output path `%1%' should have %2% hash `%3%', 
instead has `%4%'")
-                    % path % i->second.hashAlgo % printHash16or32(h) % 
printHash16or32(h2));
+                    format("%1% hash mismatch for output path `%2%'\n"
+                          "  expected: %3%\n"
+                          "  actual:   %4%")
+                    % i->second.hashAlgo % path
+                   % printHash16or32(h) % printHash16or32(h2));
         }
 
         /* Get rid of all weird permissions.  This also checks that
@@ -3096,7 +3099,9 @@ void SubstitutionGoal::finished()
             Hash expectedHash = parseHash16or32(hashType, 
string(expectedHashStr, n + 1));
             Hash actualHash = hashType == htSHA256 ? hash.first : 
hashPath(hashType, destPath).first;
             if (expectedHash != actualHash)
-                throw SubstError(format("hash mismatch in downloaded path 
`%1%': expected %2%, got %3%")
+                throw SubstError(format("hash mismatch in downloaded path 
`%1%'\n"
+                                       "  expected: %2%\n"
+                                       "  actual:   %3%")
                     % storePath % printHash(expectedHash) % 
printHash(actualHash));
         }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]