Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								161aab582b 
								
							 
						 
						
							
							
								
								* Use a catalog when calling xsltproc.  
							
							 
							
							
							
						 
						
							2003-08-14 18:24:40 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a24cb19361 
								
							 
						 
						
							
							
								
								* Use xmllint instead of nsgmls to validate the manual.  
							
							 
							
							
							
						 
						
							2003-08-14 18:17:02 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9ee3b7a37a 
								
							 
						 
						
							
							
								
								* Function application test cases.  
							
							 
							
							
							
						 
						
							2003-08-14 12:37:50 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								dc0ef2ca98 
								
							 
						 
						
							
							
								
								* Detect infinite loops using blackholing.  
							
							 
							
							
							
						 
						
							2003-08-14 12:37:31 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								2e16ff22ac 
								
							 
						 
						
							
							
								
								* Fix man page.  
							
							 
							
							
							
						 
						
							2003-08-14 11:27:02 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5cde23f869 
								
							 
						 
						
							
							
								
								* Function() takes a list of formals.  
							
							 
							
							
							
						 
						
							2003-08-14 09:49:31 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0a2de7f543 
								
							 
						 
						
							
							
								
								* Lam -> Function. Doh!  
							
							 
							
							
							
						 
						
							2003-08-14 09:29:07 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								95b49f8044 
								
							 
						 
						
							
							
								
								* Manual updates.  
							
							 
							
							
							
						 
						
							2003-08-13 15:17:57 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								68022552d2 
								
							 
						 
						
							
							
								
								* Put the pre-built manual and man pages in the tar distribution.  
							
							 
							
							
							
						 
						
							2003-08-13 15:17:36 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c34a153ae5 
								
							 
						 
						
							
							
								
								* Documented the `--query' operation.  
							
							 
							
							
							
						 
						
							2003-08-13 10:45:01 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b4f88d0ec3 
								
							 
						 
						
							
							
								
								* Split the book.xml into several xml files.  
							
							 
							
							
							
						 
						
							2003-08-13 09:13:52 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								469f1eba56 
								
							 
						 
						
							
							
								
								* Documented some Nix operations.  
							
							 
							
							
							
						 
						
							2003-08-12 15:06:49 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e405ca506e 
								
							 
						 
						
							
							
								
								* Generate man pages from the manual.  
							
							 
							
							
							
						 
						
							2003-08-12 13:54:42 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-08 14:55:56 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4b7b0bd12c 
								
							 
						 
						
							
							
								
								* Started on the introduction.  
							
							 
							
							
							
						 
						
							2003-08-07 15:27:14 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								74867e72f2 
								
							 
						 
						
							
							
								
								* Start of manual; installation instructions.  
							
							 
							
							
							
						 
						
							2003-08-07 14:17:18 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-08-06 14:48:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9ad39df282 
								
							 
						 
						
							
							
								
								* `==' is not a valid operator.  
							
							 
							
							
							
						 
						
							2003-08-06 10:00:30 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d551062ec4 
								
							 
						 
						
							
							
								
								* Scan for wget and use the full path in fetchurl.sh.  
							
							 
							
							... 
							
							
							
							* Use nix-hash (not md5sum) in fetchurl.sh. 
							
						 
						
							2003-08-06 09:35:05 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-06 09:34:04 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-08-06 09:06:32 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								37483672d4 
								
							 
						 
						
							
							
								
								* App -> Call.  
							
							 
							
							... 
							
							
							
							* Allow booleans in package environment bindings (True maps to "1",
  False maps to ""). 
							
						 
						
							2003-08-06 09:05:04 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d34b4d4f28 
								
							 
						 
						
							
							
								
								* Conditionals.  
							
							 
							
							
							
						 
						
							2003-08-05 13:05:30 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b9c9b461ea 
								
							 
						 
						
							
							
								
								* Made nix-push much faster.  
							
							 
							
							
							
						 
						
							2003-08-05 12:30:06 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4ce652640b 
								
							 
						 
						
							
							
								
								* Cache result of fstatePaths().  TODO: do this in fstore.cc.  
							
							 
							
							
							
						 
						
							2003-08-05 12:29:47 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								fd30f52cfc 
								
							 
						 
						
							
							
								
								* Made nix-pull much faster by performing all Fix instantiations at  
							
							 
							
							... 
							
							
							
							the same time. 
							
						 
						
							2003-08-05 11:14:24 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								17f05dba77 
								
							 
						 
						
							
							
								
								* Allow the top-level expression to be a list of expressions that  
							
							 
							
							... 
							
							
							
							normalise to Nix expression. 
							
						 
						
							2003-08-05 11:13:38 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d6b6b2d3a8 
								
							 
						 
						
							
							
								
								* Delete obstructed paths prior to building.  
							
							 
							
							
							
						 
						
							2003-08-05 09:47:20 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d2e963f7a3 
								
							 
						 
						
							
							
								
								* Path locking in addToStore() and expandPath().  
							
							 
							
							
							
						 
						
							2003-08-04 07:09:36 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-01 15:41:47 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d99d04e644 
								
							 
						 
						
							
							
								
								* Defensive programming against POSIX locking idiocy.  
							
							 
							
							... 
							
							
							
							* Simplified realiseSlice(). 
							
						 
						
							2003-08-01 15:06:23 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								545145cd58 
								
							 
						 
						
							
							
								
								* normaliseFState() now locks all output paths prior to building, thus  
							
							 
							
							... 
							
							
							
							ensuring that simultaneous invocations of Nix don't clobber
  each other's  builds.
