Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								08c8971498 
								
							 
						 
						
							
							
								
								* Lock the database during updates.  
							
							
							
						 
						
							2011-04-11 12:40:13 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b2c11b9ed0 
								
							 
						 
						
							
							
								
								 
							
							
							
						 
						
							2011-04-11 10:23:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								3cbf680f5d 
								
							 
						 
						
							
							
								
								* configure: detect whether DBD::SQLite is present.  If necessary the  
							
							... 
							
							
							
							location to DBI and DBD::SQLite can be passed with --with-dbi and
  --with-dbd-sqlite. 
							
						 
						
							2011-04-11 10:13:53 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								83252b4ca9 
								
							 
						 
						
							
							
								
								* Subtle bug: if you import File::stat in one module, it affects other  
							
							... 
							
							
							
							modules as well.  So use symbolic field names everywhere (which is
  nicer anyway). 
							
						 
						
							2011-04-11 08:21:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b1882c3ef7 
								
							 
						 
						
							
							
								
								* Create $manifestDir if it doesn't exist.  
							
							
							
						 
						
							2011-04-11 08:06:14 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5591fcc529 
								
							 
						 
						
							
							
								
								* Cache the manifests in /nix/var/nix/manifests in a SQLite database.  
							
							... 
							
							
							
							This significantly speeds up the download-using-manifests
  substituter, especially if manifests are very large.  For instance,
  one "nix-build -A geeqie" operation that updated four packages using
  binary patches went from 18.5s to 1.6s.  It also significantly
  reduces memory use.
  The cache is kept in /nix/var/nix/manifests/cache.sqlite.  It's
  updated automatically when manifests are added to or removed from
  /nix/var/nix/manifests.  It might be interesting to have nix-pull
  store manifests directly in the DB, rather than storing them as
  separate flat files, but then we would need a command line interface
  to delete manifests from the DB. 
							
						 
						
							2011-04-10 23:22:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1e7e4f21ba 
								
							 
						 
						
							
							
								
								* Remove the localPaths feature in manifests since it's no longer used  
							
							... 
							
							
							
							and redundant anyway. 
							
						 
						
							2011-04-06 09:16:22 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0423d0692a 
								
							 
						 
						
							
							
								
								* Print a better error message.  
							
							
							
						 
						
							2011-03-16 15:55:57 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								48bdbbf070 
								
							 
						 
						
							
							
								
								* Fix a bug in the documentation (reported by Olexiy Buyanskyy,  
							
							... 
							
							
							
							Nix/215). 
							
						 
						
							2011-03-15 13:12:59 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								802c2651c8 
								
							 
						 
						
							
							
								
								 
							
							
							
						 
						
							2011-02-17 15:08:33 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e945b52a31 
								
							 
						 
						
							
							
								
								* nix-push: handle the case where the hash is not set in the DB.  
							
							
							
						 
						
							2011-02-17 13:26:33 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c3cee5395b 
								
							 
						 
						
							
							
								
								* Build for Ubuntu 10.04.  
							
							
							
						 
						
							2011-02-14 14:56:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Florian Friesdorf 
								
							 
						 
						
							
							
							
							
								
							
							
								8fcaf3e9c6 
								
							 
						 
						
							
							
								
								make nix-mode provide 'nix-mode  
							
							... 
							
							
							
							this enables (require 'nix-mode) 
							
						 
						
							2011-02-14 03:11:56 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								538b7caab0 
								
							 
						 
						
							
							
								
								* Don't allocate a big initial GC address space on machines with  
							
							... 
							
							
							
							little RAM.  Even if the memory isn't actually used, it can cause
  problems with the overcommit heuristics in the kernel.  So use a VM
  space of 25% of RAM, up to 384 MB. 
							
						 
						
							2011-02-10 14:31:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5a6b039802 
								
							 
						 
						
							
							
								
								* Don't call GC_expand_hp unless we're actually using the garbage  
							
							... 
							
							
							
							collector. 
							
						 
						
							2011-02-09 22:59:50 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ludovic Courtès 
								
							 
						 
						
							
							
							
							
								
							
							
								f1462c208b 
								
							 
						 
						
							
							
								
								Use $BDW_GC_LIBS instead of a custom variable.  
							
							
							
						 
						
							2011-02-09 21:23:13 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1876ab764f 
								
							 
						 
						
							
							
								
								* A better fix.  $boehmgc isn't set anywhere, we should use the flags  
							
							... 
							
							
							
							returned by pkg-config. 
							
						 
						
							2011-02-09 14:13:09 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								dfc4117e90 
								
							 
						 
						
							
							
								
								* The GC library can't be found on Solaris  
							
							... 
							
							
							
							(http://hydra.nixos.org/build/890714 ), so don't build with GC
  support for now. 
							
						 
						
							2011-02-09 14:08:32 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d159ea1b7e 
								
							 
						 
						
							
							
								
								* Urgh, FreeBSD doesn't have a "seq" command.  
							
							
							
						 
						
							2011-02-09 14:03:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								3087b3f751 
								
							 
						 
						
							
							
								
								* Obsolete.  
							
							
							
						 
						
							2011-02-09 12:48:54 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								eb94581d39 
								
							 
						 
						
							
							
								
								* Remove obsolete directory.  
							
							
							
						 
						
							2011-02-09 12:43:44 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								7bba67c401 
								
							 
						 
						
							
							
								
								* Remove obsolete file.  
							
							
							
						 
						
							2011-02-09 12:42:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d0eda1f3e9 
								
							 
						 
						
							
							
								
								* Merged the SQLite branch.  
							
							
							
						 
						
							2011-02-09 12:41:54 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								543988572e 
								
							 
						 
						
							
							
								
								* Sync with the trunk.  
							
							
							
						 
						
							2011-02-09 12:25:53 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c0340eec5a 
								
							 
						 
						
							
							
								
								 
							
							
							
						 
						
							2011-02-08 12:30:28 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0304fda3cf 
								
							 
						 
						
							
							
								
								* Propagate the CC setting.  
							
							
							
						 
						
							2011-02-05 16:40:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								aeae0beba4 
								
							 
						 
						
							
							
								
								* Clang compatibility fix.  Clang actually checks template definitions  
							
							... 
							
							
							
							when they are defined 
							
						 
						
							2011-02-05 16:29:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ludovic Courtès 
								
							 
						 
						
							
							
							
							
								
							
							
								3854fc9b42 
								
							 
						 
						
							
							
								
								Remove useless <config.h> inclusion from public header.  
							
							
							
						 
						
							2011-01-14 13:55:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								9db190eb31 
								
							 
						 
						
							
							
								
								* builtins.substring: if "start" is beyond the end of the string,  
							
							... 
							
							
							
							return the empty string. 
							
						 
						
							2011-01-14 12:47:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d6c8b995c5 
								
							 
						 
						
							
							
								
								* In Hydra manifests the Size field is missing, so don't rely on it.  
							
							... 
							
							
							
							This caused a lot of "Use of uninitialized value" warnings from
  Perl. 
							
						 
						
							2010-12-22 10:32:32 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								c931a7aec5 
								
							 
						 
						
							
							
								
								* Do a short sleep after SQLITE_BUSY.  
							
							
							
						 
						
							2010-12-17 17:23:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b1eb252172 
								
							 
						 
						
							
							
								
								* Propagate the "100" exit status for failed builds through the Nix  
							
							... 
							
							
							
							daemon. 
							
						 
						
							2010-12-17 11:28:26 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								eac93d6efe 
								
							 
						 
						
							
							
								
								* Use the right `make'.  
							
							
							
						 
						
							2010-12-17 09:28:51 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a0be433fec 
								
							 
						 
						
							
							
								
								* Disable X11 forwarding, it's not needed.  
							
							
							
						 
						
							2010-12-15 14:25:54 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								f1a6b97639 
								
							 
						 
						
							
							
								
								* nix-copy-closure: make sure that the shell doesn't do globbing of  
							
							... 
							
							
							
							`+' and `?' in filenames.  This is very slow if /nix/store is very
  large.  (This is a quick hack - a cleaner solution would be to
  bypass the shell entirely.) 
							
						 
						
							2010-12-15 08:39:37 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								3dd02580e3 
								
							 
						 
						
							
							
								
								* I forgot to catch SQLiteBusy in registerValidPaths().  So  
							
							... 
							
							
							
							registerValidPaths() now handles busy errors and registerValidPath()
  is simply a wrapper around it. 
							
						 
						
							2010-12-14 13:25:20 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d787285af9 
								
							 
						 
						
							
							
								
								* nix-instantiate: return exit status 100 to denote a permanent build  
							
							... 
							
							
							
							failure.  The build hook can use this to distinguish between
  transient and permanent failures on the remote side. 
							
						 
						
							2010-12-13 16:53:23 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5833243c92 
								
							 
						 
						
							
							
								
								* Create /nix/var/nix/db if it's missing.  
							
							
							
						 
						
							2010-12-13 13:42:34 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								100becf8d1 
								
							 
						 
						
							
							
								
								* createDirs(path): if path already exists, make sure it's a  
							
							... 
							
							
							
							directory.
* Provide a C++ wrapper around lstat(). 
							
						 
						
							2010-12-13 13:32:58 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d7ca6f44eb 
								
							 
						 
						
							
							
								
								* Update some comments.  
							
							
							
						 
						
							2010-12-13 13:19:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								542fc69062 
								
							 
						 
						
							
							
								
								* When doing a query (e.g. `nix-store -r --dry-run'), don't make a lot  
							
							... 
							
							
							
							of expensive calls to `nix-store --check-validity'. 
							
						 
						
							2010-12-13 08:39:10 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4d57776813 
								
							 
						 
						
							
							
								
								* Use SQLite 3.7.4.  
							
							
							
						 
						
							2010-12-10 11:45:56 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e4720b1a79 
								
							 
						 
						
							
							
								
								* Ignore the result of sqlite3_reset().  
							
							
							
						 
						
							2010-12-08 18:19:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								7d0444e244 
								
							 
						 
						
							
							
								
								* Bad things happen when a filehandle has the same name as a module.  
							
							
							
						 
						
							2010-12-07 12:33:42 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								8062d3af30 
								
							 
						 
						
							
							
								
								* `nix-store --verify --check-contents': don't hold the global GC lock  
							
							... 
							
							
							
							while checking the contents, since this operation can take a very
  long time to finish.  Also, fill in missing narSize fields in the DB
  while doing this. 
							
						 
						
							2010-12-06 15:29:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								de79d23f76 
								
							 
						 
						
							
							
								
								* Retry a transaction if SQLite returns SQLITE_BUSY.  This can happen  
							
							... 
							
							
							
							even with a very long busy timeout, because SQLITE_BUSY is also
  returned to resolve deadlocks.  This should get rid of random
  "database is locked" errors.  This is kind of hard to test though.
* Fix a horrible bug in deleteFromStore(): deletePathWrapped() should
  be called after committing the transaction, not before, because the
  commit might not succeed. 
							
						 
						
							2010-12-05 18:23:19 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								365f3028dd 
								
							 
						 
						
							
							
								
								* Use CamelCase for the Perl modules.  
							
							
							
						 
						
							2010-12-05 17:50:29 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								f42a505ab7 
								
							 
						 
						
							
							
								
								* Add a script `nix-generate-patches'.  
							
							... 
							
							
							
							* Fix the binary patching test. 
							
						 
						
							2010-12-05 17:36:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								77f7a6d591 
								
							 
						 
						
							
							
								
								* Quick hack around one of the pathological cases in bsdiff  
							
							... 
							
							
							
							(namely, when there is a long region of 0s).  On one 86 MiB
  case, this cut patch generation time from 44m to 2m. 
							
						 
						
							2010-11-29 17:07:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								d3bba0c2d8 
								
							 
						 
						
							
							
								
								* Move the patch generator into a module.  
							
							
							
						 
						
							2010-11-29 15:26:28 +00:00