aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-21Use unshare() instead of clone()Eelco Dolstra
It turns out that using clone() to start a child process is unsafe in a multithreaded program. It can cause the initialisation of a build child process to hang in setgroups(), as seen several times in the build farm: The reason is that Glibc thinks that the other threads of the parent exist in the child, so in setxid_mark_thread() it tries to get a futex that has been acquired by another thread just before the clone(). With fork(), Glibc runs pthread_atfork() handlers that take care of this (in particular, __reclaim_stacks()). But clone() doesn't do that. Fortunately, we can use fork()+unshare() instead of clone() to set up private namespaces. See also https://www.mail-archive.com/lxc-devel@lists.linuxcontainers.org/msg03434.html.
2014-08-21Fix a segfault in ‘nix-env -qa’Eelco Dolstra
This was triggered by 47e185847e729d49e6aa376e8299fd66ef834a0a, which turned globals.state into a pointer.
2014-08-20Flush std::cout before closing stdoutEelco Dolstra
2014-08-20Use pager for more commandsEelco Dolstra
2014-08-20Provide reasonable default flags for $LESSEelco Dolstra
Borrowed from systemd.
2014-08-20Merge commit '2aa93858afee22e0c32d8f4366970976374091ac'Eelco Dolstra
2014-08-20Force template regenerationEelco Dolstra
2014-08-20Handle header file instantiationEelco Dolstra
2014-08-20Install config.h only onceEelco Dolstra
2014-08-20Use proper quotes everywhereEelco Dolstra
2014-08-20Add some colorEelco Dolstra
2014-08-20nix-store -l: Automatically pipe output into $PAGEREelco Dolstra
2014-08-20Reduce test verbosityEelco Dolstra
2014-08-20Filter Nix-specific ANSI escape sequences from stderrEelco Dolstra
The Nixpkgs stdenv prints some custom escape sequences to denote nesting and stuff like that. Most terminals (e.g. xterm, konsole) ignore them, but some do not (e.g. xfce4-terminal). So for the benefit of the latter, filter them out.
2014-08-19Make hook shutdown more reliableEelco Dolstra
2014-08-18Fix --attr parsingEelco Dolstra
2014-08-18DohEelco Dolstra
2014-08-17Reduce verbosityEelco Dolstra
2014-08-17Propagate remote timeouts properlyEelco Dolstra
2014-08-17nix-build: Propagate exit status from nix-store -rEelco Dolstra
2014-08-17build-remote.pl: Provide defaults for $NIX_CURRENT_LOAD and $NIX_REMOTE_SYSTEMSEelco Dolstra
2014-08-17Fix download-via-sshEelco Dolstra
http://hydra.nixos.org/build/13286020
2014-08-13nix-shell: Use $XDG_RUNTIME_DIREelco Dolstra
This prevents collisions with other users. Fixes #262.
2014-08-13Use $XDG_RUNTIME_DIR for temporary filesEelco Dolstra
2014-08-13nix-log2xml: Handle newlinesEelco Dolstra
2014-08-13Remove log2html.xsl and friendsEelco Dolstra
It's part of Hydra now.
2014-08-13nix-log2xml: Handle UTF-8 charactersEelco Dolstra
C++ chars can be negative...
2014-08-13Use regular file GC roots if possibleEelco Dolstra
This makes hydra-eval-jobs create roots as regular files. See 1c208f2b7ef8ffb5e6d435d703dad83223a67bd6.
2014-08-13Handle compound single dash options properlyEelco Dolstra
So now nix-instantiate --eval -E '{x}: x' --argstr x -xyzzy correctly prints "-xyzzy", rather than giving an error. Issue NixOS/hydra#176.
2014-08-13Refactor option handlingEelco Dolstra
2014-08-13Fix warning about non-existant -I directoriesEelco Dolstra
2014-08-13Remove pointless NIX_LOG_TYPE environment variableEelco Dolstra
2014-08-07Warn about untrusted binary caches in extra-binary-cachesEelco Dolstra
2014-08-07nix-install-package: Use extra-binary-cachesEelco Dolstra
2014-08-07download-from-binary-cache.pl: Respect $SSL_CERT_FILEEelco Dolstra
2014-08-07Add support for order-only dependenciesEelco Dolstra
2014-08-07install-nix-from-closure.sh: Use https channel if possibleEelco Dolstra
2014-08-05Remove unnecessary call to addTempRoot()Eelco Dolstra
2014-08-05DohEelco Dolstra
2014-08-04Move some options out of globalsEelco Dolstra
2014-08-04RefactorEelco Dolstra
2014-08-04Update manualEelco Dolstra
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.