diff options
author | Florian Klink <flokli@flokli.de> | 2023-10-17T22·27+0100 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-10-22T17·04+0000 |
commit | 9118dc8a5056ad0cdb91a0688f50ac5d6e28a1ec (patch) | |
tree | 5d705773016676896bfe35a2da17581ba4827e61 /tvix/store/src/proto/mod.rs | |
parent | ba9a62ca9f82f00aec1b8ad163252476cbb5322a (diff) |
refactor(tvix/store): move deriver field into narinfo submessage r/6869
This information is present in the .narinfo files, it should have gone there. Change-Id: Ib43d0cf30c2795bf1fe77c46646174353ade0458 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9794 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/proto/mod.rs')
-rw-r--r-- | tvix/store/src/proto/mod.rs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/tvix/store/src/proto/mod.rs b/tvix/store/src/proto/mod.rs index a982d71f8886..4b5bf4f59479 100644 --- a/tvix/store/src/proto/mod.rs +++ b/tvix/store/src/proto/mod.rs @@ -140,6 +140,19 @@ impl PathInfo { ); } } + + // If the Deriver field is populated, ensure it parses to a + // [store_path::StorePath]. + // We can't check for it to *not* end with .drv, as the .drv files produced by + // recursive Nix end with multiple .drv suffixes, and only one is popped when + // converting to this field. + if let Some(deriver) = &narinfo.deriver { + store_path::StorePath::from_name_and_digest( + deriver.name.clone(), + &deriver.digest, + ) + .map_err(ValidatePathInfoError::InvalidDeriverField)?; + } } } @@ -156,16 +169,6 @@ impl PathInfo { } }; - // If the Deriver field is populated, ensure it parses to a - // [store_path::StorePath]. - // We can't check for it to *not* end with .drv, as the .drv files produced by - // recursive Nix end with multiple .drv suffixes, and only one is popped when - // converting to this field. - if let Some(deriver) = &self.deriver { - store_path::StorePath::from_name_and_digest(deriver.name.clone(), &deriver.digest) - .map_err(ValidatePathInfoError::InvalidDeriverField)?; - } - // return the root nix path Ok(root_nix_path) } |