bin/brew: enforce UTF-8 locale
Everyone should be using a UTF-8 locale nowadays. Not using one causes issues like `brew doctor` failing while checking symbolic links that point at file names with non-ASCII characters, since OS X always uses Unicode for the file system. Rely on `locale charmap` to detect the currently selected encoding and if that's not UTF-8, override the user's choice (if any) by setting `LC_ALL` to `en_US.UTF-8`, the assumption being that every system has a usable `en_US.UTF-8` locale installed. Fixes Homebrew/homebrew#44744. Closes Homebrew/homebrew#47247. Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
This commit is contained in:
		
							parent
							
								
									8e4fad8969
								
							
						
					
					
						commit
						8d3f33de90
					
				
							
								
								
									
										7
									
								
								bin/brew
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								bin/brew
									
									
									
									
									
								
							@ -1,8 +1,15 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
chdir() {
 | 
			
		||||
  cd "$@" >/dev/null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Force UTF-8 to avoid encoding issues for users with broken locale settings.
 | 
			
		||||
if [ "$(locale charmap 2> /dev/null)" != "UTF-8" ]
 | 
			
		||||
then
 | 
			
		||||
  export LC_ALL="en_US.UTF-8"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
BREW_FILE_DIRECTORY="$(chdir "${0%/*}" && pwd -P)"
 | 
			
		||||
HOMEBREW_BREW_FILE="$BREW_FILE_DIRECTORY/${0##*/}"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user