about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2013-06-07 Buffer reads from the substituterEelco Dolstra2-10/+27
This greatly reduces the number of system calls.
2013-06-05 download-from-binary-cache.pl: Fix race conditionEelco Dolstra1-3/+4
Fixes the error "DBD::SQLite::db do failed: column url is not unique".
2013-06-05 Update the default binary cache URL to cache.nixos.orgEelco Dolstra4-9/+9
2013-06-04 download-from-binary-cache.pl: Treat a 403 error as a 404Eelco Dolstra1-2/+2
Amazon S3 returns HTTP status code 403 if a file doesn't exist and the user has no permission to list the contents of the bucket. So treat it as 404 (meaning it's cached in the NARExistence table).
2013-05-29 build-remote.pl: Remove meaningless signing when importing the output pathsEelco Dolstra1-3/+1
The "$UID != 0" makes no sense: if the local side has write access to the Nix store (which is always the case) then it doesn't matter if we're root - we can import unsigned paths either way.
2013-05-29 .bashrc -> .profileEelco Dolstra2-2/+2
2013-05-23 nix-store --export: Export paths in topologically sorted orderEelco Dolstra2-2/+4
Fixes #118.
2013-05-23 build-remote.pl: Copy all outputs in one operationEelco Dolstra1-5/+5
2013-05-23 build-remote.pl: Indicate if remote machine is refusing buildsEelco Dolstra1-2/+3
Fixes #120.
2013-05-16 Show function names in error messagesEelco Dolstra5-8/+43
Functions in Nix are anonymous, but if they're assigned to a variable/attribute, we can use the variable/attribute name in error messages, e.g. while evaluating `concatMapStrings' at `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/pkgs/lib/strings.nix:18:25': ...
2013-05-16 Show which function argument was unexpectedEelco Dolstra1-5/+9
Fixes #116.
2013-05-16 Shut up a compiler warningEelco Dolstra1-1/+1
2013-05-15 download-from-binary-cache.pl: Get rid of an uninitialized value warningEelco Dolstra1-1/+1
Reported by Pablo Costa.
2013-05-13 Bump versionEelco Dolstra1-1/+1
2013-05-13 Bump release dateEelco Dolstra1-1/+1
2013-05-10 build-remote.pl: Properly close the SSH connection between attemptsEelco Dolstra2-3/+5
2013-05-10 build-remote.pl: Pass /dev/null as SSH's stdinEelco Dolstra1-1/+1
Otherwise it will set the parent's stdin to non-blocking mode, causing the subsequent read of the set of inputs/outputs to fail randomly. That's insane.
2013-05-10 build-remote.pl: Allow a machine to refuse a buildEelco Dolstra1-1/+3
Before selecting a machine, build-remote.pl will try to run the command "nix-builds-inhibited" on the machine. If this command exists and returns a 0 exit code, then the machine won't be used. It's up to the user to provide this command, but it would typically be a script that checks whether there is enough disk space and whether the load is not too high.
2013-05-10 In trace messages, don't print the output pathEelco Dolstra1-19/+15
This doesn't work if there is no output named "out". Hydra didn't use it anyway.
2013-05-09 Communicate build timeouts to HydraEelco Dolstra1-7/+11
2013-05-09 build-remote.pl: Create one process fewer on the remote sideEelco Dolstra1-1/+1
2013-05-09 build-remote.pl: Enforce timeouts locallyEelco Dolstra2-6/+3
Don't pass --timeout / --max-silent-time to the remote builder. Instead, let the local Nix process terminate the build if it exceeds a timeout. The remote builder will be killed as a side-effect. This gives better error reporting (since the timeout message from the remote side wasn't properly propagated) and handles non-Nix problems like SSH hangs.
2013-05-08 Build Fedora 18 RPMsEelco Dolstra1-2/+2
2013-05-07 Update release dateEelco Dolstra1-1/+1
2013-05-07 Add option ‘extra-binary-caches’Eelco Dolstra2-3/+24
This allows providing additional binary caches, useful in scripts like Hydra's build reproduction scripts, in particular because untrusted caches are ignored.
2013-05-07 Build Debian 7.0 debsEelco Dolstra1-0/+2
2013-05-03 Build Ubuntu 13.04 debsEelco Dolstra1-0/+2
2013-05-03 Update release notesEelco Dolstra1-2/+3
2013-05-03 nix-copy-closure: Show a proper error message if no host name is givenEelco Dolstra1-0/+2
2013-05-03 Fixing the pv position regarding compressionLluís Batlle i Rossell2-2/+2
Problem noticed by niksnut.
2013-05-03 Fixing the pv reference; I didn't mean to change itLluís Batlle i Rossell1-1/+1
2013-05-03 Adding ETA support to the --show-progress in nix-copy-closureLluís Batlle i Rossell2-6/+16
Based on https://github.com/NixOS/nix/pull/6 from shlevy
2013-05-01 Nix 1.5.2 release notesEelco Dolstra1-0/+9
2013-05-01 Don't let stderr writes in substituters cause a deadlockEelco Dolstra1-0/+4
2013-04-26 find-runtime-roots.pl: Don't hardcode /nix/storeEelco Dolstra1-1/+2
2013-04-26 addAdditionalRoots(): Check each path only onceEelco Dolstra1-2/+2
2013-04-26 find-runtime-roots.pl: Search process environments for rootsEelco Dolstra1-0/+7
For instance, this prevents paths from being deleted that are in use by a "nix-build --run-env" session.
2013-04-26 find-runtime-roots.pl: Use Nix::Utils::readFileEelco Dolstra1-19/+15
2013-04-23 Fix --timeoutEelco Dolstra1-38/+25
I'm not sure if it has ever worked correctly. The line "lastWait = after;" seems to mean that the timer was reset every time a build produced log output. Note that the timeout is now per build, as documented ("the maximum number of seconds that a builder can run").
2013-04-23 Show that --timeout doesn't work if the build produces log outputEelco Dolstra2-3/+1
2013-04-23 nix-build: Respect --timeoutEelco Dolstra1-1/+1
2013-04-23 Nix daemon: respect build timeout from the clientEelco Dolstra2-4/+5
2013-04-23 Fix --fallback with the binary cache substituterEelco Dolstra1-0/+1
Reported by Peter Simons.
2013-04-23 Test whether --fallback works if NARS have disappeared from the binary cacheEelco Dolstra1-0/+14
2013-04-23 Test NAR info cachingEelco Dolstra2-5/+15
2013-04-09 Manual: Add a missing step to the build instructionsEelco Dolstra1-3/+4
Reported by Johan Grande.
2013-04-04 Complain if /homeless-shelter existsEelco Dolstra1-1/+5
2013-03-25 Fix evaluation of the VM testsEelco Dolstra1-2/+2
2013-03-25 makeStoreWritable: Ask forgiveness, not permissionShea Levy1-2/+2
It is surprisingly impossible to check if a mountpoint is a bind mount on Linux, and in my previous commit I forgot to check if /nix/store was even a mountpoint at all. statvfs.f_flag is not populated with MS_BIND (and even if it were, my check was wrong in the previous commit). Luckily, the semantics of mount with MS_REMOUNT | MS_BIND make both checks unnecessary: if /nix/store is not a mountpoint, then mount will fail with EINVAL, and if /nix/store is not a bind-mount, then it will not be made writable. Thus, if /nix/store is not a mountpoint, we fail immediately (since we don't know how to make it writable), and if /nix/store IS a mountpoint but not a bind-mount, we fail at first write (see below for why we can't check and fail immediately). Note that, due to what is IMO buggy behavior in Linux, calling mount with MS_REMOUNT | MS_BIND on a non-bind readonly mount makes the mountpoint appear writable in two places: In the sixth (but not the 10th!) column of mountinfo, and in the f_flags member of struct statfs. All other syscalls behave as if the mount point were still readonly (at least for Linux 3.9-rc1, but I don't think this has changed recently or is expected to soon). My preferred semantics would be for MS_REMOUNT | MS_BIND to fail on a non-bind mount, as it doesn't make sense to remount a non bind-mount as a bind mount.
2013-03-25 makeStoreWritable: Use statvfs instead of /proc/self/mountinfo to find out ↵Shea Levy2-21/+13
if /nix/store is a read-only bind mount /nix/store could be a read-only bind mount even if it is / in its own filesystem, so checking the 4th field in mountinfo is insufficient. Signed-off-by: Shea Levy <shea@shealevy.com>