mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-21 21:46:15 +02:00
mention the actual meaning of FODs in the glossary (#10888)
* mention the actual meaning of FODs in the glossary Co-authored-by: Alex Groleau <source@proof.construction> Co-authored-by: Daniel Baker <daniel.n.baker@gmail.com> Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
This commit is contained in:
parent
e943ee32bd
commit
d1dd7abbf0
2 changed files with 10 additions and 10 deletions
|
@ -71,10 +71,9 @@
|
||||||
[`__contentAddressed`](./language/advanced-attributes.md#adv-attr-__contentAddressed)
|
[`__contentAddressed`](./language/advanced-attributes.md#adv-attr-__contentAddressed)
|
||||||
attribute set to `true`.
|
attribute set to `true`.
|
||||||
|
|
||||||
- [fixed-output derivation]{#gloss-fixed-output-derivation}
|
- [fixed-output derivation]{#gloss-fixed-output-derivation} (FOD)
|
||||||
|
|
||||||
A derivation which includes the
|
A [derivation] where a cryptographic hash of the [output] is determined in advance using the [`outputHash`](./language/advanced-attributes.md#adv-attr-outputHash) attribute, and where the [`builder`](@docroot@/language/derivations.md#attr-builder) executable has access to the network.
|
||||||
[`outputHash`](./language/advanced-attributes.md#adv-attr-outputHash) attribute.
|
|
||||||
|
|
||||||
- [store]{#gloss-store}
|
- [store]{#gloss-store}
|
||||||
|
|
||||||
|
|
|
@ -120,12 +120,11 @@ Derivations can declare some infrequently used optional attributes.
|
||||||
configuration setting.
|
configuration setting.
|
||||||
|
|
||||||
- [`outputHash`]{#adv-attr-outputHash}; [`outputHashAlgo`]{#adv-attr-outputHashAlgo}; [`outputHashMode`]{#adv-attr-outputHashMode}\
|
- [`outputHash`]{#adv-attr-outputHash}; [`outputHashAlgo`]{#adv-attr-outputHashAlgo}; [`outputHashMode`]{#adv-attr-outputHashMode}\
|
||||||
These attributes declare that the derivation is a so-called
|
These attributes declare that the derivation is a so-called *fixed-output derivation* (FOD), which means that a cryptographic hash of the output is already known in advance.
|
||||||
*fixed-output derivation*, which means that a cryptographic hash of
|
|
||||||
the output is already known in advance. When the build of a
|
As opposed to regular derivations, the [`builder`] executable of a fixed-output derivation has access to the network.
|
||||||
fixed-output derivation finishes, Nix computes the cryptographic
|
Nix computes a cryptographic hash of its output and compares that to the hash declared with these attributes.
|
||||||
hash of the output and compares it to the hash declared with these
|
If there is a mismatch, the derivation fails.
|
||||||
attributes. If there is a mismatch, the build fails.
|
|
||||||
|
|
||||||
The rationale for fixed-output derivations is derivations such as
|
The rationale for fixed-output derivations is derivations such as
|
||||||
those produced by the `fetchurl` function. This function downloads a
|
those produced by the `fetchurl` function. This function downloads a
|
||||||
|
@ -279,7 +278,9 @@ Derivations can declare some infrequently used optional attributes.
|
||||||
|
|
||||||
> **Note**
|
> **Note**
|
||||||
>
|
>
|
||||||
> If set to `false`, the [`builder`](./derivations.md#attr-builder) should be able to run on the system type specified in the [`system` attribute](./derivations.md#attr-system), since the derivation cannot be substituted.
|
> If set to `false`, the [`builder`] should be able to run on the system type specified in the [`system` attribute](./derivations.md#attr-system), since the derivation cannot be substituted.
|
||||||
|
|
||||||
|
[`builder`]: ./derivations.md#attr-builder
|
||||||
|
|
||||||
- [`__structuredAttrs`]{#adv-attr-structuredAttrs}\
|
- [`__structuredAttrs`]{#adv-attr-structuredAttrs}\
|
||||||
If the special attribute `__structuredAttrs` is set to `true`, the other derivation
|
If the special attribute `__structuredAttrs` is set to `true`, the other derivation
|
||||||
|
|
Loading…
Reference in a new issue