diff --git a/.gitignore b/.gitignore
index e0718e5..00423a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,16 @@
-SOURCES/mingw-qemu-ga-win-101.1.0-1.el7ev.src.rpm
-SOURCES/qemu-ga-win-101.1.0-1.el7ev.noarch.rpm
+SOURCES/mingw-qemu-ga-win-101.2.0-1.el7ev.src.rpm
+SOURCES/ovirt-guest-agent-x64.msi
+SOURCES/ovirt-guest-agent-x86.msi
+SOURCES/qemu-ga-win-101.2.0-1.el7ev.noarch.rpm
SOURCES/qxl-win-unsigned-0.1-24-sources.zip
-SOURCES/virtio-win-1.9.11-bin-for-rpm.tar.gz
-SOURCES/virtio-win-gt-x64-1.9.11-1.msi
-SOURCES/virtio-win-gt-x86-1.9.11-1.msi
-SOURCES/virtio-win-installer-1.9.11-1-sources.zip
-SOURCES/virtio-win-prewhql-0.1-180-sources.zip
+SOURCES/spice-qxl-wddm-dod-0.20-1.el8.noarch.rpm
+SOURCES/spice-qxl-wddm-dod-0.20-1.el8.src.rpm
+SOURCES/spice-vdagent-win-0.10.0-5.el8.src.rpm
+SOURCES/spice-vdagent-win-x64-0.10.0-5.el8.noarch.rpm
+SOURCES/spice-vdagent-win-x86-0.10.0-5.el8.noarch.rpm
+SOURCES/virtio-win-1.9.15-bin-for-rpm.tar.gz
+SOURCES/virtio-win-gt-x64.msi
+SOURCES/virtio-win-gt-x86.msi
+SOURCES/virtio-win-guest-tools.exe
+SOURCES/virtio-win-installer-1.9.15-1-sources.zip
+SOURCES/virtio-win-prewhql-0.1-191-sources.zip
diff --git a/.virtio-win.metadata b/.virtio-win.metadata
index ce8e53f..8e5730b 100644
--- a/.virtio-win.metadata
+++ b/.virtio-win.metadata
@@ -1,8 +1,16 @@
-10d2d5459bce3ebee30943bcfc43d223ab905c2a SOURCES/mingw-qemu-ga-win-101.1.0-1.el7ev.src.rpm
-5365fe4430a33ae794c1e1d087add592cc3e7f6a SOURCES/qemu-ga-win-101.1.0-1.el7ev.noarch.rpm
+bc42f2bbe07f9c0875b548412e0b442f1013018f SOURCES/mingw-qemu-ga-win-101.2.0-1.el7ev.src.rpm
+f4320191d4e90ecd4cc9501b3fbdffc950a459c1 SOURCES/ovirt-guest-agent-x64.msi
+0c9ed8ccf9309cfce3763081112cb409ab24c92f SOURCES/ovirt-guest-agent-x86.msi
+88a74863da6e7e7e887a668476409002f8838cfe SOURCES/qemu-ga-win-101.2.0-1.el7ev.noarch.rpm
1cb09750a3a1965a147889f5db3ec7b8feb005b8 SOURCES/qxl-win-unsigned-0.1-24-sources.zip
-2b5ef7cdb250e70cd1fa4bc4236efefc1313a70e SOURCES/virtio-win-1.9.11-bin-for-rpm.tar.gz
-a0658ab7744c4c64cae10d4ef156b9602b522b35 SOURCES/virtio-win-gt-x64-1.9.11-1.msi
-ab68896a8824a5f8f466f0cb2d2c3c6e56b6ea24 SOURCES/virtio-win-gt-x86-1.9.11-1.msi
-f6f5c747b07c4f1aec2cfbf25032a8265a441c3b SOURCES/virtio-win-installer-1.9.11-1-sources.zip
-2675635f24eb984e48e8eae9ab11a953c7fee334 SOURCES/virtio-win-prewhql-0.1-180-sources.zip
+1f8c348bfb8d3336cb265c947ecfa8d48275c48c SOURCES/spice-qxl-wddm-dod-0.20-1.el8.noarch.rpm
+8b625071662bf77b23100650665288e720717434 SOURCES/spice-qxl-wddm-dod-0.20-1.el8.src.rpm
+085728c7db3503db1f7c8f1d264ca45b365d6837 SOURCES/spice-vdagent-win-0.10.0-5.el8.src.rpm
+fb35d3c12b9069133e651f54c35ae6ee68537959 SOURCES/spice-vdagent-win-x64-0.10.0-5.el8.noarch.rpm
+2d4bd6f8fb1b306f4d49a5a990e2da9c5f5baeac SOURCES/spice-vdagent-win-x86-0.10.0-5.el8.noarch.rpm
+374dc04dceb2799e39e68dcb2c8963a715b73a67 SOURCES/virtio-win-1.9.15-bin-for-rpm.tar.gz
+a921e77995f6cd12534dfb6de0f8e6ccb50771fc SOURCES/virtio-win-gt-x64.msi
+3d1da4dae7d4e7f6ef397470e1ac1f720ddbf7c1 SOURCES/virtio-win-gt-x86.msi
+ec4d5e4a99882f5773c35d5395faacfb6ef135e9 SOURCES/virtio-win-guest-tools.exe
+a13530c19562f9f20bde10bec21ec693bf75eb1b SOURCES/virtio-win-installer-1.9.15-1-sources.zip
+7f80af9cdcae2c75314a6eb3063170aeba92715d SOURCES/virtio-win-prewhql-0.1-191-sources.zip
diff --git a/SOURCES/agents.json b/SOURCES/agents.json
new file mode 100644
index 0000000..3727eab
--- /dev/null
+++ b/SOURCES/agents.json
@@ -0,0 +1,24 @@
+{
+ "agents": [
+ {
+ "arch": "x86",
+ "agent_version": "101.2.0-1",
+ "name": "Red Hat QEMU guest agent"
+ },
+ {
+ "arch": "amd64",
+ "agent_version": "101.2.0-1",
+ "name": "Red Hat QEMU guest agent"
+ },
+ {
+ "arch": "x86",
+ "agent_version": "0.10.0-5",
+ "name": "Red Hat SPICE VDA agent"
+ },
+ {
+ "arch": "amd64",
+ "agent_version": "0.10.0-5",
+ "name": "Red Hat SPICE VDA agent"
+ }
+ ]
+}
diff --git a/SOURCES/virtio-win-pre-installable-drivers-win-10.xml b/SOURCES/virtio-win-pre-installable-drivers-win-10.xml
new file mode 100644
index 0000000..3773ef4
--- /dev/null
+++ b/SOURCES/virtio-win-pre-installable-drivers-win-10.xml
@@ -0,0 +1,153 @@
+
+
+
+
+ win10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Windows 10
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Корпорація Microsoft
+
+
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemufwcfg.cat
+ qemufwcfg.inf
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+ viofs.cat
+ viofs.inf
+ viofs.sys
+
+
+
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemufwcfg.cat
+ qemufwcfg.inf
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+ viofs.cat
+ viofs.inf
+ viofs.sys
+
+
+
+
diff --git a/SOURCES/virtio-win-pre-installable-drivers-win-7.xml b/SOURCES/virtio-win-pre-installable-drivers-win-7.xml
new file mode 100644
index 0000000..98b43af
--- /dev/null
+++ b/SOURCES/virtio-win-pre-installable-drivers-win-7.xml
@@ -0,0 +1,156 @@
+
+
+
+
+ win7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Windows 7
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Корпорація Microsoft
+
+
+
+ WdfCoInstaller01009.dll
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ qxl.cat
+ qxl.inf
+ qxl.sys
+ qxldd.dll
+
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+
+
+ WdfCoInstaller01009.dll
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ qxl.cat
+ qxl.inf
+ qxl.sys
+ qxldd.dll
+
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+
+
diff --git a/SOURCES/virtio-win-pre-installable-drivers-win-8.1.xml b/SOURCES/virtio-win-pre-installable-drivers-win-8.1.xml
new file mode 100644
index 0000000..ff5b27d
--- /dev/null
+++ b/SOURCES/virtio-win-pre-installable-drivers-win-8.1.xml
@@ -0,0 +1,152 @@
+
+
+
+
+ win8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Windows 8.1
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Корпорація Microsoft
+
+
+
+ WdfCoInstaller01011.dll
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+ viofs.cat
+ viofs.inf
+ viofs.sys
+
+
+
+
+ WdfCoInstaller01011.dll
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+ viofs.cat
+ viofs.inf
+ viofs.sys
+
+
+
+
diff --git a/SOURCES/virtio-win-pre-installable-drivers-win-8.xml b/SOURCES/virtio-win-pre-installable-drivers-win-8.xml
new file mode 100644
index 0000000..f4fc0da
--- /dev/null
+++ b/SOURCES/virtio-win-pre-installable-drivers-win-8.xml
@@ -0,0 +1,154 @@
+
+
+
+
+ win8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Windows 8
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Microsoft Corporation
+ Корпорація Microsoft
+
+
+
+ WdfCoInstaller01011.dll
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+ viofs.cat
+ viofs.inf
+ viofs.sys
+
+
+
+
+ WdfCoInstaller01011.dll
+
+ balloon.cat
+ balloon.inf
+ balloon.sys
+
+
+
+ netkvm.cat
+ netkvm.inf
+ netkvm.sys
+ netkvmco.dll
+
+
+
+ pvpanic.cat
+ pvpanic.inf
+ pvpanic.sys
+
+ qemupciserial.cat
+ qemupciserial.inf
+
+ viohidkmdf.sys
+ vioinput.cat
+ vioinput.inf
+ vioinput.sys
+
+
+ viorng.cat
+ viorng.inf
+ viorng.sys
+ viorngci.dll
+ viorngum.dll
+
+
+
+ vioscsi.cat
+ vioscsi.inf
+ vioscsi.sys
+
+
+
+ vioser.cat
+ vioser.inf
+ vioser.sys
+
+
+
+ viostor.cat
+ viostor.inf
+ viostor.sys
+
+
+
+ viofs.cat
+ viofs.inf
+ viofs.sys
+
+
+
+
diff --git a/SPECS/virtio-win.spec b/SPECS/virtio-win.spec
index d661095..1c3f31b 100644
--- a/SPECS/virtio-win.spec
+++ b/SPECS/virtio-win.spec
@@ -3,29 +3,32 @@
# Note: This spec file is largely shared with the public virtio-win drivers
# shipped on fedora sites. The canonical location is here:
#
-# https://github.com/crobinso/virtio-win-pkg-scripts
+# https://github.com/virtio-win/virtio-win-pkg-scripts
#
# If you make any changes to this file that affect the RPM content (but not
# version numbers or changelogs, etc), submit a patch to the upstream spec.
-%global virtio_win_prewhql_build virtio-win-prewhql-0.1-180
-%global qemu_ga_win_build qemu-ga-win-101.1.0-1.el7ev
+%global virtio_win_prewhql_build virtio-win-prewhql-0.1-191
+%global qemu_ga_win_build qemu-ga-win-101.2.0-1.el7ev
%global qxl_build qxl-win-unsigned-0.1-24
-# qxlwddm is fedora only for now
-%if 0%{?fedora}
-%global qxlwddm_build spice-qxl-wddm-dod-0.18-0
-%endif
+%global spice_vdagent_build 0.10.0-5.el8
+%global qxlwddm_build spice-qxl-wddm-dod-0.20-1.el8
-%global windows_installer_version -1.9.11-1
+%global windows_installer_version -1.9.15-1
Summary: VirtIO para-virtualized drivers for Windows(R)
Name: virtio-win
-Version: 1.9.11
-Release: 1%{?dist}
+Version: 1.9.15
+Release: 0%{?dist}
Group: Applications/System
URL: http://www.redhat.com/
BuildArch: noarch
+%if 0%{?rhel}
+# RHEL RPM ships WHQL signed drivers, which are under a proprietary license
+# qemu-ga builds are GPLv2
+License: Red Hat Proprietary and GPLv2
+%else
# virtio-win drivers are licensed under the BSD license, qxldod under Apache,
# everything else is GPLv2
# virtio-win: https://github.com/virtio-win/kvm-guest-drivers-windows/blob/master/LICENSE
@@ -33,6 +36,7 @@ BuildArch: noarch
# qxldod: https://github.com/vrozenfe/qxl-dod/blob/master/LICENSE
# qemu-ga: http://git.qemu.org/?p=qemu.git;a=blob;f=COPYING
License: BSD and Apache and GPLv2
+%endif
# Already built files
Source1: %{name}-%{version}-bin-for-rpm.tar.gz
@@ -42,18 +46,30 @@ Source2: %{qemu_ga_win_build}.noarch.rpm
Source3: %{virtio_win_prewhql_build}-sources.zip
Source4: mingw-%{qemu_ga_win_build}.src.rpm
Source5: %{qxl_build}-sources.zip
-%if 0%{?fedora}
-Source6: %{qxlwddm_build}-sources.zip
-%endif
-
-Source21: virtio-win-gt-x86%{windows_installer_version}.msi
-Source22: virtio-win-gt-x64%{windows_installer_version}.msi
+Source6: %{qxlwddm_build}.src.rpm
+Source7: %{qxlwddm_build}.noarch.rpm
+Source8: spice-vdagent-win-%{spice_vdagent_build}.src.rpm
+Source9: spice-vdagent-win-x64-%{spice_vdagent_build}.noarch.rpm
+Source10: spice-vdagent-win-x86-%{spice_vdagent_build}.noarch.rpm
+
+Source20: virtio-win-guest-tools.exe
+Source21: virtio-win-gt-x86.msi
+Source22: virtio-win-gt-x64.msi
%if 0%{?fedora}
Source23: virtio-win-guest-tools-installer-%{version}.tar.gz
%else
Source23: virtio-win-installer%{windows_installer_version}-sources.zip
+Source24: ovirt-guest-agent-x64.msi
+Source25: ovirt-guest-agent-x86.msi
%endif
+%if 0%{?rhel}
+Source70: virtio-win-pre-installable-drivers-win-7.xml
+Source71: virtio-win-pre-installable-drivers-win-8.xml
+Source72: virtio-win-pre-installable-drivers-win-8.1.xml
+Source73: virtio-win-pre-installable-drivers-win-10.xml
+Source80: agents.json
+%endif
BuildRequires: /usr/bin/mkisofs
@@ -67,95 +83,242 @@ Windows(R) guests.
%setup -q -T -b 1 -n %{name}-%{version}
# Extract qemu-ga RPM
-mkdir -p guest-agent
+mkdir -p iso-content/guest-agent
mkdir -p %{qemu_ga_win_build}
pushd %{qemu_ga_win_build}/ && rpm2cpio %{SOURCE2} | cpio -idmv
popd
-%{__mv} %{qemu_ga_win_build}/usr/i686-w64-mingw32/sys-root/mingw/bin/qemu-ga-i386.msi guest-agent/
-%{__mv} %{qemu_ga_win_build}/usr/x86_64-w64-mingw32/sys-root/mingw/bin/qemu-ga-x86_64.msi guest-agent/
+%{__mv} %{qemu_ga_win_build}/usr/i686-w64-mingw32/sys-root/mingw/bin/qemu-ga-i386.msi iso-content/guest-agent/
+%{__mv} %{qemu_ga_win_build}/usr/x86_64-w64-mingw32/sys-root/mingw/bin/qemu-ga-x86_64.msi iso-content/guest-agent/
+
+
+# Extract spice-vdagent RPMs
+mkdir -p iso-content/spice-vdagent
+mkdir -p %{spice_vdagent_build}
+pushd %{spice_vdagent_build}/ && rpm2cpio %{SOURCE9} | cpio -idmv
+popd
+pushd %{spice_vdagent_build}/ && rpm2cpio %{SOURCE10} | cpio -idmv
+popd
+
+%{__mv} %{spice_vdagent_build}/usr/share/spice/spice-vdagent-x64-*.msi iso-content/spice-vdagent/spice-vdagent-x64.msi
+%{__mv} %{spice_vdagent_build}/usr/share/spice/spice-vdagent-x86-*.msi iso-content/spice-vdagent/spice-vdagent-x86.msi
+
+# Extract qxlwddm drivers
+mkdir -p iso-content/qxl-wddm-dod
+mkdir -p %{qxl_wddm_dod}
+pushd %{qxl_wddm_dod}/ && rpm2cpio %{SOURCE7} | cpio -idmv
+popd
+
+%{__mv} %{qxl_wddm_dod}/usr/share/spice/QxlWddmDod_*_x64.msi iso-content/qxl-wddm-dod/QxlWddmDod_x64.msi
+%{__mv} %{qxl_wddm_dod}/usr/share/spice/QxlWddmDod_*_x86.msi iso-content/qxl-wddm-dod/QxlWddmDod_x86.msi
# Move virtio-win MSIs into place
-%{__cp} %{SOURCE21} ./virtio-win-gt-x86.msi
-%{__cp} %{SOURCE22} ./virtio-win-gt-x64.msi
+%{__cp} %{SOURCE20} iso-content/
+%{__cp} %{SOURCE21} iso-content/
+%{__cp} %{SOURCE22} iso-content/
+
+%if 0%{?rhel}
+%{__cp} %{SOURCE24} iso-content/
+%{__cp} %{SOURCE25} iso-content/
+%endif
%if 0%{?rhel} > 7
# Dropping unsupported Windows versions.
# It's done here to fix two issues at the same time: do not
# release them in iso AND as binary drivers.
-%{__rm} */2k8/ vfddrivers/*/Win2008/ -rf
-%{__rm} */2k3/ vfddrivers/*/Win2003 -rf
-%{__rm} */xp/ vfddrivers/*/WinXP -rf
-%{__rm} smbus -rf
+for srcdir in iso-content rpm-drivers; do
+ rm_driver_dir() {
+ find $srcdir -type d -name $1 -print0 | xargs -0 rm -rf
+ }
+
+ # ISO naming
+ rm_driver_dir xp
+ rm_driver_dir 2k3
+ rm_driver_dir 2k8
+ rm_driver_dir smbus
+
+ # Old floppy naming
+ rm_driver_dir WinXP
+ rm_driver_dir Win2003
+ rm_driver_dir Win2008
+done
%endif
-
%build
# Generate .iso
+pushd iso-content
/usr/bin/mkisofs \
- -m 'virtio-win*.vfd' \
- -m vfddrivers \
- -m %{qemu_ga_win_build} \
- -o %{name}-%{version}.iso \
+ -o ../media/%{name}-%{version}.iso \
-r -iso-level 4 \
-input-charset iso8859-1 \
-V "%{name}-%{version}" .
+popd
%install
%{__install} -d -m0755 %{buildroot}%{_datadir}/%{name}
-# Install .iso, create non-versioned symlink
-%{__install} -p -m0644 %{name}-%{version}.iso %{buildroot}%{_datadir}/%{name}
-%{__ln_s} %{name}-%{version}.iso %{buildroot}%{_datadir}/%{name}/%{name}.iso
+add_link() {
+ # Adds name-version$1 to datadir, with a non-versioned symlink
+ %{__install} -p -m0644 media/%{name}-%{version}$1 %{buildroot}%{_datadir}/%{name}
+ %{__ln_s} %{name}-%{version}$1 %{buildroot}%{_datadir}/%{name}/%{name}$1
+}
+# Install .iso, create non-versioned symlink
+add_link .iso
# RHEL-8 does not support vfd images
%if 0%{?rhel} <= 7
-# Install .vfd files, create non-versioned symlinks
-%{__install} -p -m0644 %{name}-%{version}_x86.vfd %{buildroot}%{_datadir}/%{name}
-%{__ln_s} %{name}-%{version}_x86.vfd %{buildroot}%{_datadir}/%{name}/%{name}_x86.vfd
-%{__install} -p -m0644 %{name}-%{version}_amd64.vfd %{buildroot}%{_datadir}/%{name}
-%{__ln_s} %{name}-%{version}_amd64.vfd %{buildroot}%{_datadir}/%{name}/%{name}_amd64.vfd
-
-%{__install} -p -m0644 %{name}-%{version}_servers_x86.vfd %{buildroot}%{_datadir}/%{name}
-%{__ln_s} %{name}-%{version}_servers_x86.vfd %{buildroot}%{_datadir}/%{name}/%{name}_servers_x86.vfd
-%{__install} -p -m0644 %{name}-%{version}_servers_amd64.vfd %{buildroot}%{_datadir}/%{name}
-%{__ln_s} %{name}-%{version}_servers_amd64.vfd %{buildroot}%{_datadir}/%{name}/%{name}_servers_amd64.vfd
+add_link _x86.vfd
+add_link _amd64.vfd
+add_link _servers_x86.vfd
+add_link _servers_amd64.vfd
%endif
-%{__cp} -a vfddrivers %{buildroot}/%{_datadir}/%{name}/drivers
+%if 0%{?rhel}
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-7.d/
+%{__cp} %{SOURCE70} %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-7.d/
+
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-8.d/
+%{__cp} %{SOURCE71} %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-8.d/
+
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-8.1.d/
+%{__cp} %{SOURCE72} %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-8.1.d/
+
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-10.d/
+%{__cp} %{SOURCE73} %{buildroot}/%{_datadir}/osinfo/os/microsoft.com/win-10.d/
+%endif
+%{__cp} -a rpm-drivers %{buildroot}/%{_datadir}/%{name}/drivers
+
+%if 0%{?rhel}
+%{__cp} %{SOURCE80} %{buildroot}/%{_datadir}/%{name}/
+%{__cp} iso-content/data/*.json %{buildroot}/%{_datadir}/%{name}/
+%endif
# Copy the guest agent .msi into final RPM location
%{__mkdir} -p %{buildroot}%{_datadir}/%{name}/guest-agent/
-%{__install} -p -m0644 guest-agent/qemu-ga-i386.msi %{buildroot}%{_datadir}/%{name}/guest-agent/qemu-ga-i386.msi
-%{__install} -p -m0644 guest-agent/qemu-ga-x86_64.msi %{buildroot}%{_datadir}/%{name}/guest-agent/qemu-ga-x86_64.msi
+%{__install} -p -m0644 iso-content/guest-agent/qemu-ga-i386.msi %{buildroot}%{_datadir}/%{name}/guest-agent/qemu-ga-i386.msi
+%{__install} -p -m0644 iso-content/guest-agent/qemu-ga-x86_64.msi %{buildroot}%{_datadir}/%{name}/guest-agent/qemu-ga-x86_64.msi
+%{__mkdir} -p %{buildroot}%{_datadir}/%{name}/spice-vdagent/
+%{__install} -p -m0644 iso-content/spice-vdagent/spice-vdagent-x86.msi %{buildroot}%{_datadir}/%{name}/spice-vdagent/spice-vdagent-x86.msi
+%{__install} -p -m0644 iso-content/spice-vdagent/spice-vdagent-x64.msi %{buildroot}%{_datadir}/%{name}/spice-vdagent/spice-vdagent-x64.msi
+
+%{__mkdir} -p %{buildroot}%{_datadir}/%{name}/qxl-wddm-dod/
+%{__install} -p -m0644 iso-content/qxl-wddm-dod/QxlWddmDod_x86.msi %{buildroot}%{_datadir}/%{name}/qxl-wddm-dod/QxlWddmDod_x86.msi
+%{__install} -p -m0644 iso-content/qxl-wddm-dod/QxlWddmDod_x64.msi %{buildroot}%{_datadir}/%{name}/qxl-wddm-dod/QxlWddmDod_x64.msi
# Copy virtio-win install .msi into final RPM location
%{__mkdir} -p %{buildroot}%{_datadir}/%{name}/installer/
-%{__install} -p -m0644 virtio-win-gt-x86.msi %{buildroot}%{_datadir}/%{name}/installer/
-%{__install} -p -m0644 virtio-win-gt-x64.msi %{buildroot}%{_datadir}/%{name}/installer/
-
+%{__install} -p -m0644 iso-content/virtio-win-guest-tools.exe %{buildroot}%{_datadir}/%{name}/installer/
+%{__install} -p -m0644 iso-content/virtio-win-gt-x86.msi %{buildroot}%{_datadir}/%{name}/installer/
+%{__install} -p -m0644 iso-content/virtio-win-gt-x64.msi %{buildroot}%{_datadir}/%{name}/installer/
+%{__install} -p -m0644 iso-content/ovirt-guest-agent-x64.msi %{buildroot}%{_datadir}/%{name}/installer/
+%{__install} -p -m0644 iso-content/ovirt-guest-agent-x86.msi %{buildroot}%{_datadir}/%{name}/installer/
%files
-%doc virtio-win_license.txt
+%doc iso-content/virtio-win_license.txt
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/%{name}-%{version}.iso
%{_datadir}/%{name}/%{name}.iso
+%{_datadir}/%{name}/guest-agent/*.msi
+%{_datadir}/%{name}/spice-vdagent/*.msi
+%{_datadir}/%{name}/qxl-wddm-dod/*.msi
+
+%{_datadir}/%{name}/drivers/i386
+%{_datadir}/%{name}/drivers/amd64
+
+# Add some by-os and by-driver whitelisting, so unintended things don't
+# sneak into the hierarchy
+%{_datadir}/%{name}/drivers/by-driver/Balloon
+%{_datadir}/%{name}/drivers/by-driver/NetKVM
+%{_datadir}/%{name}/drivers/by-driver/pvpanic
+%{_datadir}/%{name}/drivers/by-driver/qemufwcfg
+%{_datadir}/%{name}/drivers/by-driver/qemupciserial
+%{_datadir}/%{name}/drivers/by-driver/qxl
+%{_datadir}/%{name}/drivers/by-driver/vioinput
+%{_datadir}/%{name}/drivers/by-driver/viorng
+%{_datadir}/%{name}/drivers/by-driver/vioscsi
+%{_datadir}/%{name}/drivers/by-driver/vioserial
+%{_datadir}/%{name}/drivers/by-driver/viostor
+%{_datadir}/%{name}/drivers/by-driver/viofs
+%{_datadir}/%{name}/drivers/by-driver/sriov
+%exclude %{_datadir}/%{name}/drivers/by-driver/virtio-win_license.txt
+%if 0%{?fedora}
+%{_datadir}/%{name}/drivers/by-driver/qxldod
+%{_datadir}/%{name}/drivers/by-driver/smbus
+%endif
+
+%{_datadir}/%{name}/drivers/by-os/i386
+%{_datadir}/%{name}/drivers/by-os/amd64
+%if 0%{?fedora}
+%{_datadir}/%{name}/drivers/by-os/ARM64
+%endif
+
%if 0%{?rhel} <= 7
%{_datadir}/%{name}/*.vfd
%endif
-%{_datadir}/%{name}/drivers
-%{_datadir}/%{name}/guest-agent/*.msi
+
%{_datadir}/%{name}/installer/*.msi
+%{_datadir}/%{name}/installer/*.exe
+
+# osinfo-db drop-in files
+%if 0%{?rhel}
+%{_datadir}/osinfo/os/microsoft.com/win-7.d/virtio-win-pre-installable-drivers-win-7.xml
+%{_datadir}/osinfo/os/microsoft.com/win-8.d/virtio-win-pre-installable-drivers-win-8.xml
+%{_datadir}/osinfo/os/microsoft.com/win-8.1.d/virtio-win-pre-installable-drivers-win-8.1.xml
+%{_datadir}/osinfo/os/microsoft.com/win-10.d/virtio-win-pre-installable-drivers-win-10.xml
+%endif
+
+# .json files
+%if 0%{?rhel}
+%{_datadir}/%{name}/*.json
+%endif
%changelog
+* Tue Jan 5 2021 Vadim Rozenfeld - 1.9.15-0.el8
+- Update to build 191
+- Update installer 1.9.15.1 with the latest agents and drivers
+- Resolves: rhbz#1911903
+
+* Fri Sep 25 2020 Vadim Rozenfeld - 1.9.14-4.el8
+- Update installer 1.9.14.2 with the latest agents
+- Resolves: rhbz#1746667
+
+* Wed Sep 23 2020 Vadim Rozenfeld - 1.9.14-3.el8
+- Update installer 1.9.14.2
+- Resolves: rhbz#1746667
+
+* Mon Sep 21 2020 Vadim Rozenfeld - 1.9.14-2.el8
+- Update installer 1.9.14.1
+- Resolves: rhbz#1746667
+
+* Thu Sep 17 2020 Vadim Rozenfeld - 1.9.14-1.el8
+- Update installer 1.9.13.1
+- Resolves: rhbz#1746667
+
+
+* Mon Sep 14 2020 Vadim Rozenfeld - 1.9.14-0.el8
+- Update to qemu and spice agents.
+- Update qxl-dod driver
+- add sriov drivers
+- Resolves: rhbz#1746667
+- Resolves: rhbz#1787022
+
+* Sat Sep 5 2020 Vadim Rozenfeld - 1.9.13-1.el8
+- Update to build 189
+- Resolves: rhbz#1746667
+- Resolves: rhbz#1787022
+
+* Mon Aug 3 2020 Vadim Rozenfeld - 1.9.12-2.el8
+- Fix a typo in virtio-win.spec file
+- Resolves: rhbz#1814530
+
* Tue Mar 10 2020 Danilo C. L. de Paula - 1.9.11-1.el8
- Resolves: rhbz#1790455
(Add guest-get-devices command to qemu-ga-win)