aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-09-18Install some pkgconfig filesEelco Dolstra
2014-09-17On Linux, disable address space randomizationEelco Dolstra
2014-09-17Add some instrumentation for debugging GC leaksEelco Dolstra
2014-09-17Settings: Add bool get()Eelco Dolstra
2014-09-04Fix dependency orderingEelco Dolstra
2014-09-02Fix boost::too_many_args errorEelco Dolstra
Fixes #333.
2014-09-01Add an 'optimiseStore' remote procedure call.Ludovic Courtès
2014-08-28Add disallowedReferences / disallowedRequisitesEelco Dolstra
For the "stdenv accidentally referring to bootstrap-tools", it seems easier to specify the path that we don't want to depend on, e.g. disallowedRequisites = [ bootstrapTools ];
2014-08-28Introduce allowedRequisites featureGergely Risko
2014-08-21fix disappearing bash argumentsJoel Taylor
2014-08-21Use PR_SET_PDEATHSIG to ensure child cleanupEelco Dolstra
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-20Use proper quotes everywhereEelco Dolstra
2014-08-20Add some colorEelco Dolstra
2014-08-20nix-store -l: Automatically pipe output into $PAGEREelco 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-17Fix download-via-sshEelco Dolstra
http://hydra.nixos.org/build/13286020
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-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-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-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-30Rename nixPath to __nixPathEelco Dolstra
The name ‘nixPath’ breaks existing code.
2014-07-25nix-daemon: Pass on the user's $SSH_AUTH_SOCK to the SSH substituterEelco Dolstra