* The policy-free derivate sharing now *almost* works. :-) For any
hash for which no local expansion is available, Nix can execute a `substitute' which should produce a path with such a hash. This is policy-free since Nix does not in any way specify how the substitute should work, i.e., it's an arbitrary (unnormalised) fstate expression. For example, `nix-pull' registers substitutes that fetch Nix archives from the network (through `wget') and unpack them, but any other method is possible as well. This is an improvement over the old Nix sharing scheme, which had a policy (fetching through `wget') built in. The sharing scheme doesn't work completely yet because successors from fstate rewriting have to be registered on the receiving side. Probably the whole successor stuff can be folded up into the substitute mechanism; this would be a nice simplification.
This commit is contained in:
		
							parent
							
								
									d072485d28
								
							
						
					
					
						commit
						1d1c3691d2
					
				
					 13 changed files with 155 additions and 142 deletions
				
			
		|  | @ -147,6 +147,12 @@ Hash hashTerm(ATerm t) | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| FState hash2fstate(Hash hash) | ||||
| { | ||||
|     return ATmake("Include(<str>)", ((string) hash).c_str()); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| ATerm termFromHash(const Hash & hash, string * p) | ||||
| { | ||||
|     string path = expandHash(hash); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue