Ludovic Courtès <l...@gnu.org> writes: > Ricardo Wurmus <rek...@elephly.net> skribis: > >> Ludovic Courtès <l...@gnu.org> writes: >> >>> Hello! >>> >>> Ricardo Wurmus <rek...@elephly.net> skribis: >>> >>>> Here are some other annoyances: >>>> >>>> * the verbosity of reporting hash mismatches. You posted a neat little >>>> change for that some time ago, but I cannot find it any more. >>> >>> Oh right, see attached. >> >> I think you forgot to attach it. > > Oops. Here we go: > > modified 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)); > } > > Should we apply it?
Yes, please. This looks much better! Thank you! -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net