Daniel Pauls
fa83b865a2
libexpr: Throw the correct error in toJSON
...
BaseError::addTrace(...) returns a BaseError, but we want to
throw a TypeError instead.
Fixes #6336 .
2022-03-30 15:50:13 +02:00
Eelco Dolstra
22522722a6
Merge pull request #6335 from thufschmitt/gitignore-stray-files
...
Gitignore or don’t create some build outputs
2022-03-30 14:49:15 +02:00
Théophane Hufschmitt
87f867ef62
Gitignore the generated systemd nix-daemon conf file
2022-03-30 11:43:08 +02:00
Théophane Hufschmitt
8dee15cd31
Don’t create a file in the worktree in the fetchPath test
2022-03-30 11:42:47 +02:00
Eelco Dolstra
ed581e51cc
Merge pull request #6334 from NixOS/require-mounts-for-db
...
nix-daemon.service: require mounts for /nix/var/nix/db
2022-03-30 11:40:38 +02:00
Graham Christensen
3b26dd51ff
nix-daemon.service: require mounts for /nix/var/nix/db
...
Users may want to mount a filesystem just for the Nix database, with
the filesystem's parameters specially tuned for sqlite. For example, on
ZFS you might set the recordsize to 64k after changing the database's
page size to 65536.
2022-03-29 21:05:57 -04:00
Eelco Dolstra
03be091e0a
Merge pull request #6268 from thufschmitt/remove-the-variant-in-hashmodulo
...
Simplify the handling of the hash modulo
2022-03-29 20:26:47 +02:00
Théophane Hufschmitt
390269ed87
Simplify the handling of the hash modulo
...
Rather than having four different but very similar types of hashes, make
only one, with a tag indicating whether it corresponds to a regular of
deferred derivation.
This implies a slight logical change: The original Nix+multiple-outputs
model assumed only one hash-modulo per derivation. Adding
multiple-outputs CA derivations changed this as these have one
hash-modulo per output. This change is now treating each derivation as
having one hash modulo per output.
This obviously means that we internally loose the guaranty that
all the outputs of input-addressed derivations have the same hash
modulo. But it turns out that it doesn’t matter because there’s nothing
in the code taking advantage of that fact (and it probably shouldn’t
anyways).
The upside is that it is now much easier to work with these hashes, and
we can get rid of a lot of useless `std::visit{ overloaded`.
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2022-03-29 18:17:35 +02:00
Théophane Hufschmitt
2d572a250f
Merge pull request #6330 from edolstra/run-remote-store
...
nix {run,shell}: Print a better error message if the store is not local
2022-03-28 17:57:37 +02:00
Eelco Dolstra
a3f932db32
Merge pull request #6328 from edolstra/fix-nix-profile-install
...
nix profile install: Don't use queryDerivationOutputMap()
2022-03-28 17:25:27 +02:00
Eelco Dolstra
b266fd53dd
nix {run,shell}: Print a better error message if the store is not local
...
Closes #6317
2022-03-28 14:58:38 +02:00
Eelco Dolstra
057f9ee190
nix profile install: Don't use queryDerivationOutputMap()
...
Instead get the outputs from Installable::build(). This will also
allow 'nix profile install' to support impure derivations.
Fixes #6286 .
2022-03-28 14:23:39 +02:00
Théophane Hufschmitt
0b33c9f9c3
Merge pull request #6319 from Artturin/fixtypo
...
scripts/install-systemd-multi-user.sh: fix typo
2022-03-28 09:05:26 +02:00
Artturin
247d2cb661
scripts/install-systemd-multi-user.sh: fix typo
...
sytemd-tmpfiles -> systemd-tmpfiles
2022-03-26 00:58:19 +02:00
Eelco Dolstra
1844172dd1
Merge pull request #6314 from edolstra/experimental-primop
...
Only provide builtins is the corresponding experimental feature is enabled
2022-03-25 16:16:31 +01:00
Eelco Dolstra
16cf1e6089
Merge pull request #6311 from edolstra/return-wanted-paths
...
Make buildPathsWithResults() only return info on wanted outputs
2022-03-25 15:44:39 +01:00
Eelco Dolstra
fc35b11a7c
Fix mismatched tag warning on clang
2022-03-25 15:22:22 +01:00
Eelco Dolstra
8c363eb3eb
Document getFlake
...
Fixes #5523 .
2022-03-25 14:19:55 +01:00
Eelco Dolstra
86b05ccd54
Only provide builtin.{getFlake,fetchClosure} is the corresponding experimental feature is enabled
...
This allows writing fallback code like
if builtins ? fetchClosure then
builtins.fetchClose { ... }
else
builtins.storePath ...
2022-03-25 14:04:18 +01:00
Eelco Dolstra
55bc524019
Merge pull request #6051 from Ma27/fix-empty-nix-log
...
`nix log` should also work if the log didn't provide any output
2022-03-25 10:35:10 +01:00
Eelco Dolstra
377782ecae
Merge pull request #6292 from polykernel/permissive-spacing-repl
...
nix: allow whitespace characters before command in repl
2022-03-25 10:24:06 +01:00
Eelco Dolstra
50c229ad9a
Use wantOutput
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-03-25 08:02:49 +01:00
polykernel
cbcb69a39c
nix: allow whitespace characters before command in repl
...
Before this change, processLine always uses the first character
as the start of the line. This cause whitespaces to matter at the
beginning of the line whereas it does not matter anywhere else.
This commit trims leading white spaces of the string line so that
subsequent operations can be performed on the string without explicitly
tracking starting and ending indices of the string.
2022-03-24 21:33:29 -04:00
Eelco Dolstra
187dc080a2
tests/build.sh: Test that 'nix build' only prints wanted outputs
2022-03-24 23:36:14 +01:00
Eelco Dolstra
540d7e33d8
Retry substitution after an incomplete closure only once
...
This avoids an infinite loop in the final test in
tests/binary-cache.sh. I think this was only not triggered previously
by accident (because we were clearing wantedOutputs in between).
2022-03-24 23:25:12 +01:00
Eelco Dolstra
fe5509df9a
Only return wanted outputs
2022-03-24 23:24:48 +01:00
Eelco Dolstra
09796c0263
Random cleanup
2022-03-24 23:24:10 +01:00
Eelco Dolstra
175c78591b
Random cleanup
2022-03-24 23:09:43 +01:00
Maximilian Bosch
d02e34ef06
Implement regression test for empty logs loaded via nix log
2022-03-24 22:31:52 +01:00
Maximilian Bosch
c85467a1b6
Revert "TarArchive: Small refactoring"
...
This reverts commit 50a35860ee
.
With this change Nix fails to open bzip2 logfiles that were created from
builds with no stdout/stderr.
2022-03-24 22:30:46 +01:00
Eelco Dolstra
d9cfd853e5
Merge pull request #6302 from edolstra/fetch-closure
...
Add builtins.fetchClosure
2022-03-24 22:13:57 +01:00
Eelco Dolstra
f902f3c2cb
Add experimental feature 'fetch-closure'
2022-03-24 21:33:33 +01:00
Eelco Dolstra
e5f7029ba4
nix store make-content-addressed: Support --from / --to
2022-03-24 21:33:33 +01:00
Eelco Dolstra
98658ae9d2
Document fetchClosure
2022-03-24 21:33:33 +01:00
Eelco Dolstra
28186b7044
Add a test for fetchClosure and 'nix store make-content-addressed'
2022-03-24 21:33:33 +01:00
Eelco Dolstra
4120930ac1
fetchClosure: Only allow some "safe" store types
2022-03-24 21:33:33 +01:00
Eelco Dolstra
7ffda0af6e
fetchClosure: Skip makeContentAddressed() if toPath is already valid
2022-03-24 21:33:33 +01:00
Eelco Dolstra
5acaf13d35
Rename 'nix store make-content-addressable' to 'nix store make-content-addressed'
2022-03-24 21:33:33 +01:00
Eelco Dolstra
f18607549c
Fix makeContentAddressed() on self-references
...
LocalStore::addToStore() since
79ae9e4558
expects a regular NAR hash,
rather than a NAR hash modulo self-references. Fixes #6300 .
Also, makeContentAddressed() now rewrites the entire closure (so 'nix
store make-content-addressable' no longer needs '-r'). See #6301 .
2022-03-24 21:33:33 +01:00
Eelco Dolstra
545c2d0d8c
fetchClosure: Allow a path to be rewritten to CA on the fly
...
The advantage is that the resulting closure doesn't need to be signed,
so you don't need to configure any binary cache keys on the client.
2022-03-24 21:33:33 +01:00
Eelco Dolstra
7f6fe8ca1d
Rename
2022-03-24 21:33:33 +01:00
Eelco Dolstra
41659418cf
fetchClosure: Require a CA path in pure mode
2022-03-24 21:33:33 +01:00
Eelco Dolstra
f4bafc412f
Add builtins.fetchClosure
...
This allows closures to be imported at evaluation time, without
requiring the user to configure substituters. E.g.
builtins.fetchClosure {
storePath = /nix/store/f89g6yi63m1ywfxj96whv5sxsm74w5ka-python3.9-sqlparse-0.4.2;
from = "https://cache.ngi0.nixos.org ";
}
2022-03-24 21:33:33 +01:00
Eelco Dolstra
c9148f4ece
Merge pull request #6285 from flokli/add-tmpfile
...
nix-daemon.conf.in: add tmpfiles file to create nix/daemon-socket directory
2022-03-24 21:24:53 +01:00
Eelco Dolstra
d67fe90375
Merge pull request #6305 from flox/genericClosure_doc
...
docs: genericClosure
2022-03-24 14:02:58 +01:00
Eelco Dolstra
97734fea1b
Merge pull request #6308 from NixOS/consisten-use-of-url-uri-5872
...
Fix flake profile use of originalUrl vs. originalUri
2022-03-24 14:02:33 +01:00
Eelco Dolstra
721481e092
Merge pull request #6307 from edolstra/cp-symlinks
...
install-multi-user.sh: Preserve symlinks
2022-03-24 13:22:24 +01:00
Tom Bereknyei
0736f3651d
docs: genericClosure
2022-03-24 08:03:59 -04:00
Eelco Dolstra
bb0c4b9f25
install-multi-user.sh: Preserve symlinks
...
We need to pass -P to ensure that symlinks are copied correctly. Fixes #6303 .
2022-03-24 12:48:59 +01:00
Rok Garbas
4546a007a4
Fix flake profile use of originalUrl vs. originalUri
...
Fixes #5872
2022-03-24 12:28:38 +01:00