aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-05-12runProgram: support gid, uid, chdirGraham Christensen
2019-05-12chdir, setgroupsGraham Christensen
2019-05-12diff hook: execute as the build user, and pass the temp dirGraham Christensen
2019-05-12build: run diff-hook under --check and document diff-hookGraham Christensen
2019-05-12build: move needsHashRewrite initialization to startBuilderDaiderd Jordan
The value of useChroot is not set yet in the constructor, resulting in hash rewriting being enabled in certain cases where it should not be. Fixes #2801
2019-05-11progress-bar: hide expected if expected is 0 (unknown)Florian Klink
Sometimes, "expected" can be "0", but in fact means "unknown". This is for example the case when downloading a file while the http server doesn't send the `Content-Length` header, like when running `nix build` pointing to a nixpkgs checkout streamed from GitHub: ⇒ nix build -f https://github.com/NixOS/nixpkgs/archive/master.tar.gz hello [1.8/0.0 MiB DL] downloading 'https://github.com/NixOS/nixpkgs/archive/master.tar.gz' In that case, don't show that weird progress bar, but only the (slowly increasing) downloaded size ("done"). ⇒ nix build -f https://github.com/NixOS/nixpkgs/archive/master.tar.gz hello [1.8 MiB DL] downloading 'https://github.com/NixOS/nixpkgs/archive/master.tar.gz' This commit also updates fmt calls with three numbers (when something is currently 'running' too) - I'm not sure if this can be provoked, but showing "0" as expected doesn't make any sense, as we're obviously doing more than nothing.
2019-05-08nix-shell: Don't absolutize '-p' expressionsEelco Dolstra
This prevents spurious syscalls like 25011 lstat("/home/eelco/with import <nixpkgs> { }; (pkgs.runCommandCC or pkgs.runCommand) \"shell\" { buildInputs = [ (hello) ]; } \"\"", 0x7ffe9c67f580) = -1 ENOENT (No such file or directory)
2019-05-08Merge branch 'repl/ctrlc' of https://github.com/xbreak/nixEelco Dolstra
2019-05-08Merge pull request #2790 from samueldr/fix/minor-comment-NIX_ROOT_FINDEREelco Dolstra
findRootsNoTemp: fixes comment about findRuntimeRoots
2019-05-03Add builtins.hashFileDaniel Schaefer
For text files it is possible to do it like so: `builtins.hashString "sha256" (builtins.readFile /tmp/a)` but that doesn't work for binary files. With builtins.hashFile any kind of file can be conveniently hashed.
2019-05-03Fix "Bad system call" running i686-linux binaries on x86_64-linuxEelco Dolstra
To determine which seccomp filters to install, we were incorrectly using settings.thisSystem, which doesn't denote the actual system when --system is used. Fixes #2791.
2019-04-30findRootsNoTemp: fixes comment about findRuntimeRootsSamuel Dionne-Riel
The NIX_ROOT_FINDER environment variable was removed in 3c46fe62b833a4e66845665edc99555022d3d98c when porting from perl to C.
2019-04-17build: only skip hash rewriting for sandboxing on linuxDaiderd Jordan
The sandbox on darwin, and possibly other future platforms, doesn't have enough isolation to redirect outputs without hash rewriting.
2019-04-11Add environment variable NIX_SHOW_SYMBOLS for dumping the symbol tableEelco Dolstra
2019-04-01primeCache(): Barf if builds are needed but not allowedEelco Dolstra
Fixes #2753.
2019-04-01getMachines(): Cache resultEelco Dolstra
2019-03-27Fix Bison 3.3 warningEelco Dolstra
2019-03-25Merge pull request #1828 from zimbatm/isPathEelco Dolstra
Add isPath primop
2019-03-25store-api.hh: add missing include for unordered_mapWill Dietz
2019-03-24Add isPath primopzimbatm
this is added for completeness' sake since all the other possible `builtins.typeOf` results have a corresponding `builtins.is<Type>`
2019-03-24repl: Restore CTRL-C behaviourxbreak
Install signal handler during `readline` to handle SIGINT to abort partially typed expressions.
2019-03-21eval: improve type description for primops and applied primopsLinus Heckemann
This can make type errors a little easier to understand.
2019-03-15Add a 5 seconds of timeouts to connect to S3.Chaker Benhamed
The default is 1000ms, but we can hit it a lot of we don't have direct link to AWS (e.g. using VPN).
2019-03-14pkg-config files: Use c++17Eelco Dolstra
2019-03-14experimental/optional -> optionalEelco Dolstra
2019-03-14nix-store --gc --print-roots: Sort outputEelco Dolstra
2019-03-14findRoots(): Don't censor for trusted usersEelco Dolstra
They're pretty much root anyway.
2019-03-14findRoots(): Add 'censor' parameterEelco Dolstra
This is less brittle than filtering paths after the fact in nix-daemon.
2019-03-14findRuntimeRoots: Simplify/fix handling of /proc filesEelco Dolstra
Scanning of /proc/<pid>/{exe,cwd} was broken because '{memory:' was prepended twice. Also, get rid of the whole '{memory:...}' thing because it's unnecessary, we can just list the file in /proc directly.
2019-03-10Fix warning about unused variableGuillaume Maudoux
2019-03-10Unify internal findRootsXxx() apiGuillaume Maudoux
2019-03-10unify naming of roots as links & targetsGuillaume Maudoux
2019-03-10Also obfuscate the number of memory rootsGuillaume Maudoux
2019-03-10Also print rooted path in `nix-store -q --roots`Guillaume Maudoux
2019-03-10fixup! Make roots a map of store paths to pinning linksGuillaume Maudoux
2019-03-10Make roots a map of store paths to pinning linksGuillaume Maudoux
This new structure makes more sense as there may be many sources rooting the same store path. Many profiles can reference the same path but this is even more true with /proc/<pid>/maps where distinct pids can and often do map the same store path. This implementation is also more efficient as the `Roots` map contains only one entry per rooted store path.
2019-03-10Obfuscate memory roots for non-root usersGuillaume Maudoux
2019-03-10detail memory rootsGuillaume Maudoux
2019-03-06canBuildLocally: check for featuresvolth
It could happen that the local builder match the system but lacks some features. Now it results a failure. The fix gracefully excludes the local builder from the set of available builders for derivation which requires the feature, so the derivation is built on remote builders only (as though it has incompatible system, like ```aarch64-linux``` when local is x86)
2019-03-01archive.cc: ignore more posix_fallocate "not supported" error codesWill Dietz
Fixes w/musl.
2019-02-26fix indentationDzmitry Zaitsau
2019-02-25Apply param values on S3Helper initializationDzmitry Zaitsau
2019-02-25Extend S3 URL parsing with parameters extractionDzmitry Zaitsau
2019-02-25Extract and expose splitUriAndParams functionDzmitry Zaitsau
which splits a URL into localtor and parameter parts
2019-02-14Merge pull request #2579 from catern/dumpdbEelco Dolstra
nix-store: make --dump-db take a list of paths to dump
2019-02-12Merge pull request #2628 from shlevy/context-introspectionEelco Dolstra
Context introspection
2019-02-05Revert "Restore parent mount namespace before executing a child process"Eelco Dolstra
This reverts commit a0ef21262f4d5652bfb65cfacaec01d89c475a93. This doesn't work in 'nix run' and nix-shell because setns() fails in multithreaded programs, and Boehm GC mark threads are uncancellable. Fixes #2646.
2019-01-31Add builtins.appendContext.Shea Levy
A partner of builtins.getContext, useful for the same reasons.
2019-01-23nix-store: make --dump-db take a list of paths to dumpSpencer Baugh
Inside a derivation, exportReferencesGraph already provides a way to dump the Nix database for a specific closure. On the command line, --dump-db gave us the same information, but only for the entire Nix database at once. With this change, one can now pass a list of paths to --dump-db to get the Nix database dumped for just those paths. (The user is responsible for ensuring this is a closure, like for --export). Among other things, this is useful for deploying a closure to a new host without using --import/--export; one can use tar to transfer the store paths, and --dump-db/--load-db to transfer the validity information. This is useful if the new host doesn't actually have Nix yet, and the closure that is being deployed itself contains Nix.
2019-01-18unsupported(): Show the name of the unsupported operationEelco Dolstra