aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-08revise command helpBen Burdette
2022-04-08trace stack, not call stackBen Burdette
2022-04-08clean up makefilesBen Burdette
2022-04-08minor cleanupBen Burdette
2022-04-08remove 'debugError', dead codeBen Burdette
2022-04-08move throw to preverve Error type; turn off debugger for tryEvalBen Burdette
2022-04-07Merge remote-tracking branch 'upstream/master' into upstream-mergeBen Burdette
2022-04-07in debugger mode, print the current error when another repl returns.Ben Burdette
2022-04-07remove debug codeBen Burdette
2022-04-07newline before envBen Burdette
2022-04-07free valmap on exitBen Burdette
2022-04-07Merge pull request #6348 from cole-h/fix-restoring-mount-namespaceEelco Dolstra
libutil: Fix restoring mount namespace
2022-04-07Merge pull request #6374 from danpls/fix-actualUrlThéophane Hufschmitt
libfetchers: Fix assertion
2022-04-07Test fetchgit with path containing a `.` segmentThéophane Hufschmitt
2022-04-07Merge pull request #6375 from rehno-lindeque/nixosmodules-dot-defaultThéophane Hufschmitt
Rename `nixosModule` to `nixosModules.default` consistent with other outputs
2022-04-06show expr pos if DebugTrace one is noPosBen Burdette
2022-04-06Update release notesRehno Lindeque
2022-04-06nix flake check: Warn about deprecated nixosModule outputRehno Lindeque
2022-04-06libfetchers: Fix assertionDaniel Pauls
The filter expects all paths to have a prefix of the raw `actualUrl`, but `Store::addToStore(...)` provides absolute canonicalized paths. To fix this create an absolute and canonicalized path from the `actualUrl` and use it instead. Fixes #6195.
2022-04-06Merge pull request #6372 from edolstra/curl-failEelco Dolstra
Installer: Use curl --fail so we don't silently ignore download errors
2022-04-06curl: Use --fail to catch errorsEelco Dolstra
2022-04-06Merge pull request #6371 from edolstra/substitution-error-msgEelco Dolstra
Fix empty 'nix copy' error message
2022-04-06Fix empty 'nix copy' error messageEelco Dolstra
This was caused by SubstitutionGoal not setting the errorMsg field in its BuildResult. We now get a more descriptive message than in 2.7.0, e.g. error: path '/nix/store/13mh...' is required, but there is no substituter that can build it instead of the misleading (since there was no build) error: build of '/nix/store/13mh...' failed Fixes #6295.
2022-04-06Merge pull request #6370 from edolstra/fetch-closure-query-paramsEelco Dolstra
fetchClosure: Don't allow URL query parameters
2022-04-06fetchClosure: Don't allow URL query parametersEelco Dolstra
Allowing this is a potential security hole, since it allows the user to specify parameters like 'local-nar-cache'.
2022-04-05Merge pull request #6366 from danpls/base64-reserveEelco Dolstra
libutil: Reserve memory when en/decoding base64
2022-04-05Merge pull request #6367 from danpls/fix-nposEelco Dolstra
tokenizeString: Fix semantic mistake
2022-04-05tokenizeString: Fix semantic mistakeDaniel Pauls
`string_view::find_first_not_of(...)` and `string_view::find_first_of(...)` return `string_view::npos` on error not `string::npos`.
2022-04-05libutil: Reserve memory when en/decoding base64Daniel Pauls
The size of the output when encoding to and decoding from base64 is (roughly) known so we can allocate it in advance to prevent reallocation.
2022-04-05Merge pull request #6362 from thufschmitt/verbose-doctorEelco Dolstra
doctor: Always show the output
2022-04-05Merge pull request #6363 from thufschmitt/definition-list-in-nix.conf-manualEelco Dolstra
Add anchors to the nix.conf options in the manual
2022-04-05Merge pull request #6365 from edolstra/update-nixpkgsEelco Dolstra
Update to latest Nixpkgs 21.05
2022-04-05flake.lock: UpdateEelco Dolstra
Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/82891b5e2c2359d7e58d08849e4c89511ab94234' (2021-09-28) → 'github:NixOS/nixpkgs/530a53dcbc9437363471167a5e4762c5fcfa34a1' (2022-02-19)
2022-04-05rl-2.7.md: Fix titleEelco Dolstra
2022-04-05doctor: Always show the outputThéophane Hufschmitt
Fix https://github.com/NixOS/nix/issues/6342
2022-04-05manual: Add some anchor targets for the nix.conf optionsThéophane Hufschmitt
For each `nix.conf` option, add an empty html node with a unique `id` that can be used as an anchor target. Also make the name of the option be a link to that target so that it’s easily discoverable. We can’t rewrite the whole list as an html definition list like it’s done for the builtins because these options also appear in a man page, and the manpage renderer (lowdown) can’t render arbitrary html. But the hack here allows to keep the manpage and have the links in the html version. Fix https://github.com/NixOS/nix/issues/5745
2022-04-05Merge pull request #6360 from thufschmitt/flake-check-accept-welcomeTextEelco Dolstra
Allow `welcomeText` when checking a flake template
2022-04-05Allow `welcomeText` when checking a flake templateThéophane Hufschmitt
Fix https://github.com/NixOS/nix/issues/6321
2022-04-04libutil: don't save cwd fd, use path insteadCole Helbling
Saving the cwd fd didn't actually work well -- prior to this commit, the following would happen: : ~/w/vc/nix ; doas outputs/out/bin/nix --experimental-features 'nix-command flakes' run nixpkgs#coreutils -- --coreutils-prog=pwd pwd: couldn't find directory entry in ‘../../../..’ with matching i-node : ~/w/vc/nix ; doas outputs/out/bin/nix --experimental-features 'nix-command flakes' develop -c pwd pwd: couldn't find directory entry in ‘../../../..’ with matching i-node
2022-04-04libutil: save cwd fd in restoreMountNamespaceCole Helbling
This doesn't work very well (maybe I'm misunderstanding the desired implementation): : ~/w/vc/nix ; doas outputs/out/bin/nix --experimental-features 'nix-command flakes' develop -c pwd pwd: couldn't find directory entry in ‘../../../..’ with matching i-node
2022-04-04libutil: `try` restoring the cwd from fdSavedCwdCole Helbling
2022-04-04libutil: save fd to cwd instead of cwd itselfCole Helbling
2022-04-04libutil: cleanup savedCwd logicCole Helbling
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-04-04Add missing #includeEelco Dolstra
2022-04-04Merge pull request #6350 from flox/lock_installableEelco Dolstra
fix(run): set applyNixConfig lockFlag
2022-04-01fix(run): set applyNixConfig lockFlagTom Bereknyei
2022-04-01libutil: Properly guard self-allocating getcwd on GNUCole Helbling
It's a GNU extension, as pointed out by pennae.
2022-04-01libutil: Don't use std::filesystemCole Helbling
Just in case making libutil depend on std::filesystem is unacceptable, here is the non-filesystem approach.
2022-04-01libutil: Fix restoring mount namespaceaszlig
I regularly pass around simple scripts by using nix-shell as the script interpreter, eg. like this: #!/usr/bin/env nix-shell #!nix-shell -p dd_rescue coreutils bash -i bash While this works most of the time, I recently had one occasion where it would not and the above would result in the following: $ sudo ./myscript.sh bash: ./myscript.sh: No such file or directory Note the "sudo" here, because this error only occurs if we're root. The reason for the latter is because running Nix as root means that we can directly access the store, which makes sure we use a filesystem namespace to make the store writable. XXX - REWORD! So when stracing the process, I stumbled on the following sequence: openat(AT_FDCWD, "/proc/self/ns/mnt", O_RDONLY) = 3 unshare(CLONE_NEWNS) = 0 ... later ... getcwd("/the/real/cwd", 4096) = 14 setns(3, CLONE_NEWNS) = 0 getcwd("/", 4096) = 2 In the whole strace output there are no calls to chdir() whatsoever, so I decided to look into the kernel source to see what else could change directories and found this[1]: /* Update the pwd and root */ set_fs_pwd(fs, &root); set_fs_root(fs, &root); The set_fs_pwd() call is roughly equivalent to a chdir() syscall and this is called when the setns() syscall is invoked[2]. [1]: https://github.com/torvalds/linux/blob/b14ffae378aa1db993e62b01392e70d1e585fb23/fs/namespace.c#L4659 [2]: https://github.com/torvalds/linux/blob/b14ffae378aa1db993e62b01392e70d1e585fb23/kernel/nsproxy.c#L346
2022-04-01Merge pull request #6344 from flox/profile_url_uriEelco Dolstra
profile!: consistent use of url/uri. create new version