Eelco Dolstra
f794465ca8
Disable use of vfork()
...
vfork() is just too weird. For instance, in this build:
http://hydra.nixos.org/build/3330487
the value fromHook.writeSide becomes corrupted in the parent, even
though the child only reads from it. At -O0 the problem goes away.
Probably the child is overriding some spilled temporary variable.
If I get bored I may implement using posix_spawn() instead.
2012-11-15 19:35:18 +01:00
Eelco Dolstra
8541d27fce
Don't use std::cerr in a few places
...
Slightly scared of using std::cerr in a vforked process...
2012-11-15 15:01:02 +01:00
Eelco Dolstra
3acc8adcad
Add some debug code
2012-11-15 13:55:02 +01:00
Eelco Dolstra
ea89df2b76
Use vfork() instead of fork() if available
...
Hopefully this reduces the chance of hitting ‘unable to fork: Cannot
allocate memory’ errors. vfork() is used for everything except
starting builders.
2012-11-09 18:00:33 +01:00
Eelco Dolstra
48c19c4633
Remove definition of non-existant function
2012-11-09 17:59:41 +01:00
Eelco Dolstra
198dbe7fa1
Remove some redundant close() calls
...
They are unnecessary because we set the close-on-exec flag.
2012-11-09 16:58:51 +01:00
Eelco Dolstra
10dcee99ed
Remove the quickExit function
2012-11-09 16:42:10 +01:00
Eelco Dolstra
4c9e3fa641
Remove a Darwin hack that should no longer be needed
2012-11-09 16:35:42 +01:00
Eelco Dolstra
182e15b661
Manual: Don't use a store path in our closure
...
http://hydra.nixos.org/build/3313227
2012-11-09 16:30:15 +01:00
Eelco Dolstra
88164325fa
Fix a segfault when auto-calling a "a@{...}" function
...
Since the called function can return its argument attribute set
(e.g. "a"), the latter should not be allocated on the stack.
Reported by Shea.
2012-11-09 15:09:31 +01:00
Eelco Dolstra
f581ce0b0c
Don't start copy-from-other-stores if $NIX_OTHER_STORES is unset
...
Slight optimisation.
2012-11-09 14:58:10 +01:00
Eelco Dolstra
91ef4d9a81
Remove unnecessary call to closeMostFDs()
...
We have close-on-exec on all FDs now, and there is no security risk in
passing open FDs to substituters anyway.
2012-11-09 14:43:47 +01:00
Eelco Dolstra
a9a8baaccb
Use a shorter Nixpkgs channel URL
2012-11-09 13:33:35 +01:00
Eelco Dolstra
c31ebc50aa
Update release notes
2012-11-09 13:33:24 +01:00
Eelco Dolstra
e28b683324
download-from-binary-cache: Try next cache if downloading a NAR fails
2012-11-06 17:55:53 +01:00
Eelco Dolstra
bbc107ef1e
Process binary caches in order of priority
...
Binary caches can now specify a priority in their nix-cache-info file.
The binary cache substituter checks caches in order of priority. This
is to ensure that fast, static caches like nixos.org/binary-cache are
processed before slow, dynamic caches like hydra.nixos.org.
2012-11-06 17:45:20 +01:00
Eelco Dolstra
3a95e1a17c
Update nix-push manpage and document the binary cache format
2012-11-06 15:49:53 +01:00
Eelco Dolstra
82951e5582
nix-push: Handle pushing a symlink
2012-11-06 13:53:53 +01:00
Eelco Dolstra
620e92e880
Add an option ‘use-binary-caches’
...
This allows disabling the use of binary caches, e.g.
$ nix-build ... --option use-binary-caches false
Note that
$ nix-build ... --option binary-caches ''
does not disable all binary caches, since the caches defined by
channels will still be used.
2012-11-06 13:44:59 +01:00
Eelco Dolstra
df27db712d
Fix "Not an ARRAY reference" error
...
It's a mystery why this error is not triggered in the build farm
(e.g. http://hydra.nixos.org/build/3265602 ). Ah well.
2012-11-06 13:43:46 +01:00
Shea Levy
d0fc615af6
canonicalizePathMetaData: Fall-back to utimes if lutimes fails due to ENOSYS
2012-11-06 11:29:59 +01:00
Eelco Dolstra
4c34d384e6
If hashes do not match, print them in base-32 for SHA-1/SHA-256
...
Fixes #57 .
2012-10-23 18:05:50 +02:00
Eelco Dolstra
a28b4445a4
nix-prefetch-url: Improve option handling
2012-10-23 18:04:11 +02:00
Shea Levy
2980d1fba9
prim_toPath: Actually make the string a path
2012-10-23 16:39:35 +02:00
Eelco Dolstra
dde6486eab
nix-push: Add a flag ‘--manifest-path’ to write the manifest to another directory
2012-10-18 10:36:16 -04:00
Eelco Dolstra
c8daeba303
nix-push: Add ‘--link’ flag
...
If ‘--link’ is given, nix-push will create hard links to the NAR files
in the store, rather than copying them. This is faster and requires
less disk space. However, it doesn't work if the store is on a
different file system.
2012-10-17 17:01:23 -04:00
Eelco Dolstra
167e36a5c3
nix-push: Only generate and copy a NAR if it doesn't already exist
...
This prevents unnecessary and slow rebuilds of NARs that already exist
in the binary cache.
2012-10-17 16:58:05 -04:00
Eelco Dolstra
ac238d619c
Typo
...
Reported by Shea.
2012-10-12 10:21:04 -04:00
Eelco Dolstra
600daf972f
download-from-binary-cache: Remove duplicate entries in trustedURLs
2012-10-11 14:21:22 -04:00
Eelco Dolstra
e345182055
Shorten the names of temporary build directories
2012-10-11 14:03:06 -04:00
Mats Erik Andersson
ecedd9c50c
Out-of-tree building of perl modules.
2012-10-10 10:28:33 -04:00
Eelco Dolstra
70f75be199
getDerivation(): Don't always quietly ignore assertion failure
...
Ignoring assertion failures makes some sense for nix-env -qa, but not
for nix-instantiate/nix-build or hydra-eval-jobs.
2012-10-04 15:22:25 -04:00
Eelco Dolstra
ad328bea15
XML writer: flush after newlines
...
This is useful for hydra-eval-jobs.
2012-10-04 14:07:36 -04:00
Eelco Dolstra
bfaa5635de
Manual: Don't use a store path that actually exists
...
http://hydra.nixos.org/build/3124130
2012-10-04 13:37:30 -04:00
Eelco Dolstra
904f50412c
nix-store --verify: Continue on errors
2012-10-04 10:20:23 -04:00
Eelco Dolstra
90b8a34f82
Fix regular expression
...
http://hydra.nixos.org/build/3123177
2012-10-04 09:46:10 -04:00
Eelco Dolstra
d1de836938
Fix the tarball build
2012-10-03 21:01:03 -04:00
Eelco Dolstra
f766e146f4
Fix the test
2012-10-03 18:01:35 -04:00
Eelco Dolstra
e35d6f78dc
Rename nix-worker to nix-daemon
2012-10-03 17:59:23 -04:00
Eelco Dolstra
522ecab9b8
Drop support for running nix-worker in "slave" mode
...
AFAIK nobody uses this, setuid binaries are evil, and there is no good
reason why people can't just run the daemon.
2012-10-03 17:30:45 -04:00
Eelco Dolstra
7586095504
Remove bin2c
2012-10-03 16:59:28 -04:00
Eelco Dolstra
a562d544d8
When ‘--help’ is given, just run ‘man’ to show the manual page
...
I.e. do what git does. I'm too lazy to keep the builtin help text up
to date :-)
Also add ‘--help’ to various commands that lacked it
(e.g. nix-collect-garbage).
2012-10-03 16:40:09 -04:00
Eelco Dolstra
9c41c66c5b
Document ‘--repair’
2012-10-03 15:53:25 -04:00
Eelco Dolstra
2bbc4a214e
nix-env: Support ‘--repair’ flag
2012-10-03 15:35:42 -04:00
Eelco Dolstra
2e90a5a2a7
nix-build: Support ‘--repair’ flag
2012-10-03 15:14:02 -04:00
Eelco Dolstra
0a7084567f
Add a ‘--repair’ flag to nix-instantiate
...
This allows repairing corrupted derivations and other source files.
2012-10-03 15:09:18 -04:00
Eelco Dolstra
a807edfae8
Handle repairing paths that are in build-chroot-dirs
2012-10-03 11:20:16 -04:00
Eelco Dolstra
a3f205b249
When repairing a derivation, check and repair the entire output closure
...
If we find a corrupted path in the output closure, we rebuild the
derivation that produced that particular path.
2012-10-03 10:38:09 -04:00
Eelco Dolstra
2001895f3d
Add a --repair flag to ‘nix-store -r’ to repair derivation outputs
...
With this flag, if any valid derivation output is missing or corrupt,
it will be recreated by using a substitute if available, or by
rebuilding the derivation. The latter may use hash rewriting if
chroots are not available.
2012-10-02 17:13:46 -04:00
Eelco Dolstra
cf46f19444
nix-store -r: Get rid of an unnecessary call to buildPaths/ensurePaths
2012-10-02 16:00:09 -04:00