Eelco Dolstra
33d04e8a8d
Use nix::connect() to connect to the garbage collector
2021-10-28 22:51:11 +02:00
Eelco Dolstra
22c35ea5b8
Remove unused variable
2021-10-28 22:51:11 +02:00
Eelco Dolstra
a7d4f3411e
Merge remote-tracking branch 'origin/master' into non-blocking-gc
2021-10-28 14:56:55 +02:00
Eelco Dolstra
bc4b7521f4
Rename rl-2.5.md to rl-next.md
...
Having a generically named file for release notes for the next release
makes things easier for PRs.
2021-10-28 14:36:47 +02:00
Eelco Dolstra
5a160171d0
Remove redundant 'warning:'
2021-10-27 18:14:12 +02:00
Eelco Dolstra
9c6ac9eb0e
2.4 release notes: Add some migration notes
2021-10-27 17:33:32 +02:00
Eelco Dolstra
9559f74a99
Merge pull request #5440 from edolstra/build-remote
...
Fix preferLocalBuild when max-jobs == 0
2021-10-27 15:27:17 +02:00
Eelco Dolstra
1254e8753c
build-remote: Implicitly add the 'builtin' system type to all machines
...
This makes 'nix-env -i --max-jobs 0' work with remote builders.
2021-10-27 14:25:13 +02:00
Eelco Dolstra
f2280749b1
If max-jobs == 0, do preferLocalBuild on remote builders
2021-10-27 14:21:31 +02:00
Eelco Dolstra
6e684d1b87
daemon: Accept 'repeat' setting from untrusted users
...
Fixes #5352 .
2021-10-27 13:09:13 +02:00
Eelco Dolstra
13a7a24ba5
Style
2021-10-27 13:02:37 +02:00
Eelco Dolstra
5667822edc
Merge pull request #5421 from bew/fix-devshell-build-on-non-nixos
...
Fix devShell build on non-NixOS with a different boost version
2021-10-26 14:45:30 +02:00
Eelco Dolstra
0d9e050ba7
parseExperimentalFeature(): Initialize atomically
2021-10-26 14:29:48 +02:00
Eelco Dolstra
9ce84c64c5
Tweak fetchTree docs
2021-10-26 14:21:24 +02:00
Eelco Dolstra
3155862bae
Merge remote-tracking branch 'origin/overhaul-xp-features'
2021-10-26 14:08:27 +02:00
regnat
af99941279
Make experimental-features a proper type
...
Rather than having them plain strings scattered through the whole
codebase, create an enum containing all the known experimental features.
This means that
- Nix can now `warn` when an unkwown experimental feature is passed
(making it much nicer to spot typos and spot deprecated features)
- It’s now easy to remove a feature altogether (once the feature isn’t
experimental anymore or is dropped) by just removing the field for the
enum and letting the compiler point us to all the now invalid usages
of it.
2021-10-26 07:02:31 +02:00
Benoit de Chezelles
ec9c1286ad
Fix devShell build on non-NixOS with a different boost version
2021-10-23 15:32:48 +02:00
Domen Kožar
4a2b7cc68c
Merge pull request #5405 from NixOS/dependabot/github_actions/actions/checkout-2.3.5
...
Bump actions/checkout from 2.3.4 to 2.3.5
2021-10-19 12:13:10 -05:00
dependabot[bot]
2400819809
Bump actions/checkout from 2.3.4 to 2.3.5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 22:01:24 +00:00
Domen Kožar
623514bf9e
Merge pull request #5398 from kamadorueda/master
...
fetch: nicer infinite recursion errors
2021-10-17 20:55:36 -05:00
Domen Kožar
51c812d6bb
Merge pull request #5365 from arafangion/master
...
Clarify that not all nix packages will use the default build phases
2021-10-17 20:54:00 -05:00
Kevin Amado
823dce945a
fetch: nicer infinite recursion errors
...
- This change applies to builtins.fetchurl and builtins.fetchTarball
- PoC: `let x = builtins.fetchurl x; in x`
- Before:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
```
- After:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
at /data/github/kamadorueda/nix/test.nix:1:9:
1| let x = builtins.fetchurl x; in x
| ^
```
Mentions: #3505
2021-10-17 12:54:53 -05:00
Eelco Dolstra
97b4904136
Merge pull request #5396 from kamadorueda/master
...
fetchTree: add pos to EvalState::forceValue
2021-10-17 19:50:21 +02:00
John Chapman
ffeec5f283
Clarify that not all nix packages will use the default build phases
2021-10-17 15:24:22 +11:00
Kevin Amado
e5a27a3b4e
fetchTree: add pos to EvalState::forceValue
...
- This way we improve error messages
on infinite recursion
- Demo:
```nix
let x = builtins.fetchTree {
type = "git";
inherit x;
};
in x
```
- Before:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
```
- After:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
at /data/github/kamadorueda/nix/test.nix:3:10:
2| type = "git";
3| inherit x;
| ^
4| };
```
Mentions: #3505
2021-10-15 19:25:19 -05:00
Kevin Amado
18e3d63341
fetchTree: add pos to EvalState::forceValue
...
- This way we improve error messages
on infinite recursion
- Demo:
```nix
let x = builtins.fetchTree x;
in x
```
- Before:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
```
- After:
```bash
$ nix-instantiate --extra-experimental-features flakes --strict
error: infinite recursion encountered
at /data/github/kamadorueda/nix/test.nix:1:9:
1| let x = builtins.fetchTree x;
| ^
2| in x
```
Mentions: #3505
2021-10-15 19:25:19 -05:00
Eelco Dolstra
a594d1afd5
Revert "Fix referrers test"
...
This reverts commit e31a48366f
. Unnecessary after 0be8cc1466
.
2021-10-15 16:58:21 +02:00
Eelco Dolstra
10f9a8e77d
Add a test for the non-blocking GC
2021-10-15 16:52:37 +02:00
Eelco Dolstra
ac54c6faa6
Fix main GC thread exiting
2021-10-15 16:36:48 +02:00
Eelco Dolstra
e0936ae38f
Fix crash when a GC client disconnects
...
The client thread can't just delete its own thread object from
connections, it has to detach it.
2021-10-15 16:12:21 +02:00
Eelco Dolstra
130284b850
Merge pull request #5390 from NixOS/fix-isnewerthan-check
...
Fix the `isDaemonNewer` guard in the testsuite
2021-10-15 15:50:20 +02:00
regnat
0b55c8767d
Disable the eval-store test when using the daemon
...
Using the daemon will break most of the assumptions of this test, so
it’s as simple to just disable it
2021-10-15 14:15:43 +02:00
Eelco Dolstra
4d014221d4
Fix test against old daemon
2021-10-15 12:52:21 +02:00
Eelco Dolstra
be35569a6e
Run installTests on Hydra
2021-10-15 12:36:29 +02:00
Eelco Dolstra
304180d0de
Memoize queryReferrers()
2021-10-15 12:20:23 +02:00
Eelco Dolstra
c0951299b3
Merge pull request #5383 from kvtb/patch-7
...
fix build with gcc11
2021-10-15 09:03:12 +02:00
Eelco Dolstra
c574ab3907
Merge pull request #5388 from yvt/fix-oahd-path
...
Add another path where a Rosetta 2 daemon plist file is possibly located
2021-10-15 09:02:16 +02:00
Domen Kožar
330650d294
Merge pull request #5389 from kamadorueda/master
...
add pos to EvalState::forceValue
2021-10-15 00:17:11 -05:00
Kevin Amado
1bdeef8395
add pos to EvalState::forceValue
...
- This way we improve error messages
on infinite recursion
- Demo:
```nix
let
x = builtins.fetchMercurial x;
in
x
```
- Before:
```bash
$ nix-instantiate --show-trace --strict
error: infinite recursion encountered
```
- After:
```bash
nix-instantiate --show-trace --strict
error: infinite recursion encountered
at /data/github/kamadorueda/test/default.nix:2:7:
1| let
2| x = builtins.fetchMercurial x;
| ^
3| in
```
Mentions: #3505
2021-10-14 23:23:05 -05:00
yvt
a9d9e55551
Add another path where a Rosetta 2 configuration file is possibly located
2021-10-15 09:48:15 +09:00
regnat
b598e5c47c
Fix the min bound for the structured-attrs test
...
The min bound written corresponds to the date of the commit that
introduced the change, but it only got merged on master some weeks
later. Since the version is essentially the commit date, that means that
there’s a whole range of commits on master (including the current
`nixUnstable`) that have a higher version but don’t contain the required
change.
2021-10-14 16:00:59 +02:00
regnat
3a2fc9ce1d
Fix the isDaemonNewer
check
...
- Don’t hardcode the “newer” version
- Remove an ill-placed `return`
2021-10-14 16:00:45 +02:00
Eelco Dolstra
17e6ebcc90
Speed up GC by marking entire closures as live
2021-10-14 14:13:57 +02:00
Eelco Dolstra
0154fa30cf
Remove GCState
2021-10-14 13:52:49 +02:00
Eelco Dolstra
0317ffdad3
Move deleteFromStore()
2021-10-14 13:34:48 +02:00
Eelco Dolstra
0be8cc1466
pathInfoCache: Use the entire base name as the cache key
...
This fixes a bug in the garbage collector where if a path
/nix/store/abcd-foo is valid, but we do a
isValidPath("/nix/store/abcd-foo.lock") first, then a negative entry
for /nix/store/abcd is added to pathInfoCache, so /nix/store/abcd-foo
is subsequently considered invalid and deleted.
2021-10-14 13:28:22 +02:00
Eelco Dolstra
eab934cb2a
Make the canReachRoots() traversal non-recursive
2021-10-14 12:34:32 +02:00
Eelco Dolstra
09b14ea97a
Cleanup
2021-10-14 10:04:13 +02:00
kvtb
eae29b0385
fix build with gcc11
2021-10-13 18:03:33 +00:00
Eelco Dolstra
35c98a59c5
Fix GC when there are cycles in the referrers graph
...
(where "referrers" includes the reverse of derivation outputs and
derivers). Now we do a full traversal to look if we can reach any
root. If not, all paths reached can be deleted.
2021-10-13 12:12:44 +02:00