* Delete the output paths before invoking the build hook.
This commit is contained in:
		
							parent
							
								
									df0283ae86
								
							
						
					
					
						commit
						917e06bf63
					
				
					 1 changed files with 14 additions and 14 deletions
				
			
		|  | @ -1262,6 +1262,20 @@ bool DerivationGoal::prepareBuild() | |||
|             % drvPath); | ||||
|     } | ||||
| 
 | ||||
|     /* If any of the outputs already exist but are not registered,
 | ||||
|        delete them. */ | ||||
|     for (DerivationOutputs::iterator i = drv.outputs.begin();  | ||||
|          i != drv.outputs.end(); ++i) | ||||
|     { | ||||
|         Path path = i->second.path; | ||||
|         if (store->isValidPath(path)) | ||||
|             throw BuildError(format("obstructed build: path `%1%' exists") % path); | ||||
|         if (pathExists(path)) { | ||||
|             debug(format("removing unregistered path `%1%'") % path); | ||||
|             deletePathWrapped(path); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /* Gather information necessary for computing the closure and/or
 | ||||
|        running the build hook. */ | ||||
|      | ||||
|  | @ -1318,20 +1332,6 @@ void DerivationGoal::startBuilder() | |||
|             format("a `%1%' is required to build `%3%', but I am a `%2%'") | ||||
|             % drv.platform % thisSystem % drvPath); | ||||
| 
 | ||||
|     /* If any of the outputs already exist but are not registered,
 | ||||
|        delete them. */ | ||||
|     for (DerivationOutputs::iterator i = drv.outputs.begin();  | ||||
|          i != drv.outputs.end(); ++i) | ||||
|     { | ||||
|         Path path = i->second.path; | ||||
|         if (store->isValidPath(path)) | ||||
|             throw BuildError(format("obstructed build: path `%1%' exists") % path); | ||||
|         if (pathExists(path)) { | ||||
|             debug(format("removing unregistered path `%1%'") % path); | ||||
|             deletePathWrapped(path); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /* Construct the environment passed to the builder. */ | ||||
|     typedef map<string, string> Environment; | ||||
|     Environment env;  | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue