John Ericson
e7c1113a37
Add test for downstreamPlaceholder
...
This is good in general, but in particular ensures when we heavily
refactor it in the next commit there is less likelihood for an
unintentional change in behavior to sneak in.
2023-05-17 17:31:33 -04:00
John Ericson
32dc77ba5d
Merge pull request #8349 from tweag/fix-control-master
...
Fix ControlMaster behaviour
2023-05-17 12:17:09 -04:00
John Ericson
904878d6d2
Move worker_proto defs out of remote-store.cc to own file
...
These items are not templates, and they declared in
`worker-protocol.hh`; therefore they should live in a
`worker-protocol.cc`.
Anything else needlessly diverges from convention. After all, it is not
like this code is only used in `remote-store.cc`; it is also used in
`daemon.cc`. There is no good reason to place it with the client
implementation or the server implementation when it used equally by
both.
2023-05-17 10:36:03 -04:00
Ben Radford
5966b76c97
Document the new read-only local store setting.
2023-05-17 09:04:52 +01:00
Ben Radford
b1a7b26eef
Rename ReadOnly to Immutable and clarify its purpose.
2023-05-17 09:04:48 +01:00
Ben Radford
aa376f4ab1
Need to open database using immutable parameter.
...
This requires switching on SQLITE_OPEN_URI because there is no open flag to
make the database immutable. Without immutable, sqlite will still attempt to
create journal and wal files, even when the database is opened read-only.
https://www.sqlite.org/c3ref/open.html
The immutable parameter is a boolean query parameter that indicates that the
database file is stored on read-only media. When immutable is set, SQLite
assumes that the database file cannot be changed, even by a process with higher
privilege, and so the database is opened read-only and all locking and change
detection is disabled.
2023-05-17 08:55:04 +01:00
Ben Radford
78fdd6f24e
Open sqlite database according to new modes.
2023-05-17 08:55:04 +01:00
Ben Radford
afed9ccfad
Add enum for intended sqlite database open modes.
2023-05-17 08:55:03 +01:00
Ben Radford
7f443e0428
Do not check for write access to database when read-only.
2023-05-17 08:55:03 +01:00
Ben Radford
c22936ca6a
Do not attempt to migrate to CA schema when read-only.
2023-05-17 08:55:03 +01:00
Ben Radford
50bbdc65c8
Do not attempt to acquire big-lock when read-only.
2023-05-17 08:55:03 +01:00
Ben Radford
79583c2d38
Do not attempt to chmod per-user dir when read-only.
2023-05-17 08:55:03 +01:00
Ben Radford
de359da09a
Add read-only setting to LocalStoreConfig.
2023-05-17 08:55:03 +01:00
Ben Radford
4d69bd034a
More detailed explanation of check-mount setting.
2023-05-16 17:27:49 +01:00
Alexander Bantyev
61cdb0b057
Fix ControlMaster behaviour
2023-05-16 18:50:09 +04:00
John Ericson
3496a5ee86
Merge branch 'best-effort-supplementary-groups' into overlayfs-store
2023-05-15 17:46:15 -04:00
John Ericson
746c6aae3f
Merge remote-tracking branch 'upstream/master' into best-effort-supplementary-groups
2023-05-15 16:50:11 -04:00
John Ericson
72bb9604f3
Merge remote-tracking branch 'upstream/master' into overlayfs-store
2023-05-15 16:34:19 -04:00
John Ericson
2524a21186
Update src/libstore/build/local-derivation-goal.cc
...
Co-authored-by: Guillaume Girol <symphorien@users.noreply.github.com>
2023-05-15 12:38:39 -04:00
Ben Radford
0df37edb1c
Make upper-layer a PathSetting instead of a Setting<string>.
2023-05-15 17:34:31 +01:00
Ben Radford
b0989cb10b
Support percent encoded URIs for lower store.
2023-05-15 17:34:31 +01:00
Ben Radford
b5591ece4c
Check that overlay store directory is mounted correctly.
...
Nix does not manage the overlayfs mount point itself, but the correct
functioning of the overlay store does depend on this mount point being set up
correctly. Rather than just assume this is the case, check that the lowerdir
and upperdir options are what we expect them to be. This check is on by
default, but can be disabled if needed.
2023-05-15 17:34:31 +01:00
John Ericson
f8a6a9e473
Merge pull request #8341 from obsidiansystems/dedup-gen-hh
...
Dedup some markdown -> C++ big literal stuff in build system
2023-05-15 11:44:35 -04:00
Robert Hensing
41591b33a9
Merge pull request #8340 from NixOS/delete-commited-build-artifacts
...
Delete commited build artifacts
2023-05-15 17:30:20 +02:00
John Ericson
98afd6ff76
Delete commited build artifacts
...
They were improperly added in 8a93b5a551 .
They were not `.gitignore`d because they were stale in that commit --
build artifacts no longer used that name by then and so `.gitignore` was
updated accordingly.
2023-05-15 10:50:33 -04:00
John Ericson
bbd7d5de09
Fix some bounds in rapid check instances
...
`inRange` is exclusive not inclusive:
https://github.com/emil-e/rapidcheck/blob/master/doc/generators.md#usage
Furthermore, use `std::variant_size_v` so we use the right number
automatically.
Finally, make the `switch` assert the discriminant is in bounds as
expected.
2023-05-15 10:41:44 -04:00
John Ericson
f7c896cfd8
Dedup some markdown -> C++ big literal stuff in build system
...
This pattern rule was unwisely hidden in `src/libstore/local.mk`. Now it
is properly in `mk/` and we reuse it for the profile docs too.
2023-05-15 10:38:11 -04:00
John Ericson
914672dc4f
Merge pull request #8141 from tweag/user-files-doc
...
Document user files of nix
2023-05-15 07:11:47 -04:00
Matej Urbas
c66a7af0c6
max-substitution-jobs release note entry
2023-05-14 09:51:11 +01:00
Eelco Dolstra
643b8d2126
Merge pull request #8299 from urbas/max-substitution-jobs
...
`max-substitution-jobs` setting
2023-05-12 12:24:27 +02:00
John Ericson
53a1354acf
Merge pull request #3959 from obsidiansystems/ca-drv-exotic
...
Derivations can output "text-hashed" data
2023-05-10 10:41:59 -04:00
John Ericson
4173743a3c
Implement more queries
2023-05-09 17:20:58 -04:00
John Ericson
5059be53b1
Fix recursive ingestion from lower store
2023-05-09 16:42:28 -04:00
John Ericson
6a3a87a714
Improve error message for self reference with text hashing
...
The `ContentAddressWithReferences` method is made total, with error
handling now squarely the caller's job. This is better.
2023-05-09 14:44:08 -04:00
John Ericson
e514b3939a
Add name to some error messages
2023-05-09 13:24:53 -04:00
John Ericson
753fc1661d
Cleanups to content address types
2023-05-09 13:05:38 -04:00
John Ericson
d3c125e5a8
Apply suggestions from code review
...
Thanks!
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-05-09 12:45:51 -04:00
John Ericson
6513f4fe92
Fix bug, newInfo -> newInfo0
...
It appears we were checking a variable in the process of definining it.
2023-05-09 12:31:36 -04:00
John Ericson
35dcbe1c21
Fix spurious change
...
Didn't mean to use the private name that shouldn't be exposed.
2023-05-09 12:19:03 -04:00
John Ericson
e7c3399ed2
Specialize LocalOverlayStore::queryPathFromHashPart
...
With test
2023-05-09 10:40:10 -04:00
John Ericson
ddaf2750b5
Specialize more methods, fix tests
2023-05-09 10:22:38 -04:00
John Ericson
b3d320c594
Convert more methods
...
Fixed one test, broke another
2023-05-08 18:50:16 -04:00
John Ericson
59a8099038
Fix LocalOverlayStore::queryPathInfoUncached, FIXME in test
2023-05-08 17:37:40 -04:00
John Ericson
5406256d78
Specialize LocalOverlayStore::queryPathInfoUncached
2023-05-08 17:30:17 -04:00
John Ericson
31e98ed0a0
Specialize LocalOverlayStore::registerDrvOutput
2023-05-08 16:48:55 -04:00
John Ericson
9c9f5f0d12
Merge branch 'best-effort-supplementary-groups' into overlayfs-store
2023-05-08 14:47:46 -04:00
Matej Urbas
13185133bc
introduces Goal::jobCategory
2023-05-08 19:45:46 +01:00
John Ericson
6d1aa523de
Create escape hatch for supplementary group sandboxing woes
...
There is no obvious good solution for this that has occured to anyone.
2023-05-08 14:41:47 -04:00
Matej Urbas
1ea1e378de
removes MaxSubstitutionJobsSetting
2023-05-08 19:21:57 +01:00
John Ericson
d5fe828d76
Merge remote-tracking branch 'upstream/master' into overlayfs-store
2023-05-08 10:20:18 -04:00