Commit graph

  • 0eab306466 * NarPath -> NarName. Eelco Dolstra 2003-10-20 09:08:44 +00:00
  • a0a7a4e087 * Remove some debug output. Eelco Dolstra 2003-10-16 19:24:04 +00:00
  • 0791282b2f * Substitutes and nix-pull now work again. * Fixed a segfault caused by the buffering of stderr. * Fix now allows the specification of the full output path. This should be used with great care, since it by-passes the normal hash generation. * Incremented the version number to 0.4 (prerelease). Eelco Dolstra 2003-10-16 16:29:57 +00:00
  • ab5e8767fa * Get nix-push to work again. * Fixed svn:ignore on externals/. Eelco Dolstra 2003-10-16 13:13:39 +00:00
  • c78bf11524 * Enable buffering of stderr in C++. Eelco Dolstra 2003-10-16 11:55:37 +00:00
  • f7c7aad135 * Upgraded to Berkeley DB 4.1.25 and do not synchronously flush the log on commit. This means that there is a small change that some transactions may be rolled back in case of a system crash, but this should not be a problem (it merely might cause some expression realisations to be rolled back), and it vastly improves performance. Eelco Dolstra 2003-10-16 08:52:44 +00:00
  • 181aa3dc41 * Don't sort the result of `--query --list'. Eelco Dolstra 2003-10-16 08:06:19 +00:00
  • ebff82222c * Refactoring: move all database manipulation into store.cc. * Removed `--query --generators'. Eelco Dolstra 2003-10-15 12:42:39 +00:00
  • 5fc7127643 * Keep sources (derivation expression) by default, `--no-source' to override. Eelco Dolstra 2003-10-15 10:34:50 +00:00
  • c190f051ac * Automatically recover the database in case of a crash. Eelco Dolstra 2003-10-14 15:33:00 +00:00
  • 1d61e473c8 * New query `nix --query --predecessors' to print the predecessors of a Nix expression. Eelco Dolstra 2003-10-10 15:25:21 +00:00
  • 0abe185688 * `nix --verify': check and repair reverse mapping for successors. Eelco Dolstra 2003-10-10 15:14:29 +00:00
  • d3d5e77810 * Reverse mappings for the successor and substitute mappings. Eelco Dolstra 2003-10-10 14:46:28 +00:00
  • 1eb4da156c * Performance improvement: don't register already registered terms, thus greatly reducing the number of db transactions. Eelco Dolstra 2003-10-10 13:22:29 +00:00
  • 08b7319f5b * Follow successors by default (use `--no-successors' to override). Eelco Dolstra 2003-10-09 15:38:31 +00:00
  • 6409c215e5 * Fixed nix-switch. Eelco Dolstra 2003-10-09 15:37:20 +00:00
  • 6baa2c4420 * Get rid of identifiers since they are redundant now. This greatly simplifies stuff. Eelco Dolstra 2003-10-08 15:06:59 +00:00
  • b9f4942bd2 * string -> Path. Eelco Dolstra 2003-10-07 14:37:41 +00:00
  • 5d4171f7fb * Synchronise terminology with the ICSE paper (e.g., slice -> closure, fstate -> Nix expression). * Fix src/test.cc. Eelco Dolstra 2003-10-07 12:27:49 +00:00
  • 563afb7fcc * Use passive FTP in wget. Eelco Dolstra 2003-10-02 15:48:47 +00:00
  • e78f753aa8 * Include the right files in a distribution. Eelco Dolstra 2003-10-02 12:22:19 +00:00
  • 4193d62e08 * Nix now respects $TMPDIR for the creation of temporary build directories. * Retry creation of a temporary directory (with a different name) in the case of EEXIST. Eelco Dolstra 2003-10-02 11:55:38 +00:00
  • 6d478597c7 * Argggg... Eelco Dolstra 2003-09-24 08:40:40 +00:00
  • 9fb94f4f2f * Forgot a file. Eelco Dolstra 2003-09-24 08:39:49 +00:00
  • 9ba2397ea9 * Added missing files to `make dist'. Eelco Dolstra 2003-09-24 08:28:04 +00:00
  • 41730f5779 * Put the SVN revision number in the version string. Eelco Dolstra 2003-09-23 14:26:58 +00:00
  • 1c7d6bf5fc * Removed references to char_traits so that boost/format also works on GCC 2.95. Eelco Dolstra 2003-09-11 10:23:55 +00:00
  • d930a9bc5a * Added some missing #includes. Eelco Dolstra 2003-09-11 08:31:29 +00:00
  • 803a924b77 * Make nicer dot graphs. Also show the inner structure of slices. Eelco Dolstra 2003-09-03 14:49:58 +00:00
  • c0bbed0959 * Factored out dot graph generation into a separate file. Eelco Dolstra 2003-09-03 11:20:18 +00:00
  • 0d2bc68681 * Do not show the output of the builder unless the verbosity is at least at debug level (-vvv). The output is still appended to the build log in /nix/var/log/nix. Eelco Dolstra 2003-08-29 13:12:30 +00:00
  • 25304af72e * Set a path. Eelco Dolstra 2003-08-28 10:51:52 +00:00
  • b018517314 * Do not try to remove write permission from symlinks, since chmod() follows symlinks. (Note that the permissions on symlinks are ignored anyway.) Eelco Dolstra 2003-08-28 10:51:14 +00:00
  • c4f1f49574 * nix-push generated invalid (old-style) slices. * nar.sh needs a path. Eelco Dolstra 2003-08-28 10:10:12 +00:00
  • 31be53cd0a * Fix the atrocious (exponential? factorial?) time complexity in `nix --query --requisites'. Eelco Dolstra 2003-08-25 14:56:11 +00:00
  • 920193beb1 * Don't continue when the call to nix fails. Eelco Dolstra 2003-08-25 14:36:04 +00:00
  • a88144215c * Remove write permission from output paths after they have been built. * Point $HOME to a non-existing path when building to prevent certain tools (such as wget) from falling back on /etc/passwd to locate the home directory (which we don't want them to look at since it's not declared as an input). Eelco Dolstra 2003-08-22 20:12:44 +00:00
  • 56b98c3857 * Some work on the introduction. Eelco Dolstra 2003-08-22 11:29:20 +00:00
  • 956801fcc2 * Use maps and sets in the FState data type. This ensures normalisation of slices and derivations w.r.t. order of paths, slice elements, etc. Eelco Dolstra 2003-08-20 14:11:40 +00:00
  • 624c48260f * Change the abstract syntax of slices. It used to be that ids were used as keys to reference slice elements, e.g., Eelco Dolstra 2003-08-20 12:39:56 +00:00
  • 710175e6a0 * Bumped the version number to 0.3. Eelco Dolstra 2003-08-20 11:31:15 +00:00
  • ed0db2e0d8 * Fixed a serious bug in the computation of slices. Sometimes the slices would not be properly closed under the path reference relation. Eelco Dolstra 2003-08-20 11:30:45 +00:00
  • 1472cc4825 * Pipe /dev/null into stdin. Eelco Dolstra 2003-08-19 13:07:38 +00:00
  • 2de8504791 * Delete the temporary directories of failed builds by default, and an option `--keep-failed' to override this behaviour. Eelco Dolstra 2003-08-19 09:04:47 +00:00
  • 31e4aa6439 * Allow lists in package bindings, e.g., Eelco Dolstra 2003-08-18 16:32:55 +00:00
  • ebbb6ce578 * Most shells initialise PATH to some default (/bin:/usr/bin:...) when PATH is not set. We don't want this, so fill it in with some dummy value. Eelco Dolstra 2003-08-18 14:54:54 +00:00
  • c32e01eab2 * Revision 300! * Put `@' in front of echo's in the Makefile. Eelco Dolstra 2003-08-18 08:52:49 +00:00
  • 08f9cfe267 * No longer automatically download Berkeley DB / ATerm. Eelco Dolstra 2003-08-18 08:35:16 +00:00
  • 96c7b98bf0 * Argument support in Fix. Arguments can be passed through the builder using the `args' binding: Eelco Dolstra 2003-08-15 13:01:45 +00:00
  • 555347744d * Derivation expressions now can specify arguments to be passed to the builder. Note that this unfortunately causes all Fix-computed hashes to change. Eelco Dolstra 2003-08-15 12:32:37 +00:00
  • e374dbf89b * A script `nix-prefetch-url' to fetch a URL, place it in the Nix store, and print its hash. Eelco Dolstra 2003-08-15 10:13:41 +00:00
  • 01e30360d4 * Don't use a temporary file. Eelco Dolstra 2003-08-15 09:39:33 +00:00
  • 163db7367f * Fix can now read expressions from stdin (by saying `fix -'). Eelco Dolstra 2003-08-15 09:21:19 +00:00
  • 161aab582b * Use a catalog when calling xsltproc. Eelco Dolstra 2003-08-14 18:24:40 +00:00
  • a24cb19361 * Use xmllint instead of nsgmls to validate the manual. Eelco Dolstra 2003-08-14 18:17:02 +00:00
  • 9ee3b7a37a * Function application test cases. Eelco Dolstra 2003-08-14 12:37:50 +00:00
  • dc0ef2ca98 * Detect infinite loops using blackholing. Eelco Dolstra 2003-08-14 12:37:31 +00:00
  • 2e16ff22ac * Fix man page. Eelco Dolstra 2003-08-14 11:27:02 +00:00
  • 5cde23f869 * Function() takes a list of formals. Eelco Dolstra 2003-08-14 09:49:31 +00:00
  • 0a2de7f543 * Lam -> Function. Doh! Eelco Dolstra 2003-08-14 09:29:07 +00:00
  • 95b49f8044 * Manual updates. Eelco Dolstra 2003-08-13 15:17:57 +00:00
  • 68022552d2 * Put the pre-built manual and man pages in the tar distribution. Eelco Dolstra 2003-08-13 15:17:36 +00:00
  • c34a153ae5 * Documented the `--query' operation. Eelco Dolstra 2003-08-13 10:45:01 +00:00
  • b4f88d0ec3 * Split the book.xml into several xml files. Eelco Dolstra 2003-08-13 09:13:52 +00:00
  • 469f1eba56 * Documented some Nix operations. Eelco Dolstra 2003-08-12 15:06:49 +00:00
  • e405ca506e * Generate man pages from the manual. Eelco Dolstra 2003-08-12 13:54:42 +00:00
  • c602930e08 * deletePath(): some operating systems (e.g., Mac OS X) don't like it when we delete entries from a directory while we are reading it. So read the directory into memory, then delete its contents. Eelco Dolstra 2003-08-08 14:55:56 +00:00
  • 4b7b0bd12c * Started on the introduction. Eelco Dolstra 2003-08-07 15:27:14 +00:00
  • 74867e72f2 * Start of manual; installation instructions. Eelco Dolstra 2003-08-07 14:17:18 +00:00
  • f8035d06f2 * Allow a name to be given to a system configuration through --name NAME'. E.g., on the losser Subversion server, I do nix-switch --name svn $(fix ...)' to atomically upgrade the server (the SVN server uses the Apache and Subversion installations in /nix/var/nix/links/svn). Eelco Dolstra 2003-08-06 14:48:29 +00:00
  • 9ad39df282 * `==' is not a valid operator. Eelco Dolstra 2003-08-06 10:00:30 +00:00
  • d551062ec4 * Scan for wget and use the full path in fetchurl.sh. * Use nix-hash (not md5sum) in fetchurl.sh. Eelco Dolstra 2003-08-06 09:35:05 +00:00
  • 236eb59293 * Allow locks on paths to be acquired recursively (that is, if the process is already holding a lock on a path, it may acquire the lock again without blocking or failing). (This might be dangerous, not sure). Necessary for fast builds to work. Eelco Dolstra 2003-08-06 09:34:04 +00:00
  • 720f06e3b0 * A flag --flat' to just compute the MD5 checksum of the contents of a regular file. I.e., nix-hash --flat' is equivalent to the coreutils `md5sum' command (which doesn't exist on all systems). Eelco Dolstra 2003-08-06 09:06:32 +00:00
  • 37483672d4 * App -> Call. * Allow booleans in package environment bindings (True maps to "1", False maps to ""). Eelco Dolstra 2003-08-06 09:05:04 +00:00
  • d34b4d4f28 * Conditionals. Eelco Dolstra 2003-08-05 13:05:30 +00:00
  • b9c9b461ea * Made nix-push much faster. Eelco Dolstra 2003-08-05 12:30:06 +00:00
  • 4ce652640b * Cache result of fstatePaths(). TODO: do this in fstore.cc. Eelco Dolstra 2003-08-05 12:29:47 +00:00
  • fd30f52cfc * Made nix-pull much faster by performing all Fix instantiations at the same time. Eelco Dolstra 2003-08-05 11:14:24 +00:00
  • 17f05dba77 * Allow the top-level expression to be a list of expressions that normalise to Nix expression. Eelco Dolstra 2003-08-05 11:13:38 +00:00
  • d6b6b2d3a8 * Delete obstructed paths prior to building. Eelco Dolstra 2003-08-05 09:47:20 +00:00
  • d2e963f7a3 * Path locking in addToStore() and expandPath(). Eelco Dolstra 2003-08-04 07:09:36 +00:00
  • c95b4ad290 * In normaliseFState(), wrap registration of the output paths and the normal form in a single transaction to ensure that if we crash, either everything is registered or nothing is. This is for recoverability: unregistered paths in the store can be deleted arbitrarily, while registered paths can only be deleted by running the garbage collector. Eelco Dolstra 2003-08-01 15:41:47 +00:00
  • d99d04e644 * Defensive programming against POSIX locking idiocy. * Simplified realiseSlice(). Eelco Dolstra 2003-08-01 15:06:23 +00:00
  • 545145cd58 * normaliseFState() now locks all output paths prior to building, thus ensuring that simultaneous invocations of Nix don't clobber each other's builds. Eelco Dolstra 2003-08-01 14:11:19 +00:00
  • 9df93f30bd * Don't use substitutes in addToStore(). Eelco Dolstra 2003-08-01 09:01:51 +00:00
  • 06434072e7 * Put the database verifier in a transaction. Eelco Dolstra 2003-07-31 19:49:11 +00:00
  • 06d3d7355d * Enclose most operations that update the database in transactions. Eelco Dolstra 2003-07-31 16:05:35 +00:00
  • 177a7782ae * Use a more reasonable log file size (256 KB instead of 10 MB). * Checkpoint on exit. Eelco Dolstra 2003-07-31 14:28:49 +00:00
  • 4a013962bd * Started using Berkeley DB environments. This is necessary for transaction support (but we don't actually use transactions yet). Eelco Dolstra 2003-07-31 13:47:13 +00:00
  • 758bd4673a * Set execute bit. Eelco Dolstra 2003-07-31 13:13:27 +00:00
  • 9f4c19276d * Basic makefile. Eelco Dolstra 2003-07-31 13:13:13 +00:00
  • 26ff1cdf89 * A better test case for Nix race conditions. Eelco Dolstra 2003-07-30 14:40:46 +00:00
  • 64c617e984 * Directories for the manual. Eelco Dolstra 2003-07-30 14:40:18 +00:00
  • 2ac02440dc * Test cases for races. Eelco Dolstra 2003-07-30 13:35:46 +00:00
  • aaee69cfde * INSTALL_DATA -> INSTALL_PROGRAM to ensure that the execute bit remains set. Eelco Dolstra 2003-07-30 10:14:58 +00:00
  • 83075304e5 * Don't make the builder executable. Eelco Dolstra 2003-07-30 09:49:47 +00:00
  • 1cb030736e * Bug: Fix does not allow empty names, so don't generate them. Eelco Dolstra 2003-07-29 17:56:39 +00:00
  • a01629894d * Use --query --requisites' and include successors when pushing. Don't use --query --generators' anymore. Eelco Dolstra 2003-07-29 15:19:03 +00:00
  • 40f32ae00a * Typo: if -> elsif. Eelco Dolstra 2003-07-29 14:42:14 +00:00