Commit graph

  • 77afd97a99 * nix-store --gc / --delete: show how many store paths were deleted. Eelco Dolstra 2008-09-17 12:53:33 +0000
  • 7ab68961e4 * Garbage collector: added an option `--use-atime' to delete paths in order of ascending last access time. This is useful in conjunction with --max-freed or --max-links to prefer deleting non-recently used garbage, which is good (especially in the build farm) since garbage may become live again. Eelco Dolstra 2008-09-17 10:02:55 +0000
  • 2b2aa8a820 * Doh. Eelco Dolstra 2008-09-08 11:02:15 +0000
  • 7933cdc6dc * When writing the user environment manifest, filter out non-string attributes from the meta attribute. Not doing so caused nix-env to barf on the "psi" package, which has a meta.function attribute, the textual serialisation of which causes a gigantic string to be produced --- so big that it causes nix-env to run out of memory. Eelco Dolstra 2008-09-02 09:21:38 +0000
  • 0f0dbe8c0c * Extend the ATerm suppressions to 64-bit. Eelco Dolstra 2008-08-29 14:38:04 +0000
  • 311c222f47 Eelco Dolstra 2008-08-29 13:59:03 +0000
  • 2a01d06da6 Added nix-http-export.cgi to extra distributed scripts; so it can be installed from releases, not only from SVN. Michael Raskin 2008-08-29 08:34:38 +0000
  • 7718b19389 * Explicitly set PWD to prevent problems with chroot builds. In particular, dietlibc cannot figure out the cwd because the inode of the current directory doesn't appear in .. (because getdents returns the inode of the mount point). Eelco Dolstra 2008-08-27 17:20:25 +0000
  • 9cc0da8453 * Create a /tmp with 1777 permission in the chroot. Some builders need a writable /tmp (they don't respect $TMPDIR). Eelco Dolstra 2008-08-27 16:03:03 +0000
  • 99dc3e613a * Require that __overrides is defined as a non-recursive attribute (which means it can only be defined via "inherit"), otherwise we get scoping bugs, since __overrides can't be recursive (or at least, it would be hard). Eelco Dolstra 2008-08-26 14:05:59 +0000
  • d06be428f6 * Disable chroot builds for fixed-output derivations so that we don't need /etc in the chroot (in particular, /etc/resolv.conf for fetchurl). Not having /etc/resolv.conf in the chroot is a good thing, since we don't want normal derivations to download files. Eelco Dolstra 2008-08-25 15:49:22 +0000
  • abec1c0004 * Evaluate attributes in sorted order for better determinism. Eelco Dolstra 2008-08-25 14:31:29 +0000
  • c4f1c2114b * Minor simplification. Eelco Dolstra 2008-08-25 14:15:56 +0000
  • 49829da8b4 * Doh. Eelco Dolstra 2008-08-25 13:32:27 +0000
  • b428adc267 * Strip off the .nix' suffix from the attribute name for files in ~/.nix-defexpr, otherwise the attribute cannot be selected with the -A' option. Useful if you want to stick a Nix expression directly in ~/.nix-defexpr. Eelco Dolstra 2008-08-25 13:31:57 +0000
  • cc826dc03e * Simplify the Valgrind suppressions using wildcards. Eelco Dolstra 2008-08-22 14:32:29 +0000
  • 51e2dda58c * Some more ATerm Valgrind suppressions. Eelco Dolstra 2008-08-19 12:46:43 +0000
  • b7ff182b6e Fixing an obvious typo in override code. I do not know whether it works correctly after the change, but at least it ca nbe compiled now. Michael Raskin 2008-08-14 22:01:43 +0000
  • ca07f3e370 * Another experimental feature: a way to truly override attributes in a rec. This will be very useful to allow end-user customisation of all-packages.nix, for instance globally overriding GCC or some other dependency. The // operator doesn't cut it: you could replace the "gcc" attribute, but all other attributes would continue to reference the original value due to the substitution semantics of rec. Eelco Dolstra 2008-08-14 16:59:37 +0000
  • 9279174dde * Added an experimental feature suggested by Andres: ellipses ("...") in attribute set pattern matches. This allows defining a function that takes *at least* the listed attributes, while ignoring additional attributes. For instance, Eelco Dolstra 2008-08-14 14:00:44 +0000
  • db4f4a8425 * Backward compatibility check to prevent nixos-rebuild from barfing when upgrading Nix. Eelco Dolstra 2008-08-14 13:02:19 +0000
  • 1b962fc720 * @-patterns as in Haskell. For instance, in a function definition Eelco Dolstra 2008-08-14 12:53:29 +0000
  • e818838412 * "pattern" non-terminal. Eelco Dolstra 2008-08-14 10:14:34 +0000
  • efe4b690ae * Refactoring: combine functions that take an attribute set and functions that take a single argument (plain lambdas) into one AST node (Function) that contains a Pattern node describing the arguments. Current patterns are single lazy arguments (VarPat) and matching against an attribute set (AttrsPat). Eelco Dolstra 2008-08-14 10:04:22 +0000
  • c03b729319 * Increase the sleep periods a bit to make the test less likely to fail on slow machines. Of course it would be better if this test wasn't timing dependent... Eelco Dolstra 2008-08-14 09:26:30 +0000
  • 5664b6d7ba * Removed the "valid values" feature. Nobody uses it anyway. Eelco Dolstra 2008-08-11 13:36:40 +0000
  • b455c4c45c Updates to nix-reduce-build Michael Raskin 2008-08-06 19:43:53 +0000
  • 72f3ea7358 * Moved some stuff to the Nixpkgs manual. * Updated the release notes. Eelco Dolstra 2008-08-05 11:03:05 +0000
  • 98b07466fb * Better error checking of the data from the substituters. Eelco Dolstra 2008-08-05 10:57:53 +0000
  • 339c142009 * Use optimistic profile locking for nix-env operations like -i' and -u'. Instead of acquiring an exclusive lock on the profile for the entire duration of the operation, we just perform the operation optimistically (without an exclusive lock), and check at the end whether the profile changed while we were busy (i.e., the symlink target changed). If so, the operation is restarted. Restarting is generally cheap, since the build results are still in the Nix store. Most of the time, only the user environment has to be rebuilt. Eelco Dolstra 2008-08-04 16:21:45 +0000
  • a87b5256e2 * Fix the tests. Eelco Dolstra 2008-08-04 16:16:49 +0000
  • 001b3f06ec * `nix-env --set': support --dry-run. Eelco Dolstra 2008-08-04 14:58:50 +0000
  • 7592f48c83 * nix-build: `--dry-run' flag. Eelco Dolstra 2008-08-04 13:46:01 +0000
  • a1d310b6b5 * nix-store --realise': print what paths will be built/downloaded, just like nix-env. * nix-store --realise': --dry-run option. Eelco Dolstra 2008-08-04 13:44:46 +0000
  • 42043953c3 * Doh. Eelco Dolstra 2008-08-04 13:15:47 +0000
  • 5adbb0aabe * build.cc: only use a substituter if it returns info for a path. Eelco Dolstra 2008-08-04 13:15:35 +0000
  • 5b1052663a * Always show what paths we're going to build/download (as in --dry-run). Maybe there should be an option to turn this on/off? Eelco Dolstra 2008-08-04 13:11:09 +0000
  • c4f98941ed * nix-env --dry-run: show the total size of the substituter downloads. Eelco Dolstra 2008-08-04 12:29:04 +0000
  • 03427e76f1 * querySubstitutablePathInfo: work properly when run via the daemon. * --dry-run: print the paths that we don't know how to build/substitute. Eelco Dolstra 2008-08-04 11:44:50 +0000
  • b3c26180e3 Updates to nix-reduce-build: only realize fixed derivations if user asks so, or only use substituters. Oh, and add possibility to use : for things like /etc/nixos/nixpkgs:-A:gnused Michael Raskin 2008-08-02 16:43:25 +0000
  • 3c92ea399d * Make nix-env --dry-run print the paths to be substituted correctly again. (After the previous substituter mechanism refactoring I didn't update the code that obtains the references of substitutable paths.) This required some refactoring: the substituter programs are now kept running and receive/respond to info requests via stdin/stdout. Eelco Dolstra 2008-08-02 12:54:35 +0000
  • fc691e1cbd * Print a better error message when a non-derivation attribute set is coerced to a string. Eelco Dolstra 2008-07-24 14:52:25 +0000
  • 096198d11f * A quick hack to make nix-prefetch-url support mirror:// URLs. It requires that $NIXPKGS_ALL points at a Nixpkgs tree. Eelco Dolstra 2008-07-23 16:02:58 +0000
  • 660244f65f * Make sure that copy-from-other-stores.pl is built. Eelco Dolstra 2008-07-23 09:38:38 +0000
  • e139d7fc68 * Fix the tests. Eelco Dolstra 2008-07-18 20:03:12 +0000
  • 989176c56e * Allow read-only access to the store (e.g., non-root users on NixOS can do operations like "nix-store -qR <path>" even without the Nix daemon). Eelco Dolstra 2008-07-18 15:34:46 +0000
  • 8bc591a6f0 * Use the copy-from-other-stores substituter by default. Of course, it only does something if $NIX_OTHER_STORES (not really a good name...) is set. * Do globbing on the elements of $NIX_OTHER_STORES. E.g. you could set it to /mnts/*/nix or something. * Install substituters in libexec/nix/substituters. Eelco Dolstra 2008-07-18 13:05:10 +0000
  • 15f39aba8c * Quick prototype of a substituter that copies paths from other Nix stores (typically remote Nix stores mounted via e.g. NFS, or the Nix store on the NixOS installation CD). Example use: Eelco Dolstra 2008-07-12 18:58:24 +0000
  • 7cd88b1dec * Generalised the dependencyClosure primop to builtins.genericClosure, which is hopefully more useful. * New primops: length, mul, div. Eelco Dolstra 2008-07-11 13:29:04 +0000
  • d567baabbd * Export the nix-env derivation name parsing and version comparison logic through the parseDrvName' and compareVersions' primops. This will allow expressions to easily check whether some dependency is a specific needed version or falls in some version range. See tests/lang/eval-okay-versions.nix for examples. Eelco Dolstra 2008-07-01 10:10:32 +0000
  • b3b0b2a29e * `make ext-clean': remove the bzip2 build. Eelco Dolstra 2008-06-23 13:52:28 +0000
  • 6c8641a542 Eelco Dolstra 2008-06-18 19:17:05 +0000
  • 5af84139a8 * --max-freed: support values >= 4 GB. Eelco Dolstra 2008-06-18 15:20:33 +0000
  • d3aa183beb * Garbage collector: option --max-freed' to stop after at least N bytes have been freed, --max-links' to stop when the Nix store directory has fewer than N hard links (the latter being important for very large Nix stores on filesystems with a 32000 subdirectories limit). Eelco Dolstra 2008-06-18 14:20:16 +0000
  • a8f3b02092 * `nix-store --optimise': handle files with >= 32000 hard links. (There can easily be more than 32000 occurrences of the empty file.) Eelco Dolstra 2008-06-18 14:13:00 +0000
  • a72709afd8 * Some refactoring: put the GC options / results in separate structs. * The garbage collector now also prints the number of blocks freed. Eelco Dolstra 2008-06-18 09:34:17 +0000
  • 934c58aa38 * Use bzip2 1.0.5. Eelco Dolstra 2008-06-17 08:12:12 +0000
  • ee8f15930d * Test instrumentation. Eelco Dolstra 2008-06-15 15:10:03 +0000
  • f351834f77 * nix-worker: clean up the temporary root for the worker processes in /nix/var/nix/temproots. Eelco Dolstra 2008-06-14 16:03:02 +0000
  • 94fd46fa1c * Note. Eelco Dolstra 2008-06-14 16:02:31 +0000
  • 955b8841cd Also trying to build derivers in case we cannot get substituters Michael Raskin 2008-06-14 08:48:40 +0000
  • 18e27629d3 Added local best-effort builds (i.e. one failure does not ruin all packages you would like to see built) Michael Raskin 2008-06-14 08:30:35 +0000
  • 826b271d9a * Garbage collector: don't do a complete topological sort of the Nix store under the reference relation, since that means that the garbage collector will need a long time to start deleting paths. Instead just delete the referrers of a path first. Eelco Dolstra 2008-06-13 18:25:24 +0000
  • 30c9f909b2 * Print some progress info during the early GC stages. Eelco Dolstra 2008-06-13 17:21:20 +0000
  • 194c66eeeb Stupid error in script Michael Raskin 2008-06-13 14:34:19 +0000
  • f903d86740 OK, I will believe that fix does no worse.. Michael Raskin 2008-06-13 13:53:14 +0000
  • ce85b55cf0 Updated help text Michael Raskin 2008-06-12 17:45:38 +0000
  • 4532e4b90d Added verbosity for nix-reduce-build Michael Raskin 2008-06-12 16:26:53 +0000
  • 2818b7cee6 * Updated some URLs. Eelco Dolstra 2008-06-11 15:39:38 +0000
  • 997b95a4af * Fixed compatibility with old versions of "wc" that print whitespace before the count. Eelco Dolstra 2008-06-10 10:08:15 +0000
  • b0e92f6d47 * Merged the no-bdb branch (-r10900:HEAD https://svn.nixos.org/repos/nix/nix/branches/no-bdb). Eelco Dolstra 2008-06-09 13:52:45 +0000
  • 4ed01ed791 * Updated some URLs (did this a long time ago but forgot to commit...). Eelco Dolstra 2008-06-09 13:42:13 +0000
  • c41a3ec3a9 First attempt to update Nix SDF grammar to match the actual bison grammar Sander van der Burg 2008-06-04 14:36:46 +0000
  • bd955e15e1 * GCC 4.3.0 (Fedora 9) compatibility fixes. Reported by Gour and Armijn Hemel. Eelco Dolstra 2008-05-21 11:17:31 +0000
  • 9819bb20da Added support for file:// archive (.nar.gz) repositories to nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK. Michael Raskin 2008-05-11 15:54:30 +0000
  • b4bc8b7616 --proxy=proxy:3128 Michael Raskin 2008-05-07 14:18:28 +0000
  • b1e321d6ce Added http alternative transport for nix-reduce-build Michael Raskin 2008-04-29 04:03:54 +0000
  • 658816ddc9 * Make really sure that we use bash. The line Eelco Dolstra 2008-04-10 09:54:23 +0000
  • 72034ab35d * sockaddr_un doesn't allow path names of more than 108 characters. This isn't usually a problem, except that it causes tests to fail when performed in a directory with a very long path name. So chdir to the socket directory and use a relative path name. Eelco Dolstra 2008-04-09 05:57:01 +0000
  • f8985d195e * Fix for NIX-101 (should use an absolute path for call to nix-hash). Eelco Dolstra 2008-03-28 17:52:33 +0000
  • 329025253d * Use /tmp/nix-build-<drvpath>-<counter> instead of /tmp/nix-<pid>-<counter> for temporary build directories. This increases purity a bit: many packages store the temporary build path in their output, causing (generally unimportant) binary differences. Eelco Dolstra 2008-03-27 13:45:17 +0000
  • 5bb08db55b * Updated URL. Eelco Dolstra 2008-03-21 14:57:16 +0000
  • 98968fbb63 * Disable the don't-run-as-root sanity check because it breaks RPM builds (which are done as root...). Eelco Dolstra 2008-03-20 18:15:20 +0000
  • 2f1e2cf632 * Note that the SDF grammar isn't used. Eelco Dolstra 2008-03-20 14:59:33 +0000
  • f106868110 * Cleanup. Eelco Dolstra 2008-03-20 10:16:36 +0000
  • f789ea1d09 * A transaction is unnecessary since the path cannot be garbage-collected (it's a temporary root). Eelco Dolstra 2008-03-01 21:05:33 +0000
  • d7caac3e81 * Don't install nix-reduce-build by default yet please, I first want to understand better what it does... Eelco Dolstra 2008-02-28 21:27:47 +0000
  • 11d512e7a8 Added nix-reduce-build. You point it to some path you want to build and it fetches whatever it can from specified computers via nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or something... You really do want it. It will run separate ssh instances insane number of times. Michael Raskin 2008-02-27 21:26:47 +0000
  • 0a84137c45 * checkVarDefs: don't check in closed terms, which don't have undefined variables by definition. This matters for the implementation of "with", which does a call to checkVarDefs to see if the body of the with has no undefined variables. (It can't be checked at parse time because you don't know which variables are in the "with" attribute set.) If we check closed terms, then we check not just the with body but also the substituted terms, which are typically very large. This is the cause of the poor nix-env performance on Nixpkgs lately. It didn't happen earlier because "with" wasn't used very often in the past. Eelco Dolstra 2008-02-21 12:01:24 +0000
  • 0ed89c569f * Fix the parsing of Eelco Dolstra 2008-02-05 13:38:07 +0000
  • 4066f450c2 * Doh. Eelco Dolstra 2008-02-05 13:35:49 +0000
  • e7bdde981f * Regression test. Eelco Dolstra 2008-02-05 13:25:18 +0000
  • 66c51dc215 * nix-store --dump-db / --load-db to dump/load the Nix DB. * nix-store --register-validity: option to supply the content hash of each path. * Removed compatibility with Nix <= 0.7 stores. Eelco Dolstra 2008-01-29 18:17:36 +0000
  • 5b5a3af983 Probably fixed __exprToString Michael Raskin 2008-01-20 20:44:03 +0000
  • 5eb5c23447 Fixed exportBuildReferenceGraph Michael Raskin 2008-01-15 04:32:08 +0000
  • 7d0f6aed59 * New primop `unsafeDiscardStringContext' to get rid of string contexts. Needed to prevent unnecessary dependencies when building the NixOS manual. Eelco Dolstra 2008-01-04 14:22:49 +0000
  • 895c953817 * Bumped the version number to 0.12. Eelco Dolstra 2007-12-31 17:53:59 +0000
  • d4117859d6 Eelco Dolstra 2007-12-31 16:57:12 +0000
  • e0ca671491 * More documentation. Eelco Dolstra 2007-12-31 02:52:17 +0000
  • 6bdecfacbb * Documented a bunch of nix-store commands. Eelco Dolstra 2007-12-31 01:52:57 +0000