-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add docs/rl-notes for
nix hash convert
/ builtins.convertHash
- Loading branch information
Showing
4 changed files
with
74 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
synopsis: Rename hash format `base32` to `nix32` | ||
prs: #9452 | ||
description: { | ||
|
||
Hash format `base32` was renamed to `nix32` since it used a special nix-specific character set for | ||
[Base32](https://en.wikipedia.org/wiki/Base32). | ||
|
||
## Deprecation: Use `nix32` instead of `base32` as `toHashFormat` | ||
|
||
For the builtin `convertHash`, the `toHashFormat` parameter now accepts the same hash formats as the `--to`/`--from` | ||
parameters of the `nix hash conert` command: `"base16"`, `"nix32"`, `"base64"`, and `"sri"`. The former `"base32"` value | ||
remains as a deprecated alias for `"base32"`. Please convert your code from: | ||
|
||
```nix | ||
builtins.convertHash { inherit hash hashAlgo; toHashFormat = "base32";} | ||
``` | ||
|
||
to | ||
|
||
```nix | ||
builtins.convertHash { inherit hash hashAlgo; toHashFormat = "nix32";} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
synopsis: Add `nix hash convert` | ||
prs: #9452 | ||
description: { | ||
|
||
New [`nix hash convert`](https://github.com/NixOS/nix/issues/8876) sub command with a fast track | ||
to stabilization! Examples: | ||
|
||
- Convert the hash to `nix32`. | ||
|
||
```bash | ||
$ nix hash convert --algo "sha1" --to nix32 "800d59cfcd3c05e900cb4e214be48f6b886a08df" | ||
vw46m23bizj4n8afrc0fj19wrp7mj3c0 | ||
``` | ||
`nix32` is a base32 encoding with a nix-specific character set. | ||
Explicitly specify the hashing algorithm (optional with SRI hashes) but detect hash format by the length of the input | ||
hash. | ||
- Convert the hash to the `sri` format that includes an algorithm specification: | ||
```bash | ||
nix hash convert --algo "sha1" "800d59cfcd3c05e900cb4e214be48f6b886a08df" | ||
sha1-gA1Zz808BekAy04hS+SPa4hqCN8= | ||
``` | ||
or with an explicit `-to` format: | ||
```bash | ||
nix hash convert --algo "sha1" --to sri "800d59cfcd3c05e900cb4e214be48f6b886a08df" | ||
sha1-gA1Zz808BekAy04hS+SPa4hqCN8= | ||
``` | ||
- Assert the input format of the hash: | ||
```bash | ||
nix hash convert --algo "sha256" --from nix32 "ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=" | ||
error: input hash 'ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=' does not have the expected format '--from nix32' | ||
nix hash convert --algo "sha256" --from nix32 "1b8m03r63zqhnjf7l5wnldhh7c134ap5vpj0850ymkq1iyzicy5s" | ||
sha256-ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= | ||
``` | ||
|
||
The `--to`/`--from`/`--algo` parameters have context-sensitive auto-completion. | ||
|
||
## Related Deprecations | ||
|
||
The following commands are still available but will emit a deprecation warning. Please convert your code to | ||
`nix hash convert`: | ||
|
||
- `nix hash to-base16 $hash1 $hash2`: Use `nix hash convert --to base16 $hash1 $hash2` instead. | ||
- `nix hash to-base32 $hash1 $hash2`: Use `nix hash convert --to nix32 $hash1 $hash2` instead. | ||
- `nix hash to-base64 $hash1 $hash2`: Use `nix hash convert --to base64 $hash1 $hash2` instead. | ||
- `nix hash to-sri $hash1 $hash2`: : Use `nix hash convert --to sri $hash1 $hash2` | ||
or even just `nix hash convert $hash1 $hash2` instead. | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters