diff --git a/packages/qemu-guest-agent/qemu-guest-agent.nuspec b/packages/qemu-guest-agent/qemu-guest-agent.nuspec new file mode 100755 index 0000000..d9ade0d --- /dev/null +++ b/packages/qemu-guest-agent/qemu-guest-agent.nuspec @@ -0,0 +1,18 @@ + + + + qemu-guest-agent + 7.4.5 + QEMU guest agent + Red Hat + foo.li systeme + software + https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html + https://fedoraproject.org/wiki/Windows_Virtio_Drivers + https://raw.githubusercontent.com/peterbeck/chocolatey/master/icons/kvm.png + true + It is a daemon program running inside the domain which is supposed to help management applications with executing functions which need assistance of the guest OS. For example, freezing and thawing filesystems, entering suspend. However, guest agent (GA) is not bullet proof, and hostile guest OS can send spurious replies. + QEMU Guest Agent + initial package + virtualisation kvm qemu guest-agent + + diff --git a/packages/qemu-guest-agent/tools/chocolateyinstall.ps1 b/packages/qemu-guest-agent/tools/chocolateyinstall.ps1 new file mode 100755 index 0000000..95775d2 --- /dev/null +++ b/packages/qemu-guest-agent/tools/chocolateyinstall.ps1 @@ -0,0 +1,40 @@ +# QEMU Guest Agent +# 2016-2017 foo.li systeme + software + +$packageName = 'qemu-guest-agent' +$version = '7.4.5' +$installerType = 'msi' +$url = 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-' + $version + '-1/qemu-ga-x86.msi' +$url64 = 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-' + $version + '-1/qemu-ga-x64.msi' +$silentArgs = '/qb' +$packageSearch = 'QEMU guest agent*' +$checksum = 'A5BDE210C45BC81600ABAE438D31B6BB6DF93F3C' +$checksumType = 'sha1' +$checksum64 = '09D19C994EFA3FA41C4FE8EF249226CEB7EA0BAE' +$checksumType64 = $checksumType +$validExitCodes = @(0,3010) + +$compmanu = Get-WmiObject Win32_ComputerSystem | select manufacturer +if ($compmanu.manufacturer -like '*Bochs*') { Write-Host 'QEMU/KVM detected' } +elseif ($compmanu.manufacturer -like '*QEMU*'){ Write-Host 'QEMU/KVM detected' } +else { + Write-Host 'could not detect QEMU/KVM virtual machine. Stopping deployment' + throw 'no KVM/QEMU VM detected' +} + +try { + $app = Get-ItemProperty -Path @('HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*', + 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*') ` + -ErrorAction:SilentlyContinue | Where-Object { $_.DisplayName -like $packageSearch } + + if ($app -and ([version]$app.DisplayVersion -ge [version]$version)) { + Write-Host 'QEMU Guest Agent' $version 'or higher is already installed. Doing nothing.' + } else { + Install-ChocolateyPackage $packageName $installerType $silentArgs $url $url64 ` + -checksum $checksum -checksumType $checksumType ` + -checksum64 $checksum64 -checksumType64 $checksumType64 ` + -validExitCodes $validExitCodes + } +} catch { + throw $_.Exception +}