1*bb4ee6a4SAndroid Build Coastguard Worker <# 2*bb4ee6a4SAndroid Build Coastguard Worker .Description 3*bb4ee6a4SAndroid Build Coastguard Worker The script installs and sets up podman. 4*bb4ee6a4SAndroid Build Coastguard Worker .PARAMETER BASE_DIR 5*bb4ee6a4SAndroid Build Coastguard Worker Determines where the binaries will be downloaded. This defaults to user's temp directory. 6*bb4ee6a4SAndroid Build Coastguard Worker #> 7*bb4ee6a4SAndroid Build Coastguard Worker param ( 8*bb4ee6a4SAndroid Build Coastguard Worker [Parameter( 9*bb4ee6a4SAndroid Build Coastguard Worker Position = 0 10*bb4ee6a4SAndroid Build Coastguard Worker )] 11*bb4ee6a4SAndroid Build Coastguard Worker [string]$BASE_DIR = $Env:TEMP ## 12*bb4ee6a4SAndroid Build Coastguard Worker ) 13*bb4ee6a4SAndroid Build Coastguard Worker 14*bb4ee6a4SAndroid Build Coastguard Worker $BASE_DIR = $BASE_DIR + "\" 15*bb4ee6a4SAndroid Build Coastguard Worker $PODMAN_VERSION = '4.7.2' 16*bb4ee6a4SAndroid Build Coastguard Worker $PODMAN_SHA256 = "2124ac24e2c730f16e07e8eb033d5675d0f6123669c27d525d43d2f51f96b1ba" 17*bb4ee6a4SAndroid Build Coastguard Worker $PODMAN_URL = "https://github.com/containers/podman/releases/download/v$PODMAN_VERSION/podman-$PODMAN_VERSION-setup.exe" 18*bb4ee6a4SAndroid Build Coastguard Worker $PODMAN_SETUP = $BASE_DIR + 'podman-setup.exe' 19*bb4ee6a4SAndroid Build Coastguard Worker $PODMAN_INSTALL_PATH = "C:\Program Files\RedHat\Podman\" 20*bb4ee6a4SAndroid Build Coastguard Worker 21*bb4ee6a4SAndroid Build Coastguard Worker # Download podman 22*bb4ee6a4SAndroid Build Coastguard Worker Invoke-WebRequest $PODMAN_URL -Out $PODMAN_SETUP 23*bb4ee6a4SAndroid Build Coastguard Worker Write-Host "Verifying podman integrity" 24*bb4ee6a4SAndroid Build Coastguard Worker if ((Get-FileHash $PODMAN_SETUP -Algorithm SHA256).Hash -ne $PODMAN_SHA256) { 25*bb4ee6a4SAndroid Build Coastguard Worker Write-Host "$PODMAN_SETUP sha did not match" 26*bb4ee6a4SAndroid Build Coastguard Worker Break 27*bb4ee6a4SAndroid Build Coastguard Worker } 28*bb4ee6a4SAndroid Build Coastguard Worker 29*bb4ee6a4SAndroid Build Coastguard Worker # Install podman 30*bb4ee6a4SAndroid Build Coastguard Worker Write-Host "Installing podman. You may skip rebooting for machine for now" 31*bb4ee6a4SAndroid Build Coastguard Worker Start-Process $PODMAN_SETUP /norestart -NoNewWindow -Wait 32*bb4ee6a4SAndroid Build Coastguard Worker 33*bb4ee6a4SAndroid Build Coastguard Worker # Update PATH to contain podman directory. 34*bb4ee6a4SAndroid Build Coastguard Worker $Env:PATH = $Env:PATH + ";" + $PODMAN_INSTALL_PATH 35*bb4ee6a4SAndroid Build Coastguard Worker 36*bb4ee6a4SAndroid Build Coastguard Worker # create and start a wsl2 machine for podman to use 37*bb4ee6a4SAndroid Build Coastguard Worker podman machine init 38*bb4ee6a4SAndroid Build Coastguard Worker podman machine start 39*bb4ee6a4SAndroid Build Coastguard Worker 40*bb4ee6a4SAndroid Build Coastguard Worker 41*bb4ee6a4SAndroid Build Coastguard Worker Write-Host "podman installed successfully. You may need to add $PODMAN_INSTALL_PATH to your PATH" 42