mirror of
git://code.qt.io/qt/qt5.git
synced 2026-03-22 22:40:03 +08:00
Windows, OpenSSH: Include .zip file extension when downloading
This script currently downloads the .zip file from the web into a local file with no file extension. This can cause issues for 7-zip when unarchiving. This patch fixes this. As a drive-by, we improve the names of some variables. Pick-to: 6.11 6.8 Change-Id: Icb1b24646b54d75d825764d30a268fa6e55d0183 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This commit is contained in:
@@ -10,17 +10,17 @@ $temp = "$env:tmp"
|
||||
$cpu_arch = Get-CpuArchitecture
|
||||
switch ($cpu_arch) {
|
||||
arm64 {
|
||||
$zipPackage = "OpenSSH-ARM64"
|
||||
$base_file_name = "OpenSSH-ARM64"
|
||||
$sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
|
||||
Break
|
||||
}
|
||||
x64 {
|
||||
$zipPackage = "OpenSSH-Win64"
|
||||
$base_file_name = "OpenSSH-Win64"
|
||||
$sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
|
||||
Break
|
||||
}
|
||||
x86 {
|
||||
$zipPackage = "OpenSSH-Win32"
|
||||
$base_file_name = "OpenSSH-Win32"
|
||||
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
|
||||
Break
|
||||
}
|
||||
@@ -29,20 +29,27 @@ switch ($cpu_arch) {
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Fetching $zipPackage $version..."
|
||||
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
|
||||
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip"
|
||||
Download $url_official $url_cache "$temp\$zipPackage"
|
||||
Verify-Checksum "$temp\$zipPackage" $sha1
|
||||
Write-Host "Fetching $base_file_name $version..."
|
||||
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/$version/$base_file_name.zip"
|
||||
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/$version/$base_file_name.zip"
|
||||
$output_zip_file = "$temp\$base_file_name.zip"
|
||||
Download $url_official $url_cache $output_zip_file
|
||||
Verify-Checksum $output_zip_file $sha1
|
||||
|
||||
Write-Host "Extracting the package"
|
||||
Extract-7Zip "$temp\$zipPackage" C:\"Program Files"
|
||||
Extract-7Zip $output_zip_file "C:\Program Files"
|
||||
# We assume the incoming zip contains exactly one directory, named the same
|
||||
# as the base file name of th zip.
|
||||
$output_dir = "C:\Program Files\$base_file_name"
|
||||
if (-not (Test-Path $output_dir -PathType Container)) {
|
||||
throw "Error. Expected output directory '$output_dir' does not exist."
|
||||
}
|
||||
|
||||
Write-Host "Installing $zipPackage $version..."
|
||||
$path = "C:\Program Files\" + $zipPackage + "\install-sshd.ps1"
|
||||
Write-Host "Installing $base_file_name $version..."
|
||||
$install_script = "$output_dir\install-sshd.ps1"
|
||||
|
||||
# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
|
||||
powershell.exe -ExecutionPolicy Bypass -File $path
|
||||
powershell.exe -ExecutionPolicy Bypass -File $install_script
|
||||
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
|
||||
net start sshd
|
||||
Set-Service sshd -StartupType Automatic
|
||||
|
||||
Reference in New Issue
Block a user