aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
AgeCommit message (Collapse)Author
2020-07-10Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
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-02Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
2020-07-02Store subPath in SubstitutionGoalMatthew Bauer
2020-07-02move showTrace to new loggerSettingsBen Burdette
2020-07-02Try next when no ca exists and have different store dirsMatthew Bauer
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 remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
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-22Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
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-19Update worker protocol to support sending storepath mapsMatthew Bauer
We need to also send the ca to daemon in addition to the path.
2020-06-19Replace error message in getDerivationCAMatthew Bauer
2020-06-19Return map of StorePaths in copyPathsMatthew Bauer
This allows the caller to know what values were actually added to the store.
2020-06-19Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
2020-06-19Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
2020-06-19Merge remote-tracking branch 'upstream/master' into no-hash-type-unknownJohn Ericson
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-17Add StorePathCAMap for querySubstitutablePathInfosMatthew Bauer
I’m not 100% sure this is wanted since it kind of makes everything have to know about ca even if they don’t really want to. But it also make things easier in dealing with looking up ca.
2020-06-17Make sure references are empty for store path replacingMatthew Bauer
also copy info2 instead of casting
2020-06-17Add assert for replaced storePathMatthew Bauer