Eelco Dolstra
a529c740d2
Moving more code out of DerivationGoal::startBuilder()
2017-01-26 20:40:33 +01:00
Eelco Dolstra
e8c43abd9a
On HTTP errors, also show the curl error
...
This is a hopefully temporary measure to diagnose the intermittent
"HTTP error 200" failures.
2017-01-26 20:40:32 +01:00
Eelco Dolstra
4425a5c547
Move exportReferencesGraph into a separate method
...
startBuilder() is getting rather obese.
2017-01-26 20:40:32 +01:00
Eelco Dolstra
4e6a2fbc56
Revert "Propagate path context via builtins.readFile"
...
This reverts commit f7f0116dd7
.
Issue #1174 .
2017-01-24 15:31:54 +01:00
Eelco Dolstra
fa738e50bc
Revert "builtins.readFile: Put the references of the file, not those needed to realize the file, into the context"
...
Reverting commit 451c223dee
for now
because it breaks http://hydra.nixos.org/build/46805136 , not clear
why.
2017-01-24 15:29:46 +01:00
Eelco Dolstra
4b6d3c5a28
Hopefully fix build on older GCC
...
http://hydra.nixos.org/build/46805140
2017-01-24 15:28:50 +01:00
Eelco Dolstra
19ce732a13
Fix typo
2017-01-24 13:57:26 +01:00
Eelco Dolstra
e3bf228c92
Enable verbose curl output
...
Closes #1182 .
2017-01-24 13:57:01 +01:00
Shea Levy
3b4a15bd48
build-remote: Use futimes instead of futimens on APPLE
2017-01-24 06:22:02 -05:00
Eelco Dolstra
e5641dfe1e
Work around a bug in clang and older versions of gcc
...
http://hydra.nixos.org/build/46597440
https://llvm.org/bugs/show_bug.cgi?id=28096
2017-01-24 10:57:24 +01:00
Eelco Dolstra
8af062f372
Merge pull request #981 from shlevy/build-remote-c++
...
build-remote: Implement in C++
2017-01-19 18:21:55 +01:00
Eelco Dolstra
21948deed9
Kill builds when we get EOF on the log FD
...
This closes a long-time bug that allowed builds to hang Nix
indefinitely (regardless of timeouts) simply by doing
exec > /dev/null 2>&1; while true; do true; done
Now, on EOF, we just send SIGKILL to the child to make sure it's
really gone.
2017-01-19 17:16:14 +01:00
Eelco Dolstra
63e10b4d28
Cleanup
2017-01-19 17:06:04 +01:00
Eelco Dolstra
2579e32c2b
Use std::unique_ptr for HookInstance
2017-01-19 17:06:04 +01:00
Eelco Dolstra
cc3b93c991
Handle SIGINT etc. via a sigwait() signal handler thread
...
This allows other threads to install callbacks that run in a regular,
non-signal context. In particular, we can use this to signal the
downloader thread to quit.
Closes #1183 .
2017-01-17 18:21:02 +01:00
Jude Taylor
c0d55f9183
assign environ to a temp variable to ensure liveness
2017-01-16 23:52:44 +01:00
Eelco Dolstra
8079ab87a2
AutoCloseDir: Use std::unique_ptr
2017-01-16 22:39:27 +01:00
Eelco Dolstra
2b9d0a99cb
AutoDeleteArray -> std::unique_ptr
...
Also, switch to C++14 for std::make_unique.
2017-01-16 22:24:49 +01:00
Eelco Dolstra
40dfac968a
nix-build: Use showManPage() and printVersion()
2017-01-16 22:11:17 +01:00
Shea Levy
451c223dee
builtins.readFile: Put the references of the file, not those needed to realize the file, into the context
2017-01-10 12:22:22 -05:00
Shea Levy
28db297862
build-remote: Don't use C++ streams to read the conf file
2017-01-10 10:36:26 -05:00
Shea Levy
d771c28613
build-remote: Use std::set for feature sets
2017-01-10 10:29:06 -05:00
Eelco Dolstra
7adb986e35
Merge pull request #1139 from Mic92/master
...
Simplify remouting with MS_PRIVATE in sandbox build
2017-01-09 16:46:59 +01:00
Tuomas Tynkkynen
3890de049d
nix-shell: Fix 'nix-shell --command' doing nothing without TTY
...
Regression from a5f2750e
("Fix early removal of rc-file for nix-shell").
The removal of BASH_ENV causes nothing to be executed by bash if it
detects itself in a non-interactive context. Instead, just
use the same condition used by bash to launch bash differently.
According to bash sources, the condition (stdin and stder both
must be TTYs) is specified by POSIX so this should be pretty
safe to rely on.
Fixes #1171 on master, needs a backport to the Perl code in 1.11.
2017-01-07 19:08:28 +02:00
Eelco Dolstra
c287e797a8
nix-shell: In #! mode, pass the last argument
...
"i < argc - 1" should be "i < argc".
2017-01-03 11:40:51 +01:00
Tuomas Tynkkynen
018f884ffd
nix-shell: Don't act interactive in shebangs
...
I had observed that 'bash --rcfile' would do nothing in a
non-interactive context and cause nothing to be executed if a script
using nix-shell shebangs were run in a non-interactive context.
2017-01-03 10:11:09 +02:00
Tuomas Tynkkynen
c698ec1f22
nix-shell: Fix 'nix-shell -i'
...
The 'args' variable here is shadowing one in the outer scope and its
contents end up unused. This causes any '#! nix-shell' lines to
effectively be ignored. The intention here was to clear the args vector,
as far as I can tell (and it seems to work).
2017-01-03 10:11:09 +02:00
Eelco Dolstra
b6b142b4b1
Provide /var/run/nscd/socket in the sandbox
...
Otherwise sandbox builds can fail, e.g.
$ NIX_REMOTE=local?root=/tmp/nix nix-build '<nixpkgs>' -A hello --option build-use-substitutes false
...
downloading ‘http://ftpmirror.gnu.org/bash/bash-4.3-patches/bash43-047’ ...
error: unable to download ‘http://ftpmirror.gnu.org/bash/bash-4.3-patches/bash43-047’ : Couldn't resolve host name (6)
2017-01-02 14:46:37 +01:00
Eelco Dolstra
d0a2db17d9
Call Aws::InitAPI
...
This is required now.
2016-12-22 17:39:49 +01:00
Eelco Dolstra
786ee585b8
Add comment
2016-12-22 17:39:49 +01:00
Eelco Dolstra
3a4bd320c2
Revert "Merge branch 'seccomp' of https://github.com/aszlig/nix "
...
This reverts commit 9f3f2e21ed
, reversing
changes made to 47f587700d
.
2016-12-19 11:52:57 +01:00
Eelco Dolstra
05862209de
Revert "Give root a valid home directory"
...
This reverts commit ec7d498b72
.
2016-12-19 11:49:03 +01:00
Eelco Dolstra
ec7d498b72
Give root a valid home directory
...
Some programs barf if the current user has a non-writable home
directory, e.g. http://hydra.nixos.org/build/44818144 .
2016-12-15 15:56:08 +01:00
Eelco Dolstra
5278bb7c16
Merge branch 'master' of github.com:NixOS/nix
2016-12-15 12:31:52 +01:00
Eelco Dolstra
9f3f2e21ed
Merge branch 'seccomp' of https://github.com/aszlig/nix
2016-12-15 12:04:45 +01:00
Shea Levy
f867f090ed
Merge branch 'base32-overflow' of git://github.com/vcunat/nix
2016-12-13 09:41:02 -05:00
Eelco Dolstra
47f587700d
Probably fix a segfault in PathLocks
2016-12-09 13:26:43 +01:00
Eelco Dolstra
b30d1e7ada
Don't delete .check directories of running builds
...
We need to keep them around for diffoscope.
2016-12-08 21:38:58 +01:00
Eelco Dolstra
88ef77226e
Fix warning on 32-bit systems
...
http://hydra.nixos.org/build/44628517
2016-12-08 20:37:58 +01:00
Eelco Dolstra
e629a17cc1
Fix build
...
http://hydra.nixos.org/build/44628517
2016-12-08 20:36:14 +01:00
Eelco Dolstra
fe1162a805
S3BinaryCacheStore: Ensure it only builds on Linux
2016-12-08 15:35:46 +01:00
Eelco Dolstra
e6a61b8da7
Fix S3BinaryCacheStore
...
It failed with
AWS error uploading ‘6gaxphsyhg66mz0a00qghf9nqf7majs2.ls.xz’: Unable to parse ExceptionName: MissingContentLength Message: You must provide the Content-Length HTTP header.
possibly because the istringstream_nocopy introduced in
0d2ebb4373
doesn't supply the seek
method that the AWS library expects. So bring back the old version,
but only for S3BinaryCacheStore.
2016-12-08 15:31:27 +01:00
Eelco Dolstra
9a313469a4
Add a hook to run diffoscope when non-determinism is detected
2016-12-07 17:57:35 +01:00
Eelco Dolstra
b07060688a
Keep track of the exact build start/stop times
2016-12-07 16:09:38 +01:00
Eelco Dolstra
dadfddfa7c
Bail out early when non-determinism is detected
2016-12-07 15:31:18 +01:00
Eelco Dolstra
cea4e2c618
Expose enforce-determinism and the result to Hydra
2016-12-07 13:43:40 +01:00
Eelco Dolstra
8bdf83f936
Add an option to make non-determinism non-fatal
...
That is, when build-repeat > 0, and the output of two rounds differ,
then print a warning rather than fail the build. This is primarily to
let Hydra check reproducibility of all packages.
2016-12-07 13:16:06 +01:00
Eelco Dolstra
ceeedb58d2
Use a steady clock for timeouts
...
Fixes #1146 .
2016-12-06 21:58:04 +01:00
Eelco Dolstra
7a3e7d0e61
nix-store --serve: Suppress log output on stderr when repeating a build
2016-12-06 17:43:39 +01:00
Eelco Dolstra
6069b946ad
nix-store --serve: Support setting build-repeat
...
This allows Hydra to test whether builds are reproducible.
2016-12-06 17:19:22 +01:00