From c65a6fa86aef7bdf51fb4fba7bd31d265619ba3f Mon Sep 17 00:00:00 2001 From: edef Date: Thu, 2 Jan 2020 23:41:48 +0000 Subject: [PATCH] passAsFile: leave out the hash prefix Having a colon in the path may cause issues, and having the hash function indicated isn't actually necessary. We now verify the path format in the tests to prevent regressions. --- src/libstore/build.cc | 2 +- tests/pass-as-file.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 9ee3b04e3..78f39fed1 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -2460,7 +2460,7 @@ void DerivationGoal::initTmpDir() { env[i.first] = i.second; } else { auto hash = hashString(htSHA256, i.first); - string fn = ".attr-" + hash.to_string(); + string fn = ".attr-" + hash.to_string(Base32, false); Path p = tmpDir + "/" + fn; writeFile(p, i.second); chownToBuilder(p); diff --git a/tests/pass-as-file.sh b/tests/pass-as-file.sh index 3dfe10baa..2c0bc5031 100644 --- a/tests/pass-as-file.sh +++ b/tests/pass-as-file.sh @@ -10,6 +10,7 @@ mkDerivation { passAsFile = [ \"foo\" ]; foo = [ \"xyzzy\" ]; builder = builtins.toFile \"builder.sh\" '' + [ \"\$(basename \$fooPath)\" = .attr-1bp7cri8hplaz6hbz0v4f0nl44rl84q1sg25kgwqzipzd1mv89ic ] [ \"\$(cat \$fooPath)\" = xyzzy ] touch \$out '';