mirror of
				https://github.com/microsoft/playwright.git
				synced 2025-06-26 21:40:17 +00:00 
			
		
		
		
	 6e78dcb7dc
			
		
	
	
		6e78dcb7dc
		
			
		
	
	
	
	
		
			
			Although very common, bash is not guaranteed to be located at `/bin/bash`. NixOS is an example of this. More commonly, `/bin/bash` can be quite out of date. An example of this is MacOS's version of `bash`. This realistically won't affect Playwright but it's worth noting. You can technically update MacOS's system version of bash but you need elevated permissions to do so. By using `/usr/bin/env bash` instead of `/bin/bash` we can execute Playwright's bash scripts in like NixOS and generally improve the selection behaviour for bash in other systems too. Some discussion of why it's worth favouring `/usr/bin/env bash` over `/bin/bash`: - Discusses `/bin/bash` missing in NixOS: https://discourse.nixos.org/t/add-bin-bash-to-avoid-unnecessary-pain/5673 - Some general commentary on why `/usr/bin/env bash` is favoured: https://askubuntu.com/a/1402721 - Points out how old bash is in MacOS: https://itnext.io/upgrading-bash-on-macos-7138bd1066ba Improves situation at #5501
		
			
				
	
	
		
			45 lines
		
	
	
		
			948 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			948 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| # A script to roll browser patches from internal repository.
 | |
| 
 | |
| set -e
 | |
| set +x
 | |
| 
 | |
| trap "cd $(pwd -P)" EXIT
 | |
| cd "$(dirname "$0")"
 | |
| 
 | |
| SCRIPT_PATH=$(pwd -P)
 | |
| 
 | |
| if [[ "$#" -ne 1 ]]; then
 | |
|   echo "Usage: $0 <path to playwright-browsers checkout>"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| SOURCE_DIRECTORY="$1"
 | |
| 
 | |
| if [[ $(basename "${SOURCE_DIRECTORY}") != "playwright-browsers" ]]; then
 | |
|   echo "ERROR: the source directory must be named 'playwright-browsers'"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| if ! [[ -d "${SOURCE_DIRECTORY}/browser_patches" ]]; then
 | |
|   echo "ERROR: the ${SOURCE_DIRECTORY}/browser_patches does not exist"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| files=(
 | |
|   "./firefox/juggler/"
 | |
|   "./firefox/patches/"
 | |
|   "./firefox/preferences/"
 | |
|   "./firefox/UPSTREAM_CONFIG.sh"
 | |
|   "./webkit/embedder/"
 | |
|   "./webkit/patches/"
 | |
|   "./webkit/pw_run.sh"
 | |
|   "./webkit/UPSTREAM_CONFIG.sh"
 | |
|   "./winldd/"
 | |
| )
 | |
| 
 | |
| for file in "${files[@]}"; do
 | |
|   rsync -av --delete "${SOURCE_DIRECTORY}/browser_patches/${file}" "${SCRIPT_PATH}/${file}"
 | |
| done
 | |
| 
 |