xref: /aosp_15_r20/external/crosvm/tools/install-podman.ps1 (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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