* Fixed a bug in `make install'. 
							
						 
						
							2003-08-01 14:11:19 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9df93f30bd 
								
							 
						 
						
							
							
								
								* Don't use substitutes in addToStore().  
							
							 
							
							
							
						 
						
							2003-08-01 09:01:51 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								06434072e7 
								
							 
						 
						
							
							
								
								* Put the database verifier in a transaction.  
							
							 
							
							
							
						 
						
							2003-07-31 19:49:11 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								06d3d7355d 
								
							 
						 
						
							
							
								
								* Enclose most operations that update the database in transactions.  
							
							 
							
							... 
							
							
							
							* Open all database tables (Db objects) at initialisation time, not
  every time they are used.  This is necessary because tables have to
  outlive all transactions that refer to them. 
							
						 
						
							2003-07-31 16:05:35 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								177a7782ae 
								
							 
						 
						
							
							
								
								* Use a more reasonable log file size (256 KB instead of 10 MB).  
							
							 
							
							... 
							
							
							
							* Checkpoint on exit. 
							
						 
						
							2003-07-31 14:28:49 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4a013962bd 
								
							 
						 
						
							
							
								
								* Started using Berkeley DB environments.  This is necessary for  
							
							 
							
							... 
							
							
							
							transaction support (but we don't actually use transactions yet). 
							
						 
						
							2003-07-31 13:47:13 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								758bd4673a 
								
							 
						 
						
							
							
								
								* Set execute bit.  
							
							 
							
							
							
						 
						
							2003-07-31 13:13:27 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9f4c19276d 
								
							 
						 
						
							
							
								
								* Basic makefile.  
							
							 
							
							
							
						 
						
							2003-07-31 13:13:13 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								26ff1cdf89 
								
							 
						 
						
							
							
								
								* A better test case for Nix race conditions.  
							
							 
							
							
							
						 
						
							2003-07-30 14:40:46 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								64c617e984 
								
							 
						 
						
							
							
								
								* Directories for the manual.  
							
							 
							
							
							
						 
						
							2003-07-30 14:40:18 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								2ac02440dc 
								
							 
						 
						
							
							
								
								* Test cases for races.  
							
							 
							
							
							
						 
						
							2003-07-30 13:35:46 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								aaee69cfde 
								
							 
						 
						
							
							
								
								* INSTALL_DATA -> INSTALL_PROGRAM to ensure that the execute bit  
							
							 
							
							... 
							
							
							
							remains set. 
							
						 
						
							2003-07-30 10:14:58 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								83075304e5 
								
							 
						 
						
							
							
								
								* Don't make the builder executable.  
							
							 
							
							
							
						 
						
							2003-07-30 09:49:47 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1cb030736e 
								
							 
						 
						
							
							
								
								* Bug: Fix does not allow empty names, so don't generate them.  
							
							 
							
							
							
						 
						
							2003-07-29 17:56:39 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a01629894d 
								
							 
						 
						
							
							
								
								* Use `--query --requisites' and include successors when pushing.  Don't  
							
							 
							
							... 
							
							
							
							use `--query --generators' anymore. 
							
						 
						
							2003-07-29 15:19:03 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								40f32ae00a 
								
							 
						 
						
							
							
								
								* Typo: if -> elsif.  
							
							 
							
							
							
						 
						
							2003-07-29 14:42:14 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								8846465934 
								
							 
						 
						
							
							
								
								* Get garbage collection and cache population to work *properly*.  
							
							 
							
							... 
							
							
							
							Renamed `fstateRefs' to `fstateRequisites'.  The semantics of this
  function is that it returns a list of all paths necessary to realise
  a given expression.  For a derive expression, this is the union of
  requisites of the inputs; for a slice expression, it is the path of
  each element in the slice.  Also included are the paths of the
  expressions themselves.  Optionally, one can also include the
  requisites of successor expressions (to recycle intermediate
  results).
* `nix-switch' now distinguishes between an expression and its normal
  form.  Usually, only the normal form is registered as a root of the
  garbage collector.  With the `--source-root' flag, it will also
  register the original expression as a root.
* `nix-collect-garbage' now has a flag `--keep-successors' which
  causes successors not to be included in the list of garbage paths.
* `nix-collect-garbage' now has a flag `--invert' which will print all
  paths that should *not* be garbage collected. 
							
						 
						
							2003-07-29 14:28:17 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								dc14a3de46 
								
							 
						 
						
							
							
								
								* Nicer dot graphs.  
							
							 
							
							
							
						 
						
							2003-07-29 10:53:27 +00:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								79ba0431db 
								
							 
						 
						
							
							
								
								* `fstateRefs' now works on derive expressions as well.  TODO: make  
							
							 
							
							... 
							
							
							
							this more efficient.
* A flag `-n' in 'nix --query' to normalise the argument.  Default is
  not to normalise. 
							
						 
						
							2003-07-29 10:43:12 +00:00