aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-02-13Fix #1762Linus Heckemann
nix-store --export, nix-store --dump, and nix dump-path would previously fail silently if writing the data out failed, because a) FdSink::write ignored exceptions, and b) the commands relied on FdSink's destructor, which ignores exceptions, to flush the data out. This could cause rather opaque issues with installing nixos, because nix-store --export would happily proceed even if it couldn't write its data out (e.g. if nix-store --import on the other side of the pipe failed). This commit adds tests that expose these issues in the nix-store commands, and fixes them for all three.
2018-02-13Merge pull request #1859 from FRidh/flattenEelco Dolstra
Nix stats: flatten statistics
2018-02-12Fix hang in build-remoteEelco Dolstra
2018-02-12Fix 'deadlock: trying to re-acquire self-held lock'Eelco Dolstra
This was caused by derivations with 'allowSubstitutes = false'. Such derivations will be built locally. However, if there is another SubstitionGoal that has the output of the first derivation in its closure, then the path will be simultaneously built and substituted. There was a check to catch this situation (via pathIsLockedByMe()), but it no longer worked reliably because substitutions are now done in another thread. (Thus the comment 'It can't happen between here and the lockPaths() call below because we're not allowing multi-threading' was no longer valid.) The fix is to handle the path already being locked in both SubstitutionGoal and DerivationGoal.
2018-02-12toBuildables -> buildEelco Dolstra
2018-02-11Nix stats: flatten statisticsFrederik Rietdijk
Flattens the list of statistics as suggested in https://github.com/NixOS/ofborg/issues/67. This makes it easier to work with.
2018-02-09nix: Ensure that the user sees errors from substitutersEelco Dolstra
2018-02-09getDefaultSubstituters(): Skip broken substitutersEelco Dolstra
Fixes #1340.
2018-02-09Merge pull request #1848 from AmineChikhaoui/parallel-xzEelco Dolstra
support multi threaded xz encoder
2018-02-08nix-env: Fix parsing of --systemEelco Dolstra
https://hydra.nixos.org/build/68827814
2018-02-08Merge branch 'master' of https://github.com/NixOS/nix into parallel-xzAmineChikhaoui
2018-02-07More completely fix recursive nix, unbreak testsWill Dietz
See: https://github.com/NixOS/nix/commit/88b5d0c8e89afefbc547b6243c5aa5a3ec8176e9#commitcomment-27406365
2018-02-07Merge branch 'master' of https://github.com/NixOS/nix into parallel-xzAmineChikhaoui
2018-02-07move the parallel-compression setting to binary-cache-store, the settingAmineChikhaoui
can be done now from the url e.g s3://nix-cache?parallel-compression=1 instead of nix.conf.
2018-02-07Prevent accidental recursive NixEelco Dolstra
2018-02-07make multi threaded compression configurable and use single threadedAmineChikhaoui
by default.
2018-02-07Merge branch 'master' of https://github.com/NixOS/nix into parallel-xzAmineChikhaoui
2018-02-07Improve filtering of ANSI escape sequences in build logsEelco Dolstra
All ANSI sequences except color setting are now filtered out. In particular, terminal resets (such as from NixOS VM tests) are filtered out. Also, fix the completely broken tab character handling.
2018-02-07Merge pull request #1816 from shlevy/add-pathEelco Dolstra
Add path primop.
2018-02-07set block size to 0 to let the lzma lib choose the right one, addAmineChikhaoui
some comments about possible improvements wrt memory usage/threading.
2018-02-06Add path primop.Shea Levy
builtins.path allows specifying the name of a path (which makes paths with store-illegal names now addable), allows adding paths with flat instead of recursive hashes, allows specifying a filter (so is a generalization of filterSource), and allows specifying an expected hash (enabling safe path adding in pure mode).
2018-02-06support multi threaded xz encoder, this might be particularly useful inAmineChikhaoui
the case of hydra where the overhead of single threaded encoding is more noticeable e.g most of the time spent in "Sending inputs"/"Receiving outputs" is due to compression while the actual upload to the binary cache seems to be negligible.
2018-02-06Update the progress bar at most 20 times per secondEelco Dolstra
Fixes #1834.
2018-02-06realiseContext(): Add derivation outputs to the allowed pathsEelco Dolstra
This makes import-from-derivation work in restricted mode again.
2018-02-06checkURI(): Check file URIs against allowedPathsEelco Dolstra
This makes e.g. 'fetchGit ./.' work (assuming that ./. is an allowed path).
2018-02-05Tweak progress bar messageEelco Dolstra
Say "copying" instead of "fetching" when copying from another local store. Nice for nixos-install.
2018-02-05Allow substituters to be marked as trustedEelco Dolstra
This is needed by nixos-install, which uses the Nix store on the installation CD as a substituter. We don't want to disable signature checking entirely because substitutes from cache.nixos.org should still be checked. So now we can pas "local?trusted=1" to mark only the Nix store in /nix as not requiring signatures. Fixes #1819.
2018-02-05Fix segfault using non-binary cache stores as substitutersEelco Dolstra
2018-02-03Remove nix-build --hashEelco Dolstra
Instead, if a fixed-output derivation produces has an incorrect output hash, we now unconditionally move the outputs to the path corresponding with the actual hash and register it as valid. Thus, after correcting the hash in the Nix expression (e.g. in a fetchurl call), the fixed-output derivation doesn't have to be built again. It would still be good to have a command for reporting the actual hash of a fixed-output derivation (instead of throwing an error), but "nix-build --hash" didn't do that.
2018-02-01Merge branch 'master' of git://github.com/catern/nixShea Levy
2018-02-01nix-build: Ignore --indirectEelco Dolstra
Note that nix-build always creates indirect roots. Fixes #1830.
2018-02-01Remove obsolete references to manifestsEelco Dolstra
Closes #323.
2018-01-31document ability to set NIX_REMOTE=unix://path/to/socketSpencer Baugh
2018-01-31Merge pull request #1801 from catern/masterEelco Dolstra
remote_store: register for NIX_REMOTE=unix://path
2018-01-31Fix building without aws-sdk-cppEelco Dolstra
2018-01-31Rename 1.12 -> 2.0Eelco Dolstra
Following discussion with Shea and Graham. It's a big enough change from the last release. Also, from a semver perspective, 2.0 makes more sense because we did remove some interfaces (like nix-pull/nix-push).
2018-01-31Add 'nix upgrade-nix' commandEelco Dolstra
This command upgrades Nix to the latest stable version by installing a store path obtained from https://github.com/NixOS/nixpkgs/raw/master/nixos/modules/installer/tools/nix-fallback-paths.nix which is the same store path that the installer at https://nixos.org/nix/install.sh uses. The upgrade fails if Nix is not installed in a profile (e.g. on NixOS, or when installed outside of the Nix store).
2018-01-31CleanupEelco Dolstra
2018-01-31Merge branch 'http-binary-cache-put-upsert' of https://github.com/adelbertc/nixEelco Dolstra
2018-01-31Indent properlyEelco Dolstra
2018-01-26remote_store: register for NIX_REMOTE=unix://pathSpencer Baugh
This allows overriding the socket path so the daemon may be listening at an arbitrary Unix domain socket location. Fixes #1800
2018-01-26HttpBinaryCacheStore: Support upsertFile with PUT.Shea Levy
Some servers, such as Artifactory, allow uploading with PUT and BASIC auth. This allows nix copy to work to upload binaries to those servers. Worked on together with @adelbertc
2018-01-26Remove signed-binary-caches as the default for require-sigsEelco Dolstra
This was for backward compatibility. However, with security-related configuration settings, it's best not to have any confusion. Issue #495.
2018-01-24Merge pull request #1811 from dtzWill/update/json-3.0.1Eelco Dolstra
nlohmann-json: 2.1.1 -> 3.0.1
2018-01-23Fix obscure corner case in name resolution for builtin:fetchurl in sandboxed ↵Dan Peebles
environments
2018-01-22nlohmann-json: 2.1.1 -> 3.0.1Will Dietz
2018-01-19Don't use [[noreturn]]Eelco Dolstra
2018-01-19Rewrite builtin derivation environmentEelco Dolstra
Also add a test. Fixes #1803. Closes #1805.
2018-01-19Don't retry CURLE_URL_MALFORMATEelco Dolstra
2018-01-18Don't define builtins.{currentSystem,currentTime} in pure modeEelco Dolstra
This makes it easier to provide a default, e.g. system = builtins.currentSystem or "x86_64-linux";