|
Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
|
Public Member Functions | |
| UnkeyedValidPathInfo (const UnkeyedValidPathInfo &other)=default | |
| UnkeyedValidPathInfo (Hash narHash) | |
| DECLARE_CMP (UnkeyedValidPathInfo) | |
Public Attributes | |
| std::optional< StorePath > | deriver |
| Hash | narHash |
| StorePathSet | references |
| time_t | registrationTime = 0 |
| uint64_t | narSize = 0 |
| uint64_t | id = 0 |
| bool | ultimate = false |
| StringSet | sigs |
| std::optional< ContentAddress > | ca |
| std::optional<ContentAddress> nix::UnkeyedValidPathInfo::ca |
If non-empty, an assertion that the path is content-addressed, i.e., that the store path is computed from a cryptographic hash of the contents of the path, plus some other bits of data like the "name" part of the path. Such a path doesn't need signatures, since we don't have to trust anybody's claim that the path is the output of a particular derivation. (In the extensional store model, we have to trust that the contents of an output path of a derivation were actually produced by that derivation. In the intensional model, we have to trust that a particular output path was produced by a derivation; the path then implies the contents.)
Ideally, the content-addressability assertion would just be a Boolean, and the store path would be computed from the name component, ‘narHash’ and ‘references’. However, we support many types of content addresses.
| bool nix::UnkeyedValidPathInfo::ultimate = false |
Whether the path is ultimately trusted, that is, it's a derivation output that was built locally.