daemon: Add 'buildMode' parameter to 'buildPaths' RPC
This commit is contained in:
		
							parent
							
								
									8063fc497a
								
							
						
					
					
						commit
						d1e3bf01bc
					
				
					 3 changed files with 20 additions and 5 deletions
				
			
		|  | @ -319,8 +319,17 @@ static void performOp(bool trusted, unsigned int clientVersion, | |||
| 
 | ||||
|     case wopBuildPaths: { | ||||
|         PathSet drvs = readStorePaths<PathSet>(from); | ||||
|         BuildMode mode = bmNormal; | ||||
|         if (GET_PROTOCOL_MINOR(clientVersion) >= 15) { | ||||
|             mode = (BuildMode)readInt(from); | ||||
| 
 | ||||
| 	    /* Repairing is not atomic, so disallowed for "untrusted"
 | ||||
| 	       clients.  */ | ||||
|             if (mode == bmRepair && !trusted) | ||||
|                 throw Error("repairing is not supported when building through the Nix daemon"); | ||||
|         } | ||||
|         startWork(); | ||||
|         store->buildPaths(drvs); | ||||
|         store->buildPaths(drvs, mode); | ||||
|         stopWork(); | ||||
|         to << 1; | ||||
|         break; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue