Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-08-04 | Make chroot builds easier to set up | Eelco Dolstra | 2 | -0/+11 | |
By default, we now include /bin/sh as a bind-mount of bash. | |||||
2014-08-04 | Speed up nix-shell | Eelco Dolstra | 1 | -1/+1 | |
2014-08-01 | Remove ugly hack for detecting build environment setup errors | Eelco Dolstra | 1 | -13/+10 | |
2014-08-01 | Call commonChildInit() before doing chroot init | Eelco Dolstra | 2 | -12/+16 | |
This ensures that daemon clients see error messages from the chroot setup. | |||||
2014-08-01 | Eliminate redundant copy | Eelco Dolstra | 2 | -1/+3 | |
2014-08-01 | findRoots(): Prevent a call to lstat() | Eelco Dolstra | 1 | -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. | |||||
2014-08-01 | Make readDirectory() return inode / file type | Eelco Dolstra | 7 | -46/+48 | |
2014-08-01 | Allow regular files as GC roots | Eelco Dolstra | 1 | -0/+6 | |
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-31 | Restore default SIGPIPE handler before invoking ‘man’ | Eelco Dolstra | 4 | -15/+17 | |
Fixes NixOS/nixpkgs#3410. | |||||
2014-07-30 | make clean: Remove Makefile.config | Eelco Dolstra | 1 | -0/+2 | |
2014-07-30 | Rename nixPath to __nixPath | Eelco Dolstra | 3 | -7/+7 | |
The name ‘nixPath’ breaks existing code. | |||||
2014-07-29 | install-nix-from-closure.sh: Install cacert | Eelco Dolstra | 1 | -0/+3 | |
2014-07-29 | nix-profile.sh: Set $SSL_CERT_FILE | Eelco Dolstra | 1 | -1/+10 | |
2014-07-28 | Remove outdated AUTHORS file | Eelco Dolstra | 1 | -8/+0 | |
2014-07-25 | nix-daemon: Pass on the user's $SSH_AUTH_SOCK to the SSH substituter | Eelco Dolstra | 4 | -0/+17 | |
2014-07-25 | Change the default for use-ssh-substituter to ‘true’ | Eelco Dolstra | 1 | -2/+2 | |
Now you only have to pass ‘--option ssh-substituter-hosts nix-ssh@bla’ to enable SSH substitution. | |||||
2014-07-24 | nix-copy-closure: Drop --bzip2, --xz, --show-progress | Eelco Dolstra | 5 | -92/+23 | |
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-24 | nix-copy-closure: Implement --gzip via ssh's -C flag | Eelco Dolstra | 1 | -2/+1 | |
2014-07-24 | Fix NIX_SSHOPTS | Eelco Dolstra | 2 | -4/+8 | |
Closes #302. | |||||
2014-07-24 | Remove obsolete SSH master connection code | Eelco Dolstra | 2 | -55/+2 | |
2014-07-24 | Implement nix-copy-closure --from via nix-store --serve | Eelco Dolstra | 4 | -30/+23 | |
2014-07-24 | build-remote.pl: Be less verbose on failing builds | Eelco Dolstra | 2 | -5/+6 | |
2014-07-24 | Refactor | Eelco Dolstra | 2 | -8/+21 | |
2014-07-24 | tests/remote-builds.nix: Test failing build | Eelco Dolstra | 1 | -1/+4 | |
2014-07-24 | nix-store --serve: Only monitor stdin during builds | Eelco Dolstra | 1 | -2/+2 | |
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-24 | tests/remote-builds.nix: Don't try cache.nixos.org | Eelco Dolstra | 1 | -0/+1 | |
2014-07-24 | Use pthread_cancel instead of a signal | Eelco Dolstra | 1 | -5/+2 | |
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-24 | Fix bogus pass by reference | Eelco Dolstra | 1 | -6/+1 | |
http://hydra.nixos.org/build/12711659 | |||||
2014-07-24 | More debugging | Eelco Dolstra | 1 | -0/+1 | |
2014-07-24 | Add some assertions | Eelco Dolstra | 1 | -0/+6 | |
2014-07-24 | Remove some dead code | Eelco Dolstra | 2 | -10/+0 | |
2014-07-23 | Remove some obsolete files | Eelco Dolstra | 2 | -310/+0 | |
2014-07-23 | Pass -pthread only for programs that need it | Eelco Dolstra | 3 | -2/+3 | |
2014-07-23 | nix-daemon: Less verbosity | Eelco Dolstra | 1 | -1/+1 | |
2014-07-23 | nix-daemon: Simplify stderr handling | Eelco Dolstra | 2 | -7/+2 | |
2014-07-23 | nix-store --serve: Monitor for client disconnects | Eelco Dolstra | 1 | -0/+3 | |
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-23 | nix-daemon: Use a thread instead of SIGPOLL to catch client disconnects | Eelco Dolstra | 3 | -146/+51 | |
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-23 | startProcess: Make writing error messages from the child more robust | Eelco Dolstra | 1 | -2/+4 | |
2014-07-23 | Remove dead code | Eelco Dolstra | 2 | -3/+0 | |
2014-07-19 | Revert old useBuildHook behaviour | Eelco Dolstra | 3 | -3/+3 | |
2014-07-18 | Better fix for strcasecmp on Darwin | Eelco Dolstra | 1 | -3/+1 | |
2014-07-18 | Bump | Eelco Dolstra | 1 | -0/+9 | |
2014-07-17 | Ugly hack to fix building on old Darwin | Eelco Dolstra | 1 | -0/+3 | |
http://hydra.nixos.org/build/12580878 | |||||
2014-07-17 | nix-daemon: Add trusted-users and allowed-users options | Eelco Dolstra | 4 | -3/+90 | |
‘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-17 | nix-daemon: Show name of connecting user | Eelco Dolstra | 1 | -6/+7 | |
2014-07-17 | nix-daemon: Only print connection info if we have SO_PEERCRED | Eelco Dolstra | 1 | -9/+12 | |
2014-07-17 | nix-daemon: Fix compat with older clients | Eelco Dolstra | 1 | -1/+1 | |
2014-07-16 | Get rid of a compiler warning | Eelco Dolstra | 1 | -1/+2 | |
2014-07-16 | Be more strict about file names in NARs | Eelco Dolstra | 1 | -1/+6 | |
2014-07-16 | Handle case collisions on case-insensitive systems | Eelco Dolstra | 6 | -76/+122 | |
When running NixOps under Mac OS X, we need to be able to import store paths built on Linux into the local Nix store. However, HFS+ is usually case-insensitive, so if there are directories with file names that differ only in case, then importing will fail. The solution is to add a suffix ("~nix~case~hack~<integer>") to colliding files. For instance, if we have a directory containing xt_CONNMARK.h and xt_connmark.h, then the latter will be renamed to "xt_connmark.h~nix~case~hack~1". If a store path is dumped as a NAR, the suffixes are removed. Thus, importing and exporting via a case-insensitive Nix store is round-tripping. So when NixOps calls nix-copy-closure to copy the path to a Linux machine, you get the original file names back. Closes #119. |