about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2012-09-19 Support having /nix/store as a read-only bind mountEelco Dolstra2-0/+41
It turns out that the immutable bit doesn't work all that well. A better way is to make the entire Nix store a read-only bind mount, i.e. by doing $ mount --bind /nix/store /nix/store $ mount -o remount,ro,bind /nix/store (This would typically done in an early boot script, before anything from /nix/store is used.) Since Nix needs to be able to write to the Nix store, it now detects if /nix/store is a read-only bind mount and then makes it writable in a private mount namespace.
2012-09-19 Templatise tokenizeString()Eelco Dolstra10-39/+30
2012-09-18 Keep build directory if not all expected outputs were producedEelco Dolstra1-3/+3
Fixes issue #123 in Nixpkgs.
2012-09-14 Test whether GNU tar understands --warning=no-timestampEelco Dolstra1-2/+2
http://hydra.nixos.org/build/3031618
2012-09-14 Fix testEelco Dolstra1-1/+1
http://hydra.nixos.org/build/3031382
2012-09-13 nix-collect-garbage: Support --dry-runEelco Dolstra2-3/+7
2012-09-13 nix-env --delete-generations: Support --dry-run flagEelco Dolstra2-6/+12
Fixes #43.
2012-09-13 Add a test for nix-profile.shEelco Dolstra3-1/+12
2012-09-13 nix-profile.sh: Revert to single-user versionEelco Dolstra1-44/+11
Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 copied most of the Nix shell initialisation code from NixOS to nix-profile.sh; however, that code assumes a multi-user install and is Linux-specific (e.g. it calls the "stat" command). So go back to the simple single-user version. Fixes #49.
2012-09-13 Remove double Fedora release suffixEelco Dolstra1-1/+1
2012-09-13 Put a time-to-live on negative binary cache lookupsEelco Dolstra1-3/+30
Negative lookups are purged from the DB after a day, at most once per day. However, for non-"have" lookups (e.g. all except "nix-env -qas"), negative lookups are ignored after one hour. This is to ensure that you don't have to wait a day for an operation like "nix-env -i" to start using new binaries in the cache. Should probably make this configurable.
2012-09-13 DohEelco Dolstra1-2/+2
2012-09-13 RemoteStore::connectToDaemon(): Set close-on-exec flagEelco Dolstra1-0/+1
This ensures that "nix-build --run-env" doesn't keep a connection to the worker open, preventing it from exiting.
2012-09-13 Vacuum the SQLite DB after running the garbage collectorEelco Dolstra3-0/+12
2012-09-13 Delete paths in a component in topologically sorted orderEelco Dolstra1-1/+3
The outputs of a derivation can refer to each other (even though they cannot have cycles), so they have to be deleted in the right order. http://hydra.nixos.org/build/3026118
2012-09-13 Fix the store optimisation testEelco Dolstra1-2/+2
http://hydra.nixos.org/build/3026118
2012-09-13 nix-channel: Add option to force fetching of manifestsEelco Dolstra2-0/+19
2012-09-13 Delete manifests in "nix-channel --remove" or when a binary cache is availableEelco Dolstra4-35/+47
2012-09-13 Disable auto store optimisation for nowEelco Dolstra1-1/+1
I've seen operations like "nix-store --import" take much longer on one system. So default to off until I've investigated this a bit further.
2012-09-13 In startBuilder(), only print the new paths we're buildingEelco Dolstra1-2/+3
2012-09-12 Handle gc-keep-outputs and gc-keep-derivations both enabledEelco Dolstra2-95/+100
If the options gc-keep-outputs and gc-keep-derivations are both enabled, you can get a cycle in the liveness graph. There was a hack to handle this, but it didn't work with multiple-output derivations, causing the garbage collector to fail with errors like ‘error: cannot delete path `...' because it is in use by `...'’. The garbage collector now handles strongly connected components in the liveness graph as a unit and decides whether to delete all or none of the paths in an SCC.
2012-09-12 Build hook: Pass the timeout to the remote builderEelco Dolstra2-4/+5
Note that this will only work if the client has a very recent Nix version (post 15e1b2c223494ecb5efefc3ea0e3b926a6b1d7dc), otherwise the --option flag will just be ignored. Fixes #50.
2012-09-12 Fix test failure on DarwinEelco Dolstra2-1/+2
Apparently our DBD::SQLite links against /usr/lib/libsqlite3.dylib, which is an old version that doesn't respect foreign key constraints. So manifests/cache.sqlite doesn't get updated properly when a manifest disappears. We should fix our DBD::SQLite, but in the meantime this will fix the test. http://hydra.nixos.org/build/3017959
2012-09-12 Compatibility fix for WWW::Curl < 4.14Eelco Dolstra1-1/+2
Older versions of WWW::Curl don't support scalar references for CURLOPT_WRITEDATA directly. http://hydra.nixos.org/build/3017188
2012-09-11 Don't put results symlinks in the tests directoryEelco Dolstra12-24/+25
2012-09-11 Test hash rewritingEelco Dolstra1-4/+20
2012-09-11 Fix "non-zero padding" errorEelco Dolstra1-1/+2
Probably it's not a good idea to pass a temporary object to StringSource.
2012-09-11 Support building a derivation if some outputs are already valid (non-chroot ↵Eelco Dolstra1-11/+67
case) This uses scary hash rewriting. Fixes #21.
2012-09-11 Remove debug lineEelco Dolstra1-3/+1
2012-09-11 Support building a derivation if some outputs are already validEelco Dolstra2-23/+28
This handles the chroot and build hook cases, which are easy. Supporting the non-chroot-build case will require more work (hash rewriting!). Issue #21.
2012-09-11 Include config.h before any other headerEelco Dolstra2-2/+4
"config.h" must be included first, because otherwise the compiler might not see the right value of _FILE_OFFSET_BITS. We've had this before; see 705868a8a96a10f70e629433cfffc2d5cd2703eb. In this case, GCC would compute a different address for ‘settings.useSubstitutes’ in misc.cc because of the off_t in ‘settings’. Reverts 3854fc9b42d16b810f62b64194b699033b03aaf1. http://hydra.nixos.org/build/3016700
2012-09-11 Don't use -warning=no-timestamp unless we have GNU tarEelco Dolstra1-1/+1
http://hydra.nixos.org/build/2998485
2012-08-29 Document importing from a directory in the import documentationShea Levy1-2/+4
2012-08-28 Make "nix-instantiate -" interruptibleEelco Dolstra1-3/+1
2012-08-27 Merge branch 'no-manifests'Eelco Dolstra60-1304/+2392
2012-08-27 Disable the binary cache substituter by default for nowEelco Dolstra2-5/+4
2012-08-27 Fix stupid type error in calling std::maxEelco Dolstra1-1/+1
2012-08-27 Add libwww-curl-perl to the Debian/Ubuntu imagesEelco Dolstra1-1/+1
2012-08-27 Add WWW::Curl to the RPM dependenciesEelco Dolstra1-0/+1
2012-08-27 Add perl-WWW-Curl to the RPM imageEelco Dolstra1-1/+1
2012-08-27 WhitespaceEelco Dolstra2-15/+15
2012-08-27 Drop dependency on List::MoreUtilsEelco Dolstra2-3/+13
2012-08-27 Add missing fileEelco Dolstra1-0/+8
2012-08-27 Merge branch 'master' into no-manifestsEelco Dolstra20-139/+325
2012-08-24 Include the output name in the GC root linkEelco Dolstra5-23/+18
Output names are now appended to resulting GC symlinks, e.g. by nix-build. For backwards compatibility, if the output is named "out", nothing is appended. E.g. doing "nix-build -A foo" on a derivation that produces outputs "out", "bin" and "dev" will produce symlinks "./result", "./result-bin" and "./result-dev", respectively.
2012-08-22 Receive reserveSpace before calling startWork()Eelco Dolstra1-4/+4
Otherwise we can get a SIGPOLL. Reported by Ludovic.
2012-08-20 Check if MS_PRIVATE is definedEelco Dolstra1-1/+1
http://hydra.nixos.org/build/2955671
2012-08-20 In the chroot, make all mounted filesystems privateEelco Dolstra3-3/+21
This is required on systemd, which mounts filesystems as "shared" subtrees. Changes to shared trees in a private mount namespace are propagated to the outside world, which is bad.
2012-08-20 Don't bind-mount /proc since we mount our ownEelco Dolstra1-2/+2
2012-08-19 Fix 1755 permission on temporary directories left behind by ‘-K’Eelco Dolstra1-4/+4