about summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2013-07-31 nix-shell: Don't disable Automake dependency trackingEelco Dolstra1-1/+2
Nixpkgs' stdenv disables dependency tracking by default. That makes sense for one-time builds, but in an interactive environment we expect repeated "make" invocations to do the right thing.
2013-07-19 nix-shell: Set $IN_NIX_SHELLEelco Dolstra1-0/+2
This allows scripts to distinguish between a real build and a Nix shell.
2013-07-19 nix-shell: Set some environment variables also set by build.ccEelco Dolstra1-1/+3
Setting $NIX_STORE causes the purity checks in gcc/ld-wrapper to kick in, so that's why we unset $NIX_ENFORCE_PURITY.
2013-07-19 Rename ‘nix-build --run-env’ to ‘nix-shell’Eelco Dolstra2-7/+10
2013-07-19 nix-build --run-env: Add a ‘--pure’ flagEelco Dolstra1-2/+15
This causes the environment to be (almost) cleared, thus giving a shell that more closely resembled the actual Nix derivation.
2013-07-18 Revert "build-remote.pl: Enforce timeouts locally"Eelco Dolstra1-2/+3
This reverts commit 69b8f9980f39c14a59365a188b300a34d625a2cd. The timeout should be enforced remotely. Otherwise, if the garbage collector is running either locally or remotely, if will block the build or closure copying for some time. If the garbage collector takes too long, the build may time out, which is not what we want. Also, on heavily loaded systems, copying large paths to and from the remote machine can take a long time, also potentially resulting in a timeout.
2013-07-11 build-remote.pl: Move "building ..." message to a better placeEelco Dolstra1-1/+1
2013-07-11 nix-build --run-env: Always use BashEelco Dolstra1-1/+1
Fixes #113. Fixes #131.
2013-07-11 nix-build --run-env: Source $stdenv/setup in the interactive shellEelco Dolstra1-8/+17
This ensures that not just environment variables are set, but also shell functions such as unpackPhase, configurePhase and so on.
2013-07-01 Add support for uncompressed NARs in binary cachesEelco Dolstra3-8/+12
Issue NixOS/hydra#102.
2013-07-01 copy-from-other-stores.pl: Respect $NIX_BIN_DIREelco Dolstra1-4/+4
2013-07-01 copy-from-other-stores.pl: Report downloaded size as 0Eelco Dolstra1-1/+1
2013-06-20 Don't keep "disabled" substituters runningEelco Dolstra3-4/+12
For instance, it's pointless to keep copy-from-other-stores running if there are no other stores, or download-using-manifests if there are no manifests. This also speeds things up because we don't send queries to those substituters.
2013-06-07 download-from-binary-cache.pl: Respect $NIX_CONNECT_TIMEOUTEelco Dolstra1-0/+1
2013-06-07 Replace $NIX_DEBUG_SUBST with an option ‘debug-subst’Eelco Dolstra1-1/+1
Thus passing ‘--option debug-subst 1’ allows daemon users to turn on debug info and see what the substituter is doing.
2013-06-07 download-from-binary-cache.pl: Show if we're waiting for a URLEelco Dolstra1-3/+15
Previously, if a binary cache is hanging/unreachable/slow, download-from-binary-cache.pl would also hang without any indication to the user. Now, if fetching a URL takes more than 5 seconds, it will print a message to that effect.
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 Dolstra1-1/+1
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-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-15 download-from-binary-cache.pl: Get rid of an uninitialized value warningEelco Dolstra1-1/+1
Reported by Pablo Costa.
2013-05-10 build-remote.pl: Properly close the SSH connection between attemptsEelco Dolstra1-3/+4
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-09 build-remote.pl: Create one process fewer on the remote sideEelco Dolstra1-1/+1
2013-05-09 build-remote.pl: Enforce timeouts locallyEelco Dolstra1-3/+2
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-07 Add option ‘extra-binary-caches’Eelco Dolstra1-1/+10
This allows providing additional binary caches, useful in scripts like Hydra's build reproduction scripts, in particular because untrusted caches are ignored.
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 Rossell1-1/+1
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 Rossell1-2/+8
Based on https://github.com/NixOS/nix/pull/6 from shlevy
2013-04-26 find-runtime-roots.pl: Don't hardcode /nix/storeEelco Dolstra1-1/+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 nix-build: Respect --timeoutEelco Dolstra1-1/+1
2013-04-23 Fix --fallback with the binary cache substituterEelco Dolstra1-0/+1
Reported by Peter Simons.
2013-04-23 Test NAR info cachingEelco Dolstra1-4/+12
2013-03-08 Revert "Prevent config.h from being clobbered"Eelco Dolstra1-2/+3
This reverts commit 28bba8c44f484eae38e8a15dcec73cfa999156f6.
2013-03-07 Prevent config.h from being clobberedEelco Dolstra1-3/+2
2013-02-19 build-remote: Use the --quiet flagEelco Dolstra1-1/+1
‘--option verbosity 0’ doesn't actually do anything.
2013-01-21 build-remote.pl: Don't keep build logs on the build slaveEelco Dolstra1-2/+3
2013-01-02 UrggghEelco Dolstra1-2/+4
http://hydra.nixos.org/build/3661100
2013-01-02 Reinstate the http://nixos.org/binary-cache default for the binary-caches ↵Eelco Dolstra1-2/+2
setting
2012-12-21 download-from-binary-cache: Use the channels of the calling user rather than ↵Eelco Dolstra1-1/+3
root This should make live easier for single-user (non-daemon) installations. Note that when the daemon is used, the "calling user" is root so we're not using any untrusted caches.
2012-12-06 Set a long SQLite timeout in the binary cache substituterEelco Dolstra1-0/+2
2012-12-05 Support xz compression of nixexprs.tar in channelsEelco Dolstra1-1/+3
2012-11-26 Undo accidental debug changeEelco Dolstra1-1/+1
2012-11-26 Make "nix-build -A <derivation>.<output>" do the right thingEelco Dolstra1-3/+21
For example, given a derivation with outputs "out", "man" and "bin": $ nix-build -A pkg produces ./result pointing to the "out" output; $ nix-build -A pkg.man produces ./result-man pointing to the "man" output; $ nix-build -A pkg.all produces ./result, ./result-man and ./result-bin; $ nix-build -A pkg.all -A pkg2 produces ./result, ./result-man, ./result-bin and ./result-2.