about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2014-08-21 Use unshare() instead of clone()Eelco Dolstra1-55/+35
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-21 Fix a segfault in ‘nix-env -qa’Eelco Dolstra1-1/+1
This was triggered by 47e185847e729d49e6aa376e8299fd66ef834a0a, which turned globals.state into a pointer.
2014-08-20 Flush std::cout before closing stdoutEelco Dolstra1-0/+1
2014-08-20 Use pager for more commandsEelco Dolstra2-1/+8
2014-08-20 Provide reasonable default flags for $LESSEelco Dolstra1-1/+2
Borrowed from systemd.
2014-08-20 Merge commit '2aa93858afee22e0c32d8f4366970976374091ac'Eelco Dolstra3-1/+26
2014-08-20 Force template regenerationEelco Dolstra1-2/+2
2014-08-20 Handle header file instantiationEelco Dolstra1-1/+4
2014-08-20 Install config.h only onceEelco Dolstra1-1/+1
2014-08-20 Use proper quotes everywhereEelco Dolstra54-543/+548
2014-08-20 Add some colorEelco Dolstra6-52/+56
2014-08-20 nix-store -l: Automatically pipe output into $PAGEREelco Dolstra4-2/+56
2014-08-20 Reduce test verbosityEelco Dolstra1-2/+2
2014-08-20 Filter Nix-specific ANSI escape sequences from stderrEelco Dolstra1-1/+37
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-19 Make hook shutdown more reliableEelco Dolstra1-1/+1
2014-08-18 Fix --attr parsingEelco Dolstra1-1/+3
2014-08-18 DohEelco Dolstra1-4/+1
2014-08-17 Reduce verbosityEelco Dolstra1-1/+2
2014-08-17 Propagate remote timeouts properlyEelco Dolstra2-27/+34
2014-08-17 nix-build: Propagate exit status from nix-store -rEelco Dolstra1-1/+1
2014-08-17 build-remote.pl: Provide defaults for $NIX_CURRENT_LOAD and $NIX_REMOTE_SYSTEMSEelco Dolstra1-2/+2
2014-08-17 Fix download-via-sshEelco Dolstra1-2/+4
http://hydra.nixos.org/build/13286020
2014-08-13 nix-shell: Use $XDG_RUNTIME_DIREelco Dolstra1-1/+2
This prevents collisions with other users. Fixes #262.
2014-08-13 Use $XDG_RUNTIME_DIR for temporary filesEelco Dolstra8-23/+16
2014-08-13 nix-log2xml: Handle newlinesEelco Dolstra1-0/+1
2014-08-13 Remove log2html.xsl and friendsEelco Dolstra6-170/+0
It's part of Hydra now.
2014-08-13 nix-log2xml: Handle UTF-8 charactersEelco Dolstra1-1/+1
C++ chars can be negative...
2014-08-13 Use regular file GC roots if possibleEelco Dolstra1-1/+4
This makes hydra-eval-jobs create roots as regular files. See 1c208f2b7ef8ffb5e6d435d703dad83223a67bd6.
2014-08-13 Handle compound single dash options properlyEelco Dolstra1-15/+14
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-13 Refactor option handlingEelco Dolstra10-537/+509
2014-08-13 Fix warning about non-existant -I directoriesEelco Dolstra1-1/+1
2014-08-13 Remove pointless NIX_LOG_TYPE environment variableEelco Dolstra2-13/+0
2014-08-07 Warn about untrusted binary caches in extra-binary-cachesEelco Dolstra1-2/+5
2014-08-07 nix-install-package: Use extra-binary-cachesEelco Dolstra1-1/+1
2014-08-07 download-from-binary-cache.pl: Respect $SSL_CERT_FILEEelco Dolstra1-1/+1
2014-08-07 Add support for order-only dependenciesEelco Dolstra2-0/+22
2014-08-07 install-nix-from-closure.sh: Use https channel if possibleEelco Dolstra1-1/+5
2014-08-05 Remove unnecessary call to addTempRoot()Eelco Dolstra1-1/+0
2014-08-05 DohEelco Dolstra2-11/+2
2014-08-04 Move some options out of globalsEelco Dolstra4-6/+15
2014-08-04 RefactorEelco Dolstra3-43/+43
2014-08-04 Update manualEelco Dolstra1-25/+33
2014-08-04 Add option ‘build-extra-chroot-dirs’Eelco Dolstra5-14/+10
This is useful for extending (rather than overriding) the default set of chroot paths.
2014-08-04 Get rid of "killing <pid>" message for unused build hooksEelco Dolstra3-4/+5
2014-08-04 Make chroot builds easier to set upEelco Dolstra2-0/+11
By default, we now include /bin/sh as a bind-mount of bash.
2014-08-04 Speed up nix-shellEelco Dolstra1-1/+1
2014-08-01 Remove ugly hack for detecting build environment setup errorsEelco Dolstra1-13/+10
2014-08-01 Call commonChildInit() before doing chroot initEelco Dolstra2-12/+16
This ensures that daemon clients see error messages from the chroot setup.
2014-08-01 Eliminate redundant copyEelco Dolstra2-1/+3
2014-08-01 findRoots(): Prevent a call to lstat()Eelco Dolstra1-9/+14
This means that getting the roots from /nix/var/nix/.../hydra-roots doesn't need any I/O other than reading the directory.