Age | Commit message (Collapse) | Author |
|
This assumption is broken by CA derivations. Making a PR now to do the
breaking daemon change as soon as possible (if it is already too late,
we can bump protocol intead).
|
|
It's a tiny function which is:
- hardly worth abstrating over, and also only used once.
- doesn't work once we get CA drvs
I rewrote the one callsite to be forwards compatable with CA
derivations, and also potentially more performant: instead of reading in
the derivation it can ust consult the SQLite DB in the common case.
|
|
This also will make it easier to use a `HashModuloSink` instead for CA
derivations.
|
|
obsidiansystems/allow-relative-paths-in-store-option
Allow relative paths in --store option
|
|
Add response body to network errors
|
|
The was Eelco's prefered logic, and it looks good to me!
|
|
This was a suggested course of action in a review in one of our earlier
commits, https://github.com/NixOS/nix/pull/3801#discussion_r457557079
|
|
|
|
github.com:obsidiansystems/nix into from-dump-stream
|
|
|
|
Due to https://github.com/NixOS/nix/issues/3841 we don't know how print
different messages for different verbosity levels.
|
|
|
|
Optimize `addToStoreSlow` and remove `TeeParseSink`
|
|
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
|
|
allow-relative-paths-in-store-option
|
|
|
|
We use this to simplify `LocalStore::addToStoreFromDump`.
Also, hope I fixed build error with old clang (used in Darwin CI).
|
|
|
|
|
|
|
|
This reverts commit 592851fb67cd15807109d6f65fb81f6af89af966. We don't
need this extra feature anymore
|
|
I got it to just become `LocalStore::addToStoreFromDump`, cleanly taking
a store and then doing nothing too fancy with it.
`LocalStore::addToStore(...Path...)` is now just a simple wrapper with a
bare-bones sinkToSource of the right dump command.
|
|
from-dump-stream
|
|
|
|
This reverts commit a2c27022e9afc394e08d34d349587c8903fc1a97. See
addToStoreSlow(), we don't need to handle this case efficiently
anymore. In fact, we can almost remove the method/hashAlgo arguments
since the non-recursive and/or non-SHA256 are almost not used anymore.
|
|
|
|
We were calculating the nar hash wrong when the file ingestion method
was flat. I don't think there's anything we can do in that case but dump
the file again, so that's what I do.
As an optomization, we again could reuse the original dump for just the
recursive and non-sha256 case, but I rather do that after this fix, and
after my other PRs which deduplicate this code.
|
|
Rather than copying byte-by-byte, we let the coroutine know how much
data we would like it to send back to us.
|
|
The downsides is that the coroutine has byte-by-byte loop transfer. Will
fix that next.
|
|
I just as little beyond the type as possible, so the implementation
changes this enables can be reviewed separately.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is only used by hydra-queue-runner and it's better to implement
it there.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This helps nix-prefetch-url when using a local store.
|
|
|
|
This reduces memory consumption of
nix-instantiate \
-E 'with import <nixpkgs> {}; runCommand "foo" { src = ./blender; } "echo foo"' \
--option nar-buffer-size 10000
(where ./blender is a 1.1 GiB tree) from 1716 to 36 MiB, while still
ensuring that we don't do any write I/O for small source paths (up to
'nar-buffer-size' bytes). The downside is that large paths are now
always written to a temporary location in the store, even if they
produce an already valid store path. Thus, adding large paths might be
slower and run out of disk space. ¯\_(ツ)_/¯ Of course, you can always
restore the old behaviour by setting 'nar-buffer-size' to a very high
value.
|
|
|
|
Example:
$ nix-build -E 'with import <nixpkgs> {}; runCommand "foo" { x = runCommand "bar" {} "exit 1"; } "echo foo; exit 1"'
warning: unknown setting 'auto-allocate-uids'
these 2 derivations will be built:
/nix/store/v4fbdbhcdi949929a67g8farwf72zgam-bar.drv
/nix/store/k4fsvrjl7cp2xpz7927iv7g0dqj1zyhs-foo.drv
warning: unknown setting 'auto-allocate-uids'
building '/nix/store/v4fbdbhcdi949929a67g8farwf72zgam-bar.drv'...
error: --- Error ----------------------------------------------------------------------------------------------------------------------------------------------------------------- nix-daemon
builder for '/nix/store/v4fbdbhcdi949929a67g8farwf72zgam-bar.drv' failed with exit code 1
error: --- Error ------------------------------------------------------------------------------------------------------------------------------------------------------------------ nix-build
got unknown message type 1 from Nix daemon
|
|
|