Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2012-09-25 | Make the store writable before creating /nix/store/.links | Eelco Dolstra | 1 | -2/+1 | |
2012-09-25 | Merge branch 'readonly-store' | Eelco Dolstra | 6 | -99/+92 | |
2012-09-25 | Include <sys/types.h> for off_t | Eelco Dolstra | 1 | -0/+1 | |
Reported by "gio" on IRC. | |||||
2012-09-19 | Remove setting of the immutable bit | Eelco Dolstra | 3 | -70/+33 | |
Using the immutable bit is problematic, especially in conjunction with store optimisation. For instance, if the garbage collector deletes a file, it has to clear its immutable bit, but if the file has additional hard links, we can't set the bit afterwards because we don't know the remaining paths. So now that we support having the entire Nix store as a read-only mount, we may as well drop the immutable bit. Unfortunately, we have to keep the code to clear the immutable bit for backwards compatibility. | |||||
2012-09-19 | Support having /nix/store as a read-only bind mount | Eelco Dolstra | 2 | -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 Dolstra | 4 | -29/+18 | |
2012-09-18 | Keep build directory if not all expected outputs were produced | Eelco Dolstra | 1 | -3/+3 | |
Fixes issue #123 in Nixpkgs. | |||||
2012-09-13 | RemoteStore::connectToDaemon(): Set close-on-exec flag | Eelco Dolstra | 1 | -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 collector | Eelco Dolstra | 3 | -0/+12 | |
2012-09-13 | Delete paths in a component in topologically sorted order | Eelco Dolstra | 1 | -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 | Disable auto store optimisation for now | Eelco Dolstra | 1 | -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 building | Eelco Dolstra | 1 | -2/+3 | |
2012-09-12 | Handle gc-keep-outputs and gc-keep-derivations both enabled | Eelco Dolstra | 1 | -94/+97 | |
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 builder | Eelco Dolstra | 1 | -1/+1 | |
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-11 | Fix "non-zero padding" error | Eelco Dolstra | 1 | -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 Dolstra | 1 | -11/+67 | |
case) This uses scary hash rewriting. Fixes #21. | |||||
2012-09-11 | Remove debug line | Eelco Dolstra | 1 | -3/+1 | |
2012-09-11 | Support building a derivation if some outputs are already valid | Eelco Dolstra | 1 | -12/+16 | |
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 header | Eelco Dolstra | 1 | -2/+2 | |
"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-08-27 | Fix stupid type error in calling std::max | Eelco Dolstra | 1 | -1/+1 | |
2012-08-27 | Merge branch 'master' into no-manifests | Eelco Dolstra | 7 | -64/+103 | |
2012-08-20 | Check if MS_PRIVATE is defined | Eelco Dolstra | 1 | -1/+1 | |
http://hydra.nixos.org/build/2955671 | |||||
2012-08-20 | In the chroot, make all mounted filesystems private | Eelco Dolstra | 1 | -0/+18 | |
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 own | Eelco Dolstra | 1 | -2/+2 | |
2012-08-19 | Fix 1755 permission on temporary directories left behind by ‘-K’ | Eelco Dolstra | 1 | -4/+4 | |
2012-08-07 | Don't warn about maximum link count exceeded on 0-byte files | Eelco Dolstra | 1 | -2/+4 | |
2012-08-05 | Handle amount of disk space saved by hard linking being negative | Eelco Dolstra | 1 | -2/+2 | |
Fixes bogus messages like "currently hard linking saves 17592186044416.00 MiB". | |||||
2012-08-05 | Fix race condition when two processes create a hard link to a file in .links | Eelco Dolstra | 1 | -27/+37 | |
This is a problem because one process may set the immutable bit before the second process has created its link. Addressed random Hydra failures such as: error: cannot rename `/nix/store/.tmp-link-17397-1804289383' to `/nix/store/rsvzm574rlfip3830ac7kmaa028bzl6h-nixos-0.1pre-git/upstart-interface-version': Operation not permitted | |||||
2012-08-05 | Fix race condition when two processes create the same link in /nix/store/.links | Eelco Dolstra | 1 | -4/+4 | |
2012-08-01 | Count bytes freed deleting unused links | Eelco Dolstra | 2 | -3/+5 | |
2012-08-01 | Drop the block count in the garbage collector | Eelco Dolstra | 5 | -16/+9 | |
2012-08-01 | nix-store --gc: Make ‘--max-freed 0’ do the right thing | Eelco Dolstra | 3 | -6/+5 | |
That is, delete almost nothing (it will still remove unused links from /nix/store/.links). | |||||
2012-08-01 | removeUnusedLinks(): Print stats on disk space saved by hard linking | Eelco Dolstra | 1 | -1/+16 | |
2012-08-01 | Merge branch 'master' into no-manifests | Eelco Dolstra | 1 | -1/+4 | |
2012-08-01 | Doh | Eelco Dolstra | 1 | -1/+2 | |
2012-08-01 | Make ‘nix-store --optimise’ interruptible | Eelco Dolstra | 1 | -0/+2 | |
2012-08-01 | Report substituter errors to clients of the Nix daemon | Eelco Dolstra | 2 | -22/+38 | |
2012-07-31 | Prevent an injection attack in passing untrusted options to substituters | Eelco Dolstra | 1 | -0/+4 | |
2012-07-31 | Pass all --option flags to the daemon | Eelco Dolstra | 3 | -3/+22 | |
2012-07-31 | Add an option ‘build-fallback’ (equivalent to the --fallback flag) | Eelco Dolstra | 1 | -1/+2 | |
2012-07-30 | Refactor settings processing | Eelco Dolstra | 11 | -428/+475 | |
Put all Nix configuration flags in a Settings object. | |||||
2012-07-30 | Whitespace | Eelco Dolstra | 2 | -22/+22 | |
2012-07-30 | Pass configuration settings to the substituters | Eelco Dolstra | 4 | -5/+28 | |
Previously substituters could read nix.conf themselves, but this didn't take --option flags into account. | |||||
2012-07-30 | Remove unused variables | Eelco Dolstra | 2 | -5/+0 | |
2012-07-30 | Fix whitespace | Eelco Dolstra | 1 | -71/+71 | |
2012-07-27 | Let build.cc verify the expected hash of a substituter's output | Eelco Dolstra | 1 | -6/+33 | |
Since SubstitutionGoal::finished() in build.cc computes the hash anyway, we can prevent the inefficiency of computing the hash twice by letting the substituter tell Nix about the expected hash, which can then verify it. | |||||
2012-07-27 | Remove more tabs | Eelco Dolstra | 1 | -9/+9 | |
2012-07-27 | Remove trailing whitespace / tabs | Eelco Dolstra | 1 | -130/+130 | |
2012-07-26 | Fix the substituter tests | Eelco Dolstra | 1 | -1/+2 | |
2012-07-26 | Merge branch 'master' into no-manifests | Eelco Dolstra | 13 | -160/+199 | |