RemoteStore::addToStore(): Pass content-addressability assertion

... and use this in Downloader::downloadCached(). This fixes

  $ nix-build https://nixos.org/channels/nixos-16.09-small/nixexprs.tar.xz -A hello
  error: cannot import path ‘/nix/store/csfbp1s60dkgmk9f8g0zk0mwb7hzgabd-nixexprs.tar.xz’ because it lacks a valid signature
This commit is contained in:
Eelco Dolstra 2017-02-22 16:31:04 +01:00
parent fe2db1dae5
commit f023f64f40
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
6 changed files with 16 additions and 3 deletions

View file

@ -1002,7 +1002,7 @@ Path LocalStore::addToStoreFromDump(const string & dump, const string & name,
info.narHash = hash.first;
info.narSize = hash.second;
info.ultimate = true;
info.ca = "fixed:" + (recursive ? (std::string) "r:" : "") + h.to_string();
info.ca = makeFixedOutputCA(recursive, h);
registerValidPath(info);
}