Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
This is now done in a single pass. Also fixes some issues when
updating flakes with circular dependencies. Finally, when using
'--recreate-lock-file --commit-lock-file', the commit message now
correctly shows the differences.
|
|
|
|
|
|
installer: Set files read-only when copying into store
|
|
darwin sandbox
|
|
After installing Nix, I found that all the files and directories
initially copied into the store were writable, with mode 644 or 755:
drwxr-xr-x 9 root root 4096 Dec 31 1969 /nix/store/ddmmzn4ggz1f66lwxjy64n89864yj9w9-nix-2.3.3
The reason is that that's how they were in the unpacked tarball, and
the install-multi-user script used `rsync -p` without doing anything
else to affect the permissions.
The plain `install` script for a single-user install takes care to
do a `chmod -R a-w` on each store path copied. We could do the same
here with one more command; or we can pass `--chmod` to rsync, to
have it write the files with the desired modes in the first place.
Tested the new `rsync` command on both a Linux machine with a
reasonably-modern rsync (3.1.3) and a Mac with its default, ancient,
rsync 2.6.9, and it works as expected on both. Thankfully the latter
is just new enough to have `--chmod`, which dates to rsync 2.6.7.
|
|
installer: also test for xz to unpack
|
|
|
|
Sadly 10.15 changed /bin/sh to a shim which executes bash, this means it
can't be used anymore without also opening up the sandbox to allow bash.
Failed to exec /bin/bash as variant for /bin/sh (1: Operation not permitted).
|
|
Nix now runs builds with a pseudo-terminal to enable colored build
output.
|
|
|
|
This is used to determine the dependency tree of impure libraries so nix
knows what paths to open in the sandbox. With the less restrictive
defaults it isn't needed anymore.
|
|
|
|
|
|
|
|
|
|
Remove the --delete option for --gc. Fixes #3343
|
|
Running `nix-store --gc --delete` will, as of Nix 2.3.3, simply fail
because the --delete option conflicts with the --delete operation.
$ nix-store --gc --delete
error: only one operation may be specified
Try 'nix-store --help' for more information.
Furthermore, it has been broken since at least Nix 0.16 (which was
released sometime in 2010), which means that any scripts which depend
on it should have been broken at least nine years ago. This commit
simply formally removes the option. There should be no actual difference
in behaviour as far as the user is concerned: it errors with the exact
same error message. The manual has been edited to remove any references
to the (now gone) --delete option.
Other information:
* Path for Nix 0.16 used:
/nix/store/rp3sgmskn0p0pj1ia2qwd5al6f6pinz4-nix-0.16
|
|
See 0629601da1d163a059fa19004256961f8ecdeb78.
|
|
Fixes #3175.
|
|
|
|
|
|
Everything uses the generic caching system now.
|
|
|
|
This is not compatible with lazy flake input fetching.
|
|
|
|
|
|
If you do a fetchTree on a Git repository, whether the result contains
a revCount attribute should not depend on whether that repository
happens to be a shallow clone or not. That would complicate caching a
lot and would be semantically messy. So applying fetchTree/fetchGit to
a shallow repository is now an error unless you pass the attribute
'shallow = true'. If 'shallow = true', we don't return revCount, even
if the repository is not actually shallow.
Note that Nix itself is not doing shallow clones at the moment. But it
could do so as an optimisation if the user specifies 'shallow = true'.
Issue #2988.
|
|
|
|
Also, don't return a revCount anymore for shallow or dirty Git trees,
since it's incorrect.
Closes #2988.
|
|
|
|
Add missing `#include <regex>`
|
|
|
|
display attr-path only when queried available
|
|
The OpenSSL files were removed in a6ca68a70c3bc0b2e6abad70346c99642a896f9f.
https://salsa.debian.org/debian/nix/issues/3
|
|
|
|
Unless the 'tested' job in the Nixpkgs/NixOS jobsets, this job isn't
actually used for anything (e.g. we don't update a channel based on
whether 'release' succeeds).
|
|
This makes it build on non-x86_64-linux systems (needed in GitHub
actions).
|
|
|
|
Remove the tarball job
|
|
Source tarballs are not very useful anymore. People who want to build
from source can also just build from the Git repository. Once upon a
time, the source tarball also saved users from needing a few
dependencies (e.g. bison and flex) but those are dwarfed by the other
dependencies, so it's no longer worth it.
Note: the release script should be updated to copy the vendoredCrates
tarball.
|
|
|
|
Currently the build fails with
warning: reject refs/heads/HEAD because shallow roots are not allowed to be updated
error: Could not read 0c2088d4386a350f0005ff1a278d0384dbc26881
fatal: Failed to traverse parents of commit ea1803efdc288a400b544e7f1f2d83efdd2792b6
error: program 'git' failed with exit code 128
|
|
|