prereq-build: do not replace binaries with symlinks
Some programs, like bash and patch, are checked by prereq stage and have a symlink installed, but then is later built from source. Now that the prereq-build checks are not successful just by finding the file alone, it is possible for a new symlink to overwrite the installed binary. If a normal file is found in staging_dir/host/bin, let the check look for the associated stampfile, and if found, skip creation of a symlink and exit successfully. Suggested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Signed-off-by: Michael Pratt <mcpratt@pm.me>
This commit is contained in:
		 Michael Pratt
					Michael Pratt
				
			
				
					committed by
					
						 Petr Štetiar
						Petr Štetiar
					
				
			
			
				
	
			
			
			 Petr Štetiar
						Petr Štetiar
					
				
			
						parent
						
							9ffd6013b9
						
					
				
				
					commit
					729909c07f
				
			| @@ -110,6 +110,10 @@ define SetupHostCommand | ||||
| 					*" -> $$$$$$$$bin"*) \ | ||||
| 						[ -x "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0 \ | ||||
| 						;; \ | ||||
| 					"-"*) \ | ||||
| 						find "$(STAGING_DIR_HOST)/stamp" | grep $(strip $(1)) && \ | ||||
| 						[ -x "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0 \ | ||||
| 						;; \ | ||||
| 				esac; \ | ||||
| 				ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \ | ||||
| 				exit 1; \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user