libstore/build.cc: more explicit about form of output

Be more explicit about why we expect a regular file as output
when outputHashMode=flat for a fixed output derivation.
This commit is contained in:
Peter Kolloch 2020-05-06 11:21:12 +02:00
parent c9d0cf7e02
commit 9be46859a9

View file

@ -3678,7 +3678,8 @@ void DerivationGoal::registerOutputs()
/* The output path should be a regular file without execute permission. */ /* The output path should be a regular file without execute permission. */
if (!S_ISREG(st.st_mode) || (st.st_mode & S_IXUSR) != 0) if (!S_ISREG(st.st_mode) || (st.st_mode & S_IXUSR) != 0)
throw BuildError( throw BuildError(
format("output path '%1%' should be a non-executable regular file") % path); format("output path '%1%' should be a non-executable regular file "
"since recursive hashing is not enabled (outputHashMode=flat).") % path);
} }
/* Check the hash. In hash mode, move the path produced by /* Check the hash. In hash mode, move the path produced by