aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-04Add option ‘build-extra-chroot-dirs’Eelco Dolstra
This is useful for extending (rather than overriding) the default set of chroot paths.
2014-08-04Get rid of "killing <pid>" message for unused build hooksEelco Dolstra
2014-08-04Make chroot builds easier to set upEelco Dolstra
By default, we now include /bin/sh as a bind-mount of bash.
2014-08-04Speed up nix-shellEelco Dolstra
2014-08-01Remove ugly hack for detecting build environment setup errorsEelco Dolstra
2014-08-01Call commonChildInit() before doing chroot initEelco Dolstra
This ensures that daemon clients see error messages from the chroot setup.
2014-08-01Eliminate redundant copyEelco Dolstra
2014-08-01findRoots(): Prevent a call to lstat()Eelco Dolstra
This means that getting the roots from /nix/var/nix/.../hydra-roots doesn't need any I/O other than reading the directory.
2014-08-01Make readDirectory() return inode / file typeEelco Dolstra
2014-08-01Allow regular files as GC rootsEelco Dolstra
If a root is a regular file, then its name must denote a store path. For instance, the existence of the file /nix/var/nix/gcroots/per-user/eelco/hydra-roots/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7 would cause /nix/store/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7 to be a root. This is useful because it involves less I/O (no need for a readlink() call) and takes up less disk space (the symlink target typically takes up a full disk block, while directory entries are packed more efficiently). This is particularly important for hydra.nixos.org, which has hundreds of thousands of roots, and where reading the roots can take 25 minutes.
2014-07-31Restore default SIGPIPE handler before invoking ‘man’Eelco Dolstra
Fixes NixOS/nixpkgs#3410.
2014-07-30make clean: Remove Makefile.configEelco Dolstra
2014-07-30Rename nixPath to __nixPathEelco Dolstra
The name ‘nixPath’ breaks existing code.
2014-07-29install-nix-from-closure.sh: Install cacertEelco Dolstra
2014-07-29nix-profile.sh: Set $SSL_CERT_FILEEelco Dolstra
2014-07-28Remove outdated AUTHORS fileEelco Dolstra
2014-07-25nix-daemon: Pass on the user's $SSH_AUTH_SOCK to the SSH substituterEelco Dolstra
2014-07-25Change the default for use-ssh-substituter to ‘true’Eelco Dolstra
Now you only have to pass ‘--option ssh-substituter-hosts nix-ssh@bla’ to enable SSH substitution.
2014-07-24nix-copy-closure: Drop --bzip2, --xz, --show-progressEelco Dolstra
These are too difficult to implement via nix-store --serve. ‘--show-progress’ could be re-implemented fairly easily via a sink/source wrapper class.
2014-07-24nix-copy-closure: Implement --gzip via ssh's -C flagEelco Dolstra
2014-07-24Fix NIX_SSHOPTSEelco Dolstra
Closes #302.
2014-07-24Remove obsolete SSH master connection codeEelco Dolstra
2014-07-24Implement nix-copy-closure --from via nix-store --serveEelco Dolstra
2014-07-24build-remote.pl: Be less verbose on failing buildsEelco Dolstra
2014-07-24RefactorEelco Dolstra
2014-07-24tests/remote-builds.nix: Test failing buildEelco Dolstra
2014-07-24nix-store --serve: Only monitor stdin during buildsEelco Dolstra
Other operations cannot hang indefinitely (except when we're reading from stdin, in which case we'll notice a client disconnect). But monitoring works badly during compressed imports, since there the client can close the connection before we've sent an ack. http://hydra.nixos.org/build/12711638
2014-07-24tests/remote-builds.nix: Don't try cache.nixos.orgEelco Dolstra
2014-07-24Use pthread_cancel instead of a signalEelco Dolstra
Signal handlers are process-wide, so sending SIGINT to the monitor thread will cause the normal SIGINT handler to run. This sets the isInterrupted flag, which is not what we want. So use pthread_cancel instead.
2014-07-24Fix bogus pass by referenceEelco Dolstra
http://hydra.nixos.org/build/12711659
2014-07-24More debuggingEelco Dolstra
2014-07-24Add some assertionsEelco Dolstra
2014-07-24Remove some dead codeEelco Dolstra
2014-07-23Remove some obsolete filesEelco Dolstra
2014-07-23Pass -pthread only for programs that need itEelco Dolstra
2014-07-23nix-daemon: Less verbosityEelco Dolstra
2014-07-23nix-daemon: Simplify stderr handlingEelco Dolstra
2014-07-23nix-store --serve: Monitor for client disconnectsEelco Dolstra
This is necessary because build-remote.pl now builds via ‘nix-store --serve’. So if a build hangs without writing to stdout/stderr, and the client disconnects, then we need to detect that.
2014-07-23nix-daemon: Use a thread instead of SIGPOLL to catch client disconnectsEelco Dolstra
The thread calls poll() to wait until a HUP (or other error event) happens on the client connection. If so, it sends SIGINT to the main thread, which is then cleaned up normally. This is much nicer than messing around with SIGPOLL.
2014-07-23startProcess: Make writing error messages from the child more robustEelco Dolstra
2014-07-23Remove dead codeEelco Dolstra
2014-07-19Revert old useBuildHook behaviourEelco Dolstra
2014-07-18Better fix for strcasecmp on DarwinEelco Dolstra
2014-07-18BumpEelco Dolstra
2014-07-17Ugly hack to fix building on old DarwinEelco Dolstra
http://hydra.nixos.org/build/12580878
2014-07-17nix-daemon: Add trusted-users and allowed-users optionsEelco Dolstra
‘trusted-users’ is a list of users and groups that have elevated rights, such as the ability to specify binary caches. It defaults to ‘root’. A typical value would be ‘@wheel’ to specify all users in the wheel group. ‘allowed-users’ is a list of users and groups that are allowed to connect to the daemon. It defaults to ‘*’. A typical value would be ‘@users’ to specify the ‘users’ group.
2014-07-17nix-daemon: Show name of connecting userEelco Dolstra
2014-07-17nix-daemon: Only print connection info if we have SO_PEERCREDEelco Dolstra
2014-07-17nix-daemon: Fix compat with older clientsEelco Dolstra
2014-07-16Get rid of a compiler warningEelco Dolstra