Eelco Dolstra
69b8f9980f
build-remote.pl: Enforce timeouts locally
...
Don't pass --timeout / --max-silent-time to the remote builder.
Instead, let the local Nix process terminate the build if it exceeds a
timeout. The remote builder will be killed as a side-effect. This
gives better error reporting (since the timeout message from the
remote side wasn't properly propagated) and handles non-Nix problems
like SSH hangs.
2013-05-09 17:17:17 +02:00
Eelco Dolstra
e93acab852
Build Fedora 18 RPMs
2013-05-08 14:41:35 +02:00
Eelco Dolstra
806970349b
Update release date
2013-05-07 15:46:25 +02:00
Eelco Dolstra
ea019e9a26
Add option ‘extra-binary-caches’
...
This allows providing additional binary caches, useful in scripts like
Hydra's build reproduction scripts, in particular because untrusted
caches are ignored.
2013-05-07 15:37:28 +02:00
Eelco Dolstra
cc837e2458
Build Debian 7.0 debs
2013-05-07 11:21:30 +02:00
Eelco Dolstra
28034bfa49
Build Ubuntu 13.04 debs
2013-05-03 14:14:46 +02:00
Eelco Dolstra
93f4fa8a15
Update release notes
2013-05-03 11:28:32 +02:00
Eelco Dolstra
c51b6a893c
nix-copy-closure: Show a proper error message if no host name is given
2013-05-03 11:12:11 +02:00
Eelco Dolstra
3628b61ce0
Nix 1.5.2 release notes
2013-05-01 13:31:33 +02:00
Eelco Dolstra
470553bd05
Don't let stderr writes in substituters cause a deadlock
2013-05-01 13:21:39 +02:00
Eelco Dolstra
4ddd077bfa
find-runtime-roots.pl: Don't hardcode /nix/store
2013-04-26 12:15:54 +02:00
Eelco Dolstra
0374d94437
addAdditionalRoots(): Check each path only once
2013-04-26 12:07:25 +02:00
Eelco Dolstra
00f698eb8b
find-runtime-roots.pl: Search process environments for roots
...
For instance, this prevents paths from being deleted that are in use
by a "nix-build --run-env" session.
2013-04-26 12:06:39 +02:00
Eelco Dolstra
938092a213
find-runtime-roots.pl: Use Nix::Utils::readFile
2013-04-26 11:44:19 +02:00
Eelco Dolstra
772b70952f
Fix --timeout
...
I'm not sure if it has ever worked correctly. The line "lastWait =
after;" seems to mean that the timer was reset every time a build
produced log output.
Note that the timeout is now per build, as documented ("the maximum
number of seconds that a builder can run").
2013-04-23 18:04:59 +02:00
Eelco Dolstra
f9974f856e
Show that --timeout doesn't work if the build produces log output
2013-04-23 17:16:29 +02:00
Eelco Dolstra
6955d41f2b
nix-build: Respect --timeout
2013-04-23 17:16:01 +02:00
Eelco Dolstra
934cf2d1f4
Nix daemon: respect build timeout from the client
2013-04-23 16:59:06 +02:00
Eelco Dolstra
08d96ffad0
Fix --fallback with the binary cache substituter
...
Reported by Peter Simons.
2013-04-23 12:45:01 +02:00
Eelco Dolstra
a9b4e26b5c
Test whether --fallback works if NARS have disappeared from the binary cache
2013-04-23 12:44:01 +02:00
Eelco Dolstra
c642441beb
Test NAR info caching
2013-04-23 12:43:28 +02:00
Eelco Dolstra
05420e7883
Manual: Add a missing step to the build instructions
...
Reported by Johan Grande.
2013-04-09 17:57:48 +02:00
Eelco Dolstra
258897c265
Complain if /homeless-shelter exists
2013-04-04 11:16:26 +02:00
Eelco Dolstra
239841787b
Fix evaluation of the VM tests
2013-03-25 21:59:11 +01:00
Eelco Dolstra
c3fc60d936
Fix evaluation
2013-03-18 21:49:42 +01:00
Eelco Dolstra
f72ed36025
Bump version number
2013-03-15 14:21:05 +01:00
Eelco Dolstra
78d777ca15
Remove the "system" jobset input
2013-03-15 13:18:49 +01:00
Eelco Dolstra
a68ebf8e37
Require Bison 2.6
2013-03-14 18:33:15 +01:00
Eelco Dolstra
804709706c
Fix building against Bison 2.6
2013-03-14 18:31:08 +01:00
Eelco Dolstra
c56bc3d81c
Make sure that thunks are restored properly if an exception occurs
...
Fixes Hydra bug #67 .
2013-03-14 17:21:13 +01:00
Eelco Dolstra
4b07476848
Prevent config.h from being clobbered
2013-03-08 01:27:04 +01:00
Eelco Dolstra
bdd4646338
Revert "Prevent config.h from being clobbered"
...
This reverts commit 28bba8c44f .
2013-03-08 01:24:59 +01:00
Eelco Dolstra
e73d9e9488
Fix annoying Perl 5.16 warnings
...
I.e.
Subroutine Nix::Store::isValidPath redefined at /nix/store/clfzsf6gi7qh5i9c0vks1ifjam47rijn-perl-5.16.2/lib/perl5/5.16.2/XSLoader.pm line 92.
and so on.
2013-03-08 00:27:32 +01:00
Eelco Dolstra
28bba8c44f
Prevent config.h from being clobbered
2013-03-07 23:55:55 +01:00
Eelco Dolstra
8057a192e3
Handle systems without lutimes() or lchown()
2013-02-28 19:55:09 +01:00
Eelco Dolstra
9fa1bee575
Update release notes
...
Also use a point release version number as suggested by several
people.
2013-02-28 19:36:02 +01:00
Eelco Dolstra
f45c731cd7
Handle symlinks properly
...
Now it's really brown paper bag time...
2013-02-28 14:51:08 +01:00
Eelco Dolstra
88936411bc
Bump version number
2013-02-28 13:03:53 +01:00
Eelco Dolstra
0111ba98ea
Handle hard links to other files in the output
2013-02-27 17:18:41 +01:00
Eelco Dolstra
b008674e46
Refactoring: Split off the non-recursive canonicalisePathMetaData()
...
Also, change the file mode before changing the owner. This prevents a
slight time window in which a setuid binary would be setuid root.
2013-02-27 16:42:19 +01:00
Eelco Dolstra
826dc0d07d
Remove outdated file
2013-02-26 14:32:48 +01:00
Eelco Dolstra
97c6009c47
Bump version number
2013-02-26 14:32:14 +01:00
Eelco Dolstra
ca9c02dff1
Update release notes
2013-02-26 13:23:09 +01:00
Eelco Dolstra
5526a282b5
Security: Don't allow builders to change permissions on files they don't own
...
It turns out that in multi-user Nix, a builder may be able to do
ln /etc/shadow $out/foo
Afterwards, canonicalisePathMetaData() will be applied to $out/foo,
causing /etc/shadow's mode to be set to 444 (readable by everybody but
writable by nobody). That's obviously Very Bad.
Fortunately, this fails in NixOS's default configuration because
/nix/store is a bind mount, so "ln" will fail with "Invalid
cross-device link". It also fails if hard-link restrictions are
enabled, so a workaround is:
echo 1 > /proc/sys/fs/protected_hardlinks
The solution is to check that all files in $out are owned by the build
user. This means that innocuous operations like "ln
${pkgs.foo}/some-file $out/" are now rejected, but that already failed
in chroot builds anyway.
2013-02-26 02:30:19 +01:00
Eelco Dolstra
dadf7a5b46
build-remote: Use the --quiet flag
...
‘--option verbosity 0’ doesn't actually do anything.
2013-02-19 16:56:31 +01:00
Eelco Dolstra
79a3ba7fa3
Document ‘hashString’
2013-02-08 20:04:14 +01:00
Eelco Dolstra
5f18cd2e84
Make "${./path} ..." evaluate to a string, not a path
...
Wacky string coercion semantics caused expressions like
exec = "${./my-script} params...";
to evaluate to a path (‘/path/my-script params’), because
anti-quotations are desuged to string concatenation:
exec = ./my-script + " params...";
By constrast, adding a space at the start would yield a string as
expected:
exec = " ${./my-script} params...";
Now the first example also evaluates to a string.
2013-02-08 20:04:04 +01:00
Eelco Dolstra
52172607cf
Rename "hash" to "hashString" and handle SHA-1
2013-02-08 19:36:23 +01:00
Eelco Dolstra
8add116acd
Nix::Store::derivationFromPath: Return derivation outputs
2013-02-05 16:02:57 +01:00
Eelco Dolstra
d6143801fd
Support the colonies
2013-01-30 18:50:58 +01:00
Eelco Dolstra
9842077cb2
Improve -I description
...
Issue #88 .
2013-01-24 13:00:44 +01:00
Eelco Dolstra
5e9c3da412
Only warn about SQLite being busy once
...
No need to get annoying.
2013-01-23 16:45:10 +01:00
Eelco Dolstra
99ed558a93
Correctly handle missing logs
2013-01-22 22:07:25 +01:00
Eelco Dolstra
1943b60ad8
Fix the VM tests
2013-01-21 22:36:23 +01:00
Eelco Dolstra
96fbbbde55
build-remote.pl: Don't keep build logs on the build slave
2013-01-21 22:26:25 +01:00
Eelco Dolstra
536c85ea49
Store build logs in /nix/var/log/nix/drvs/<XX>
...
...where <XX> is the first two characters of the derivation.
Otherwise /nix/var/log/nix/drvs may become so large that we run into
all sorts of weird filesystem limits/inefficiences. For instance,
ext3/ext4 filesystems will barf with "ext4_dx_add_entry:1551:
Directory index full!" once you hit a few million files.
2013-01-17 15:47:26 +01:00
Eelco Dolstra
66fa9e6a4d
Bump version number to 1.4
2013-01-07 14:48:44 +01:00
Eelco Dolstra
e42df686f3
Delete a left-over trash directory before doing a GC
2013-01-05 00:13:29 +01:00
Eelco Dolstra
92926be2fe
Fix "0 store paths deleted" message
2013-01-04 15:17:19 +01:00
Eelco Dolstra
b424d29d1b
Open the database after removing immutable bits
2013-01-03 13:29:17 +01:00
Eelco Dolstra
3007f57377
Remove tabs
2013-01-03 13:00:46 +01:00
Eelco Dolstra
def5160b61
Clear any immutable bits in the Nix store
...
Doing this once makes subsequent operations like garbage collecting
more efficient since we don't have to call makeMutable() first.
2013-01-03 12:59:23 +01:00
Eelco Dolstra
0a4e90395c
Urgggh
...
http://hydra.nixos.org/build/3661100
2013-01-02 23:52:15 +01:00
Eelco Dolstra
f12492c66d
Manual: Fix "nix-store --export" example
2013-01-02 22:36:08 +01:00
Eelco Dolstra
aebea2e489
Reinstate the http://nixos.org/binary-cache default for the binary-caches setting
2013-01-02 22:16:37 +01:00
Eelco Dolstra
649bb60617
Use sysconfdir=/etc
2013-01-02 22:12:19 +01:00
Eelco Dolstra
42d6f640c1
Update release notes
2013-01-02 13:00:55 +01:00
Eelco Dolstra
299141ecbd
If a substitute closure is incomplete, build dependencies, then retry the substituter
...
Issue #77 .
2013-01-02 12:38:28 +01:00
Eelco Dolstra
1b3a78a459
Automatically fall back if the references of a substitute are not substitutable
...
Fixes #77 .
2013-01-02 12:00:26 +01:00
Eelco Dolstra
82248abd8f
Add a test for incomplete closures in the binary cache
...
Issue #77 .
2013-01-02 11:45:23 +01:00
Eelco Dolstra
12f9129f60
nix-build: Support talking to old daemons
...
Fixes #76 .
2012-12-29 23:21:46 +01:00
Eelco Dolstra
b7629778ef
Allow mounting a path in a different location in the chroot
...
Fixes #24 .
2012-12-29 23:04:02 +01:00
Eelco Dolstra
68dcbb187e
download-from-binary-cache: Use the channels of the calling user rather than root
...
This should make live easier for single-user (non-daemon)
installations. Note that when the daemon is used, the "calling user"
is root so we're not using any untrusted caches.
2012-12-21 15:00:07 +01:00
Eelco Dolstra
5ee7d8fbab
Typo fix
2012-12-21 00:18:59 +01:00
Eelco Dolstra
2754a07ead
nix-store -q --roots: Respect the gc-keep-outputs/gc-keep-derivations settings
...
So if a path is not garbage solely because it's reachable from a root
due to the gc-keep-outputs or gc-keep-derivations settings, ‘nix-store
-q --roots’ now shows that root.
2012-12-20 18:41:44 +01:00
Eelco Dolstra
06f62defe6
Yet another rewrite of the garbage collector
...
But this time it's *obviously* correct! No more segfaults due to
infinite recursions for sure, etc.
Also, move directories to /nix/store/trash instead of renaming them to
/nix/store/bla-gc-<pid>. Then we can just delete /nix/store/trash at
the end.
2012-12-20 17:32:15 +01:00
Eelco Dolstra
9c29a2ed35
Give a better error message if writeFile fails due to permission issues
2012-12-20 12:22:13 +01:00
Eelco Dolstra
e775d4d84f
If gc-keep-derivations is set, only keep the actual deriver
...
This prevents zillions of derivations from being kept, and fixes an
infinite recursion in the garbage collector (due to an obscure cycle
that can occur with fixed-output derivations).
2012-12-19 15:33:09 +01:00
Eelco Dolstra
fbf0b2fa45
Kill the build hook rather than shutting it down cleanly
...
Waiting for the hook to shut down cleanly sometimes seems to lead to
hangs.
2012-12-19 11:47:42 +01:00
Eelco Dolstra
228ea7c2f9
Revert brain fart
...
This reverts commit cc511fd65b .
2012-12-18 20:43:47 +01:00
Eelco Dolstra
cc511fd65b
Check for potential infinite select() loops when building
2012-12-18 18:50:05 +01:00
Eelco Dolstra
9fa12fc201
Allow setting the profile location using $NIX_PROFILE
...
Fixes #69 .
2012-12-12 16:01:46 +01:00
Eelco Dolstra
3ad53e43c8
Debian package: Add dependency on libwww-curl-perl
...
Fixes issue #70 .
2012-12-11 16:50:21 +01:00
Eelco Dolstra
772778c0ec
On SQLITE_BUSY, wait a random amount of time
...
If all contending processes wait a fixed amount of time (100 ms),
there is a good probability that they'll just collide again.
2012-12-11 11:49:42 +01:00
Eelco Dolstra
e087bfef5f
Bump version number
2012-12-07 13:14:04 +01:00
Eelco Dolstra
a6ce6d9e7c
Fix manual generation
...
Grmbl.
2012-12-06 16:55:57 +01:00
Eelco Dolstra
8cc19ed089
Set a long SQLite timeout in the binary cache substituter
2012-12-06 11:43:34 +01:00
Eelco Dolstra
52edef3495
Fix RPM build
...
http://hydra.nixos.org/build/3436627
2012-12-05 23:25:40 +01:00
Eelco Dolstra
8d100dbef1
Add a dependency on xz-utils
2012-12-05 12:18:07 +01:00
Eelco Dolstra
5c487761c4
Add a dependency on xz
2012-12-05 12:17:12 +01:00
Eelco Dolstra
3631dc6b2f
Typo
2012-12-05 12:15:06 +01:00
Eelco Dolstra
aa61bc7472
Fix RPM build
...
http://hydra.nixos.org/build/3436511
2012-12-05 12:05:43 +01:00
Eelco Dolstra
0f96966a44
Add release date
2012-12-05 11:03:06 +01:00
Eelco Dolstra
566afa1e9c
Support xz compression of nixexprs.tar in channels
2012-12-05 11:02:44 +01:00
Eelco Dolstra
444b03a36f
Produce an xz-compressed tarball
...
Footnote: doing "make dist-gzip dist-xz" doesn't work with Automake;
you have to do "make dist-gzip; dist-xz". That's because the dist-*
targets delete the temporary distdir at the end.
2012-12-05 10:23:53 +01:00
Eelco Dolstra
d5a01d0f9d
Build Debs for Ubuntu 12.10
2012-12-05 09:54:41 +01:00
Eelco Dolstra
a7b4aaa2c3
Updated release notes
2012-12-04 17:41:51 +01:00
Eelco Dolstra
3100b29fc5
Tiny optimisation in the filter primop
2012-12-04 17:22:20 +01:00
Eelco Dolstra
094a08f839
Document new primops
2012-12-04 17:15:32 +01:00
Eelco Dolstra
24d5875514
Document multiple output support
2012-12-04 16:03:56 +01:00