parallel as possible (similar to GNU Make's `-j' switch). This is useful on SMP systems, but it is especially useful for doing builds on multiple machines. The idea is that a large derivation is initiated on one master machine, which then distributes sub-derivations to any number of slave machines. This should not happen synchronously or in lock-step, so the master must be capable of dealing with multiple parallel build jobs. We now have the infrastructure to support this. TODO: substitutes are currently broken.
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			382 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			382 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| storeExpr=$($TOP/src/nix-instantiate/nix-instantiate locking.nix)
 | |
| 
 | |
| echo "store expr is $storeExpr"
 | |
| 
 | |
| for i in $(seq 1 5); do
 | |
|     echo "WORKER $i"
 | |
|     $TOP/src/nix-store/nix-store -rvvvvvB "$storeExpr" &
 | |
| done
 | |
| 
 | |
| sleep 5
 | |
| 
 | |
| outPath=$($TOP/src/nix-store/nix-store -qnfvvvvv "$storeExpr")
 | |
| 
 | |
| echo "output path is $outPath"
 | |
| 
 | |
| text=$(cat "$outPath")
 | |
| if test "$text" != "aabcade"; then exit 1; fi
 |