doc: fix "Nix Archive (NAR) format" specification#14549
Merged
Ericson2314 merged 1 commit intoNixOS:masterfrom Nov 12, 2025
Merged
doc: fix "Nix Archive (NAR) format" specification#14549Ericson2314 merged 1 commit intoNixOS:masterfrom
Ericson2314 merged 1 commit intoNixOS:masterfrom
Conversation
For executable files in NAR archives, the `executable` tag is followed by an empty string, which was not indicated correctly in the specification. Adding the empty string can be seen in `src/libutil/archive.cc:62`. Here is an example of a hexdump of a NAR archives where this empty string can be seen: ``` 00000730 65 6e 74 72 79 00 00 00 01 00 00 00 00 00 00 00 |entry...........| 00000740 28 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |(...............| 00000750 6e 61 6d 65 00 00 00 00 10 00 00 00 00 00 00 00 |name............| 00000760 6c 69 62 6d 70 66 72 2e 73 6f 2e 36 2e 32 2e 31 |libmpfr.so.6.2.1| 00000770 04 00 00 00 00 00 00 00 6e 6f 64 65 00 00 00 00 |........node....| 00000780 01 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 |........(.......| 00000790 04 00 00 00 00 00 00 00 74 79 70 65 00 00 00 00 |........type....| 000007a0 07 00 00 00 00 00 00 00 72 65 67 75 6c 61 72 00 |........regular.| 000007b0 0a 00 00 00 00 00 00 00 65 78 65 63 75 74 61 62 |........executab| 000007c0 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |le..............| 000007d0 08 00 00 00 00 00 00 00 63 6f 6e 74 65 6e 74 73 |........contents| 000007e0 a0 16 0c 00 00 00 00 00 7f 45 4c 46 02 01 01 00 |.........ELF....| 000007f0 00 00 00 00 00 00 00 00 03 00 3e 00 01 00 00 00 |..........>.....| 00000800 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......| 00000810 e0 0e 0c 00 00 00 00 00 00 00 00 00 40 00 38 00 |............@.8.| 00000820 0b 00 40 00 1f 00 1e 00 01 00 00 00 04 00 00 00 |..@.............| 00000830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| ``` (taken from `09zrxnn4j5hjxqj93xvxrl1dpmq4cyajas3yf7a7y0i7h81m6bd4.nar`, available on `cache.nixos.org`)
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Fix the documentation of the NAR archive format.
Context
For executable files in NAR archives, the
executabletag is followed by an empty string, which was not indicated correctly in the specification.Adding the empty string can be seen in
src/libutil/archive.cc:62.Here is an example of a hexdump of a NAR archives where this empty string can be seen:
(taken from
09zrxnn4j5hjxqj93xvxrl1dpmq4cyajas3yf7a7y0i7h81m6bd4.nar, available oncache.nixos.org)Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.