Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								31be53cd0a 
								
							 
						 
						
							
							
								
								* Fix the atrocious (exponential? factorial?) time complexity in  
							
							... 
							
							
							
							`nix --query --requisites'. 
							
						 
						
							2003-08-25 14:56:11 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								920193beb1 
								
							 
						 
						
							
							
								
								* Don't continue when the call to nix fails.  
							
							
							
						 
						
							2003-08-25 14:36:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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). 
							
						 
						
							2003-08-22 20:12:44 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								56b98c3857 
								
							 
						 
						
							
							
								
								* Some work on the introduction.  
							
							
							
						 
						
							2003-08-22 11:29:20 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-20 14:11:40 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								624c48260f 
								
							 
						 
						
							
							
								
								* Change the abstract syntax of slices.  It used to be that ids were used as  
							
							... 
							
							
							
							keys to reference slice elements, e.g.,
    Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...])
  This was wrong, since ids represent contents, not locations.  Therefore we
  now have:
    Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...])
* Fix a bug in the computation of slice closures that could cause slice
  elements to be duplicated. 
							
						 
						
							2003-08-20 12:39:56 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								710175e6a0 
								
							 
						 
						
							
							
								
								* Bumped the version number to 0.3.  
							
							
							
						 
						
							2003-08-20 11:31:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								ed0db2e0d8 
								
							 
						 
						
							
							
								
								* Fixed a serious bug in the computation of slices.  Sometimes the slices  
							
							... 
							
							
							
							would not be properly closed under the path reference relation. 
							
						 
						
							2003-08-20 11:30:45 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1472cc4825 
								
							 
						 
						
							
							
								
								* Pipe /dev/null into stdin.  
							
							
							
						 
						
							2003-08-19 13:07:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								2de8504791 
								
							 
						 
						
							
							
								
								* Delete the temporary directories of failed builds by default, and an  
							
							... 
							
							
							
							option `--keep-failed' to override this behaviour. 
							
						 
						
							2003-08-19 09:04:47 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								31e4aa6439 
								
							 
						 
						
							
							
								
								* Allow lists in package bindings, e.g.,  
							
							... 
							
							
							
							("srcs", [Relative("foo/bar.c"), Relative("foo/baz.h")])
  The result is an environment variable that contains the path names of the
  inputs separated by spaces (so this is not safe for values containing
  spaces). 
							
						 
						
							2003-08-18 16:32:55 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								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. 
							
						 
						
							2003-08-18 14:54:54 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c32e01eab2 
								
							 
						 
						
							
							
								
								* Revision 300!  
							
							... 
							
							
							
							* Put `@' in front of echo's in the Makefile. 
							
						 
						
							2003-08-18 08:52:49 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								08f9cfe267 
								
							 
						 
						
							
							
								
								* No longer automatically download Berkeley DB / ATerm.  
							
							
							
						 
						
							2003-08-18 08:35:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								96c7b98bf0 
								
							 
						 
						
							
							
								
								* Argument support in Fix.  Arguments can be passed through the  
							
							... 
							
							
							
							builder using the `args' binding:
  ("args", ["bla", True, IncludeFix("aterm/aterm.fix")])
  Note that packages can also be declared as inputs by specifying them
  in the argument list. 
							
						 
						
							2003-08-15 13:01:45 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								555347744d 
								
							 
						 
						
							
							
								
								* Derivation expressions now can specify arguments to be passed to the  
							
							... 
							
							
							
							builder.  Note that this unfortunately causes all Fix-computed
  hashes to change. 
							
						 
						
							2003-08-15 12:32:37 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e374dbf89b 
								
							 
						 
						
							
							
								
								* A script `nix-prefetch-url' to fetch a URL, place it in the Nix  
							
							... 
							
							
							
							store, and print its hash. 
							
						 
						
							2003-08-15 10:13:41 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								01e30360d4 
								
							 
						 
						
							
							
								
								* Don't use a temporary file.  
							
							
							
						 
						
							2003-08-15 09:39:33 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								163db7367f 
								
							 
						 
						
							
							
								
								* Fix can now read expressions from stdin (by saying `fix -').  
							
							
							
						 
						
							2003-08-15 09:21:19 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									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