aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
AgeCommit message (Collapse)Author
2020-07-14Rename variable `nar` -> `dump` according to TODOJohn Ericson
2020-07-14Fix localhost::addToStore(...Path...)John Ericson
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.
2020-07-14DohEelco Dolstra
2020-07-13Fix 'nix verify --all' on a binary cache (cached case)Eelco Dolstra
2020-07-13Make 'nix copy' to s3:// binary caches run in constant memoryEelco Dolstra
2020-07-13Remove istringstream_nocopyEelco Dolstra
2020-07-13Remove 'accessor' from addToStore()Eelco Dolstra
This is only used by hydra-queue-runner and it's better to implement it there.
2020-07-13NarAccessor: Run in constant memoryEelco Dolstra
2020-07-13Make 'nix copy' to file:// binary caches run in constant memoryEelco Dolstra
2020-07-13Store::pathInfoToJSON(): Use consistent format for downloadHashEelco Dolstra
2020-07-13toStorePath(): Return a StorePath and the suffixEelco Dolstra
2020-07-13Fix 'nix verify --all' on a binary cache and add a testEelco Dolstra
2020-07-10Avoid a redundant hashEelco Dolstra
2020-07-10Factor out commonality between nix-prefetch-url and nix-store --add-fixedEelco Dolstra
2020-07-09LocalStore::addToStore(srcPath): Handle the flat caseEelco Dolstra
This helps nix-prefetch-url when using a local store.
2020-07-08CleanupEelco Dolstra
2020-07-08Make LocalStore::addToStore(srcPath) run in constant memoryEelco Dolstra
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.
2020-07-08Fix 'got unknown message type 1 from Nix daemon'Eelco Dolstra
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
2020-07-07exportReferencesGraph: Fix support for non-top-level store pathsEelco Dolstra
Fixes #3471.
2020-07-03Merge branch 'master' into add-traceBen Burdette
2020-07-03Shorten the path to the test rootregnat
Fix a socket length failure on the OSX builders
2020-07-02move showTrace to new loggerSettingsBen Burdette
2020-07-01CleanupEelco Dolstra
2020-07-01Merge branch 'remote-query-outputs' of https://github.com/tweag/nixEelco Dolstra
2020-06-30comments and cleanupBen Burdette
2020-06-30Merge branch 'master' into add-traceBen Burdette
2020-06-29showTrace flag in loggersBen Burdette
2020-06-29Merge pull request #3729 from obsidiansystems/simpler-hased-mirrorEelco Dolstra
hashed-mirrors: Use parsed derivation output rather than reconstructing it
2020-06-29Merge pull request #3749 from rodarima/masterEelco Dolstra
Fall back to copyPath if link fails with EPERM
2020-06-25Fix empty std::optional dereference in writeDerivation()Eelco Dolstra
https://hydra.nixos.org/build/123017579
2020-06-25Fall back to copyPath if link fails with EPERMRodrigo
BeeGFS doesn't allow hard-links and returns EPERM, so we fall back to copyPath. See https://github.com/NixOS/nix/issues/3748
2020-06-24Add a way to get all the outputs of a derivation with their labelregnat
Generalize `queryDerivationOutputNames` and `queryDerivationOutputs` by adding a `queryDerivationOutputMap` that returns the map `outputName=>outputPath` (not that this is not equivalent to merging the results of `queryDerivationOutputs` and `queryDerivationOutputNames` as sets don't preserve the order, so we would end up with an incorrect mapping). squash! Add a way to get all the outputs of a derivation with their label Rename StorePathMap to OutputPathMap
2020-06-22hashed-mirrors: Use parsed derivation output rather than reconstructing itJohn Ericson
Now the derivation outputs are parsed up front, we can avoid a reparse by doing it. Also, this just feels a bit better as the `output*` env vars are more of a `libnixexpr` interface than `libnixstore` interface: ultimately, it's the derivation outputs that decide whether the derivation is fixed-output. Yes, hashed mirrors might go away with #3689, but this bit of code would be moved rather than deleted, so it's worth doing a cleanup anyways I think.
2020-06-19More designated initializersJohn Ericson
2020-06-19Merge remote-tracking branch 'me/no-stringly-typed-derivation-output' into ↵John Ericson
validPathInfo-ca-proper-datatype
2020-06-19Remove unneeded constructor for `DerivationOutputHash`John Ericson
2020-06-19Merge remote-tracking branch 'upstream/master' into ↵John Ericson
no-stringly-typed-derivation-output
2020-06-19Use designated initializers for `DerivationOutputHash`John Ericson
2020-06-19FileSystemHash -> DerivationOutputHashJohn Ericson
2020-06-19Remove some `Base::` that crept inJohn Ericson
2020-06-18Merge branch 'validPathInfo-temp' into validPathInfo-ca-proper-datatypeJohn Ericson
2020-06-18Merge branch 'no-hash-type-unknown' into validPathInfo-tempJohn Ericson
2020-06-18Revert the `enum struct` changeJohn Ericson
Not a regular git revert as there have been many merges and things.
2020-06-18Merge branch 'enum-class' into no-hash-type-unknownJohn Ericson
2020-06-18Merge remote-tracking branch 'upstream/master' into enum-classJohn Ericson
2020-06-18Rename content-addressed-paths into ca-derivationsregnat
See <https://github.com/NixOS/nix/pull/3710#issuecomment-645480333>
2020-06-17Merge pull request #3713 from matthewbauer/cleanup-warningsEelco Dolstra
Cleanup class StorePath warning
2020-06-17Merge pull request #3712 from ↵Eelco Dolstra
obsidiansystems/make-http-successful-states-coherent Make successful states coherent
2020-06-17Remove unused narInfoFile in binary-cache-storeMatthew Bauer
2020-06-17Replace struct StorePath with class StorePathMatthew Bauer
also a similar case with struct Goal