John Ericson
9ef0a9e8aa
Fix hard linking issue causing overlay fs copy-ups
2023-07-25 10:28:11 -04:00
John Ericson
73a55e4005
Merge remote-tracking branch 'layered-store/overlayfs-store' into gc
2023-07-25 09:48:06 -04:00
Ben Radford
497464f494
Extend verify test to check that repair is supported.
2023-07-25 13:33:37 +01:00
John Ericson
0e595a52a3
Remove trailing whitespace
2023-07-24 15:39:59 -04:00
John Ericson
2cabf85b53
Merge remote-tracking branch 'upstream/master' into overlayfs-store
2023-07-24 15:39:36 -04:00
John Ericson
60d8dd7aea
Clean up store hierarchy with IndirectRootStore
...
See the API doc comments for details.
2023-07-24 09:19:44 -04:00
John Ericson
13269ba93b
Make RemoteStore::ConnectionHandle part of class and expose
...
Will need to do subclass-specific implementations in the next commit.
This isn't because there will be multiple variations of the daemon
protocol (whew!) but because different clients pick and choose different
parts to use.
2023-07-24 09:17:01 -04:00
John Ericson
0a30b07277
Move Store::Params typedef to StoreConfig::Params
...
This is because `StoreConfig` also uses it.
2023-07-24 09:03:44 -04:00
John Ericson
4685c9b55f
Merge pull request #8664 from ncfavier/merge-dynamic-attrs
...
parser: merge nested dynamic attributes
2023-07-23 11:03:38 -04:00
Naïm Favier
570a1a3ad7
parser: merge nested dynamic attributes
...
Fixes https://github.com/NixOS/nix/issues/7115
2023-07-21 17:14:03 +02:00
John Ericson
fe1fbdb5a1
Merge pull request #8724 from obsidiansystems/queryPartialDerivationOutputMap-evalStore
...
Give `queryPartialDerivationOutputMap` an `evalStore` parameter
2023-07-21 08:53:18 -04:00
Eelco Dolstra
7ac24d9525
Merge pull request #8650 from obsidiansystems/content-address-simpler
...
Simplify `ContentAddress`
2023-07-21 13:46:53 +02:00
John Ericson
6bc98c7fba
Give queryPartialDerivationOutputMap an evalStore parameter
...
This makes it more useful. In general, the derivation will be in one
store, and the realisation info is in another.
This also helps us avoid duplication. See how `resolveDerivedPath` is
now simpler because it uses `queryPartialDerivationOutputMap`. In #8369
we get more flavors of derived path, and need more code to resolve them
all, and this problem only gets worse.
The fact that we need a new method to deal with the multiple dispatch is
unfortunate, but this generally relates to the fact that `Store` is a
sub-par interface, too bulky/unwieldy and conflating separate concerns.
Solving that is out of scope of this PR.
This is part of the RFC 92 work. See tracking issue #6316
2023-07-20 15:59:52 -04:00
John Ericson
f62543fe1c
Remove unneeded copy
...
It appeared in 8eb73a8724 (by me!) without
justification.
2023-07-20 15:42:06 -04:00
John Ericson
7b30293d38
Tighten #includes: DerivedPath doesn't care about Realisation
2023-07-20 15:42:06 -04:00
Ben Radford
8ddbcb736a
Implement overlay store deduplication.
2023-07-20 10:42:39 +01:00
Ben Radford
614efc1240
Add test for store optimise path deduplication.
2023-07-20 10:42:39 +01:00
Ben Radford
d5cd74a401
Override verifyStore to always pass NoRepair for LocalOverlayStore.
2023-07-20 10:42:39 +01:00
Valentin Gagarin
0e4f6dfcf7
revert anchor prefix for builtin constants
...
the original change broke many pre-existing anchor links.
also change formatting of the constants listing slightly:
- the type should not be part of the anchor
- add highlight to the "impure only" note
2023-07-20 10:27:38 +02:00
Ben Radford
21b9e15d25
Merge branch 'master' into overlayfs-store
2023-07-19 15:00:47 +01:00
Robert Hensing
32494cbb29
Merge pull request #7973 from fricklerhandwerk/remove-channels
...
remove the Channels section
2023-07-19 14:02:26 +02:00
Valentin Gagarin
2fa90e5824
add more details on CA derivations
2023-07-19 13:59:18 +02:00
Valentin Gagarin
5f37ebcf83
document all special system features and their behavior
2023-07-19 13:34:03 +02:00
Robert Hensing
eca07b2a47
Merge pull request #8315 from fricklerhandwerk/doc-system
...
add information on the system type string
2023-07-19 12:07:23 +02:00
Valentin Gagarin
493ddf617f
reformat system-features setting documentation
2023-07-19 11:07:47 +02:00
Valentin Gagarin
feb01b22ed
add links to store API documentation
2023-07-19 11:07:47 +02:00
Valentin Gagarin
6c3cd429a6
fix broken links
2023-07-19 11:01:48 +02:00
Valentin Gagarin
0779005f49
expand on the extra-platforms option
2023-07-19 10:57:37 +02:00
Valentin Gagarin
fcadac0a02
mention extra-platforms
2023-07-19 10:38:42 +02:00
Valentin Gagarin
aba32def73
fix wording
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-07-19 10:38:30 +02:00
Valentin Gagarin
32de11923e
add cross-links
2023-07-19 10:37:40 +02:00
Valentin Gagarin
3763c7bb5e
shorten system setting description
2023-07-19 10:37:40 +02:00
Valentin Gagarin
c8a42039ea
move docs of the current system to the system setting
...
add information what happens when Nix itself is cross-compiled
2023-07-19 10:37:40 +02:00
Valentin Gagarin
0751c1bfc6
one line per sentence for easier review
2023-07-19 10:37:40 +02:00
Robert Hensing
0e3a7e34a0
Merge pull request #8506 from corngood/ssh-master
...
Pass NIX_SSHOPTS when checking for an ssh master connection.
2023-07-18 15:47:57 +02:00
Théophane Hufschmitt
a8d5bb5e7e
Merge pull request #8342 from NixLayeredStore/best-effort-supplementary-groups
...
Best effort supplementary groups
2023-07-17 20:58:17 +02:00
John Ericson
0f7242ff87
Test nested sandboxing, and make nicer error
...
We were bedeviled by sandboxing issues when working on the layered
store. The problem ended up being that when we have nested nix builds,
and the inner store is inside the build dir (e.g. store is
`/build/nix-test/$name/store`, build dir is `/build`) bind mounts
clobber each other and store paths cannot be found.
After thoroughly cleaning up `local-derivation-goal.cc`, we might be
able to make that work. But that is a lot of work. For now, we just fail
earlier with a proper error message.
Finally, test this: nested sandboxing without the problematic store dir
should work, and with should fail with the expected error message.
Co-authored-by: Dylan Green <67574902+cidkidnix@users.noreply.github.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-07-14 09:40:24 -04:00
cidkidnix
04d5aa02e6
Merge branch 'best-effort-supplementary-groups' into overlayfs-store
2023-07-13 14:33:52 -05:00
John Ericson
caabc4f648
Feature gate DownstreamPlaceholder::unknownCaOutput
...
This is a part of CA derivations that we forgot to put behind the
experimental feature.
This was caught by @fricklerhandwerk in
https://github.com/NixOS/nix/pull/8369#discussion_r1258133719
2023-07-13 07:56:33 -04:00
John Ericson
2c3fb0eb33
Move BuiltPath to its own header/C++ file in libcmd
...
It is less important, and used less widely, than `DerivedPath`.
2023-07-12 23:01:10 -04:00
Ben Radford
a2acd23466
Update src/libstore/globals.hh
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-07-12 12:33:05 +01:00
Ben Radford
0309f6b5b8
Update src/libstore/globals.hh
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-07-12 12:32:57 +01:00
Ben Radford
b8e8dfc3e8
Say a bit about default value in setting description.
2023-07-11 11:25:49 +01:00
Ben Radford
a193ec4052
Default should depend on whether we are root.
2023-07-11 11:14:13 +01:00
Ben Radford
2b4c59dd99
Be clearer about the security implications.
2023-07-11 11:09:25 +01:00
Ben Radford
0caf28f238
Update description for require-drop-supplementary-groups.
2023-07-11 10:57:14 +01:00
Ben Radford
07dabcc90e
Always attempt setgroups but allow failure to be ignored.
2023-07-11 10:44:05 +01:00
Ben Radford
25b20b4ad2
Merge remote-tracking branch 'origin/master' into best-effort-supplementary-groups
2023-07-11 09:38:34 +01:00
John Ericson
4a880c3cc0
Merge pull request #8579 from obsidiansystems/findPath-cleanup-2
...
Further search path cleanups
2023-07-10 09:59:01 -04:00
Eelco Dolstra
fea7d3b1cd
Merge pull request #8681 from inclyc/libexpr/parser-move-noeffect
...
libexpr: remove std::move() for `basePath` in parser, it has no effect
2023-07-10 13:30:42 +02:00