Commit graph

  • 5fe9222b36 * Don't use ATmake / ATmatch anymore, nor the ATMatcher class. Instead we generate data bindings (build and match functions) for the constructors specified in `constructors.def'. In particular this removes the conversions between AFuns and strings, and Nix expression evaluation now seems 3 to 4 times faster. Eelco Dolstra 2004-10-26 22:54:26 +0000
  • eb8284ddaa * Evaluate argument to `import'. Eelco Dolstra 2004-10-26 17:10:09 +0000
  • 033d7c6593 * Doh! Eelco Dolstra 2004-10-26 17:04:55 +0000
  • 9fa07b376d * String/path concatenation operator (`+'). Eelco Dolstra 2004-10-26 17:01:35 +0000
  • ee401afad8 * Mode --parse-only' to parse the input (on stdin, -'), and print out the AST as an ATerm. * Mode `--eval-only' to parse and evaluate the input, and print the resulting normal form as an ATerm. Eelco Dolstra 2004-10-26 16:59:36 +0000
  • 37d7abd694 * New language feature: with expressions. Eelco Dolstra 2004-10-25 16:54:56 +0000
  • f4d44a0026 * Allow certain operations to succeed even if we don't have write permission to the Nix store or database. E.g., nix-env -qa' will work, but nix-env -qas' won't (the latter needs DB access). The option `--readonly-mode' forces this mode; otherwise, it's only activated when the database cannot be opened. Eelco Dolstra 2004-10-25 14:38:23 +0000
  • 3ade3e7721 * Revert r1594 - it didn't solve the problem. Instead add svn-revision to distributions, which should fix it. Eelco Dolstra 2004-10-25 13:51:34 +0000
  • 2248becfd3 * Make sure that the prerelease version is included in `--version'. Eelco Dolstra 2004-10-25 12:15:50 +0000
  • 50b9caac14 * Updated NEWS for the upcoming 0.6 release. Eelco Dolstra 2004-10-21 09:22:16 +0000
  • 2155c0a673 * Register channels as roots of the garbage collector (in $(localstatedir)/nix/gcroots/channels). * In setuid installations, create gcroots/tmp and gcroots/channels group-writable. Eelco Dolstra 2004-10-20 14:42:38 +0000
  • 88888160d2 * Fix nix-prefetch-url in setuid Nix installations. Eelco Dolstra 2004-10-20 14:40:54 +0000
  • 99da51d4de * Show error messages from curl. Eelco Dolstra 2004-10-20 14:05:48 +0000
  • 2cd590d96c * Instead of — use the actual Unicode character. By the way, to edit the manual, you should have something like Eelco Dolstra 2004-10-18 12:22:14 +0000
  • 692204e0c5 * Rewrite of package management stuff. Eelco Dolstra 2004-10-14 16:43:09 +0000
  • d830b2c1df * In `nix-env -q', sort derivations by name *without* case sensitivity. Eelco Dolstra 2004-10-14 15:09:55 +0000
  • febd8bed1b * Split overview chapter into a chapter on package management and a chapter on writing Nix expressions. Eelco Dolstra 2004-10-14 11:55:12 +0000
  • 98c69e5172 * Unindent. Eelco Dolstra 2004-10-14 11:54:41 +0000
  • 371c57d8a7 * Updated the quick start section. Use channels instead of downloading Nix expressions and calling nix-pull. This is so user-friendly that even a Mac user can do it! :-) Eelco Dolstra 2004-10-13 15:35:47 +0000
  • 2b20701f78 * Better introduction. * Set notes in a different color than warnings. Eelco Dolstra 2004-10-13 15:08:35 +0000
  • 1317242780 * Make store objects created by substitutes read-only. Eelco Dolstra 2004-09-22 12:15:04 +0000
  • 995d08208e * prevent collision on log directory Niels Janssen 2004-09-19 15:53:37 +0000
  • b357284a32 * Fallback didn't work for subderivations of an unnormalised the main derivation, since NormalisationGoal would first run a NormalisationGoal on the subderivation (a no-op, since in a situation where we need fallback the successor is known), and then runs a RealisationGoal on the normal form, which then cannot do a fallback because it doesn't know the derivation expression for which it is a normal form. Eelco Dolstra 2004-09-12 19:08:57 +0000
  • dcc433de47 * Operation --delete-generations' to delete generations of a profile. Arguments are either generation number, or old' to delete all non-current generations. Typical use: Eelco Dolstra 2004-09-10 13:32:08 +0000
  • c16be6ac92 * Remove write permission from store objects after they have been added to the store. Bug reported by Martin. Eelco Dolstra 2004-09-09 21:19:20 +0000
  • 47f87072ad * A very dirty hack to make setuid installations a bit nicer to use. Previously there was the problem that all files read by nix-env etc. should be reachable and readable by the Nix user. So for instance building a Nix expression in your home directory meant that the home directory should have at least g+x or o+x permission so that the Nix user could reach the Nix expression. Now we just switch back to the original user just prior to reading sources and the like. The places where this happens are somewhat arbitrary, however. Any scope that has a live SwitchToOriginalUser object in it is executed as the original user. Eelco Dolstra 2004-09-09 21:12:53 +0000
  • 5396304c73 * Use setre[ug]id() instead of setres[ug]id(), since the former is more common than the latter (which exists only on Linux and FreeBSD). We don't really care about dropping the saved IDs since there apparently is no way to quiry them in any case, so it can't influence the build (unlike the effective IDs which are checked by Perl for instance). Eelco Dolstra 2004-09-09 15:55:31 +0000
  • e043fc7d0b * Set the umask to known value (0022). This is important in a setuid installation, since the calling user may have a more fascist umask (say, 0077), which would cause the store objects built by Nix to be unreadable to anyone other than the Nix user. Eelco Dolstra 2004-09-09 14:16:02 +0000
  • 550d960586 * Hack for perl(readmanifest) dependency. Eelco Dolstra 2004-09-08 12:07:19 +0000
  • 17c8252fc9 * Spec file options to create the Nix user and group in the RPM pre-install script. By default this is turned off; you should edit the spec file to enable it. Eelco Dolstra 2004-09-06 10:05:21 +0000
  • fb28cfc86d * Add some variability to RPM spec files: allow setuid options to be set on the rpmbuild command line. Eelco Dolstra 2004-09-06 08:17:55 +0000
  • 5c443b6550 * Main the `substitutes-rev' table again, but now in a way that doesn't take \Theta(n^2) space/time complexity. Eelco Dolstra 2004-08-31 16:13:10 +0000
  • c25f2883b1 * Quadruple the Berkeley DB locking limits to get rid of out of memory errors while running `nix-store --verify'. Eelco Dolstra 2004-08-31 10:50:08 +0000
  • fe122c5a15 * Removed nrWaitees field. It was redundant with waitees.size() and could get out of sync if multiple input derivations mapped to the same closure expression (since waitees is a set). Eelco Dolstra 2004-08-30 11:51:36 +0000
  • eb233e728f * --min-age' flag in nix-store and nix-collect-garbage to only delete unreachable paths that haven't been used for N hours. For instance, nix-collect-garbage --min-age 168' only deletes paths that haven't been accessed in the last week. Eelco Dolstra 2004-08-25 16:54:08 +0000
  • fdec72c6cc * nix-collect-garbage' now actually performs a garbage collection, it doesn't just print the set of paths that should be deleted. So there is no more need to pipe the result into nix-store --delete' (which doesn't even exist anymore). Eelco Dolstra 2004-08-25 15:39:13 +0000
  • 818047881e * Put the garbage collector in nix-store: operation --gc', suboperations --print-live', --print-dead', and --delete'. The roots are not determined by nix-store; they are read from standard input. This is to make it easy to customise what the roots are. Eelco Dolstra 2004-08-25 11:43:49 +0000
  • 9994c1dd9f * Validate derivation names. In particular don't allow spaces. * Drop support for the outPath attribute in derivations. Eelco Dolstra 2004-08-24 11:46:05 +0000
  • 8f58733ef1 * The gid should also match. Eelco Dolstra 2004-08-20 15:47:58 +0000
  • 1c90fabccc * Unbreak programs that are not setuid (such as nix-hash). Eelco Dolstra 2004-08-20 15:31:46 +0000
  • e77fbe0fa2 * On systems that have the setresuid() and setresgid() system calls to set the real uid and gid to the effective uid and gid, the Nix binaries can be installed as owned by the Nix user and group instead of root, so no root involvement of any kind is necessary. Eelco Dolstra 2004-08-20 15:22:33 +0000
  • 2d35116c13 * Setuid support for sharing a Nix installation between multiple users. Eelco Dolstra 2004-08-20 14:49:05 +0000
  • 8f1dcdfc0a * Make sure that no build hook is set by default in the tests. * Don't use `seq' - some primitive, obsolete operating systems (Darwin) don't have it. Eelco Dolstra 2004-08-19 09:09:09 +0000
  • 1eddee59f2 * The default verbosity level of all Nix commands is now lvlInfo. * Builder output is written to standard error by default. * The option -B' is gone. * The option -Q' suppresses builder output. Eelco Dolstra 2004-08-18 12:19:06 +0000
  • 937ce0cd21 * Flag `--no-link' suppresses symlinking to the output path. * Handle multiple derivations correctly. Eelco Dolstra 2004-08-18 12:11:31 +0000
  • 966bd9d19f * WTF? More canonical system name problems ("athlon-linux" instead of "i686-linux"). Eelco Dolstra 2004-08-13 09:57:51 +0000
  • 62fe5c4a22 * The predecessor of a successor need not be present. This in particular happens on distributed builds or when using push/pull. Eelco Dolstra 2004-08-11 19:03:13 +0000
  • ae1a1efa41 * Clean up the temporary directory for hook communication (and don't print out incorrect "build failed" messages). Eelco Dolstra 2004-08-05 14:53:27 +0000
  • d8989b1fb4 * Every real language has a `map' function. Eelco Dolstra 2004-08-04 11:27:53 +0000
  • bbfdd64741 * Allow primops with more that 1 arguments. Eelco Dolstra 2004-08-04 10:59:20 +0000
  • e3a50f7e25 * Creating a file nix-support/no-scan in the output path of a derivation disables scanning for dependencies. Use at your own risk. This is a quick hack to speed up UML image generation (image are very big, say 1 GB). Eelco Dolstra 2004-08-04 09:25:21 +0000
  • 18ebd7b030 * Doh! Eelco Dolstra 2004-07-30 14:18:48 +0000
  • 5373aed1a8 * Use ATerm 2.2. * Include bootstrap.sh in dist. Eelco Dolstra 2004-07-30 14:17:05 +0000
  • 16c8b4c8e5 * A script to generate the Auto* stuff. Eelco Dolstra 2004-07-30 13:45:13 +0000
  • e8a95108c0 * Nix-build places a symlink `result' in the current directory to the store object just built. Eelco Dolstra 2004-07-28 13:32:45 +0000
  • 9bf7a5f516 * Don't pass `--with-system'. Eelco Dolstra 2004-07-18 21:08:24 +0000
  • 39eaecbc98 * Slightly better heuristic for picking the canonical system type. Now SuSE and Red Hat should yield the same type (i686-linux'). Mac OS X should now give powerpc-darwin' (i.e., the version number is gone). Eelco Dolstra 2004-07-18 21:07:27 +0000
  • 064a36cb54 * Hardcode the system id to be `i686-linux'. Eelco Dolstra 2004-07-09 13:06:12 +0000
  • c1a18f543e * Fixed format string error. Eelco Dolstra 2004-07-06 11:21:34 +0000
  • 056cd1d3b7 * Don't go into a (sometimes infinite) loop calling the build hook. Eelco Dolstra 2004-07-01 16:24:35 +0000
  • 638ce339a5 * Nix-instantiate now accepts sets of derivations (just like nix-env). Eelco Dolstra 2004-07-01 14:25:26 +0000
  • 292d6468ec * Nix-env operations now by default filter out any derivations for system types other than the current system. I.e., nix-env -i' won't install derivations for other system types, and nix-env -q' won't show them. The flag --system-filter SYSTEM' can be used to override the system type used for filtering (but not for building!). The value *' can be used not to filter anything. Eelco Dolstra 2004-07-01 13:56:56 +0000
  • 8f6254e823 * Align the columns in the output of `nix-env -q'. Eelco Dolstra 2004-07-01 13:35:10 +0000
  • 593bc23d8b * Allow the system attribute of derivations to be queried in nix-env -q'. * Queries can now be combined, e.g., nix-env -q --status --system'. Eelco Dolstra 2004-07-01 13:13:37 +0000
  • b584253af4 * Include some missing headers. Eelco Dolstra 2004-07-01 11:11:16 +0000
  • f5d5ffe536 * Write build logs to disk again. Eelco Dolstra 2004-06-29 09:41:50 +0000
  • 00aadf478b * Use ATerm 2.1. Eelco Dolstra 2004-06-28 14:51:42 +0000
  • 151e61fa5a * By default, nix-env -i' now deletes previously installed derivations with names matching the derivations being installed. The option --preserve-installed / -P' overrides this behaviour. Eelco Dolstra 2004-06-28 14:40:26 +0000
  • 4d2946c516 * In a realisation goal, check the result of the corresponding normalisation goal. Eelco Dolstra 2004-06-28 13:51:24 +0000
  • 24286e15c9 * `nix-env -u' now allows a specific version to be specified when upgrading. Eelco Dolstra 2004-06-28 13:37:05 +0000
  • 2746a879e2 * Typo. Eelco Dolstra 2004-06-28 12:07:07 +0000
  • 91dc023665 * Added a switch `--fallback'. From the manual: Eelco Dolstra 2004-06-28 10:42:57 +0000
  • b113edeab7 * A flag --keep-going / -k' to keep building goals if one fails, as much as possible. (This is similar to GNU Make's -k' flag.) Eelco Dolstra 2004-06-25 15:36:09 +0000
  • e4883211f9 * Don't throw an exception when a build fails. Just terminate the goal and allow the problem to be handled elsewhere (e.g., at top-level). Eelco Dolstra 2004-06-25 10:21:44 +0000
  • 795d9f8b08 * Obsolete. Eelco Dolstra 2004-06-24 14:36:50 +0000
  • a29c8ac51c * Add a test to check that when we cannot realise a closure expression, we should invalidate it and go back to the derivation for which it is a successor. Eelco Dolstra 2004-06-24 14:35:01 +0000
  • ec32627621 * Multiple and/or failing substitutes now work. Eelco Dolstra 2004-06-24 13:40:38 +0000
  • 8052aef486 * A test for multiple and/or failing substitutes. Eelco Dolstra 2004-06-24 12:56:24 +0000
  • 66c7f34759 * Arghhhhhh Eelco Dolstra 2004-06-22 17:07:32 +0000
  • 05a5362d63 * Some more diagnostics changes. Eelco Dolstra 2004-06-22 17:04:10 +0000
  • d051cd40e1 * Nix-instantiate can return multiple store expressions. Eelco Dolstra 2004-06-22 15:17:04 +0000
  • 3093af58a7 * A utility script `nix-build' that builds Nix expressions and prints their output paths (and only that) on standard output. Eelco Dolstra 2004-06-22 15:12:34 +0000
  • b302e5f63b * We don't really need this here. Eelco Dolstra 2004-06-22 15:06:43 +0000
  • 83ae1723da * Well, it's better than printf. Eelco Dolstra 2004-06-22 15:01:01 +0000
  • 72bc9a522f * Started making Nix's diagnostic messages a bit more useful. Eelco Dolstra 2004-06-22 14:48:59 +0000
  • 5e2cf44a4d * Put WEXITSTATUS stuff somewhere else. Eelco Dolstra 2004-06-22 11:03:41 +0000
  • 84007a0958 * Reduce gratuitous cut & pasting. Eelco Dolstra 2004-06-22 10:21:44 +0000
  • c9fbd2dfd5 * Wrapper class around pids. Eelco Dolstra 2004-06-22 09:51:44 +0000
  • 155d7c8dfa * Substitutes should occupy a build slot. Eelco Dolstra 2004-06-22 09:00:31 +0000
  • c4cb6ea2bc * Refactoring. Eelco Dolstra 2004-06-22 08:50:25 +0000
  • 88fb4f6e53 * Missing files added to `make dist'. Eelco Dolstra 2004-06-21 12:20:47 +0000
  • 2db9748221 * Remove debug output. Eelco Dolstra 2004-06-21 10:01:17 +0000
  • 37ee6cef99 * Adapted nix-pull to use the new substitute mechanism. Eelco Dolstra 2004-06-21 09:51:23 +0000
  • 3f3a3ae87b * Acquire a lock on the output path when running a substitute. Also delete obstructing invalid paths. Eelco Dolstra 2004-06-21 09:35:50 +0000
  • 72c857f0eb * Ugh, nasty Heisenbug due to an uninitialiased variable. The bug only caused a crash if the program was *not* invoked with a high verbosity level. Eelco Dolstra 2004-06-21 08:51:55 +0000
  • be1a917beb * Remove obstructing invalid store paths add[Text]ToStore(). Eelco Dolstra 2004-06-21 07:46:02 +0000
  • daf0a923c7 * Wrap calls to registerSubstitute() in a single transaction to improve throughput. * Don't build the `substitute-rev' table for now, since it caused Theta(N^2) time and log file consumption when adding N substitutes. Maybe we can do without it. Eelco Dolstra 2004-06-21 07:38:17 +0000
  • 15c60ca1b6 * Disable calls to fsync() since Berkeley DB's DB_TXN_WRITE_NOSYNC flag doesn't seem to work as advertised. Eelco Dolstra 2004-06-21 07:36:01 +0000
  • 112ee89501 * Re-enable support for substitutes in the normaliser. Eelco Dolstra 2004-06-20 19:17:54 +0000
  • bafb2357d1 * README for the Emacs mode (written a while ago, but forgot to commit). Eelco Dolstra 2004-06-20 19:08:59 +0000