1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-27 00:11:17 +02:00

Improve error message for fixed-outputs with references.

This codepath is possible, e.g. with a dockerTools.pullImage of an image with a Nix store.
This commit is contained in:
Shea Levy 2023-12-24 06:44:56 -05:00
parent e23983db82
commit eeb2f083c5
No known key found for this signature in database
GPG key ID: 5C0BD6957D86FE27
3 changed files with 16 additions and 1 deletions

View file

@ -194,7 +194,10 @@ StorePath StoreDirConfig::makeFixedOutputPath(std::string_view name, const Fixed
if (info.hash.algo == HashAlgorithm::SHA256 && info.method == FileIngestionMethod::Recursive) {
return makeStorePath(makeType(*this, "source", info.references), info.hash, name);
} else {
assert(info.references.size() == 0);
if (!info.references.empty()) {
throw Error("fixed output derivation '%s' is not allowed to refer to other store paths.\nYou may need to use the 'unsafeDiscardReferences' derivation attribute, see the manual for more details.",
name);
}
return makeStorePath("output:out",
hashString(HashAlgorithm::SHA256,
"fixed:out:"