diff --git a/.gitignore b/.gitignore
index e0718e5..9b6c763 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,16 @@
SOURCES/mingw-qemu-ga-win-101.1.0-1.el7ev.src.rpm
+SOURCES/ovirt-guest-agent-x64.msi
+SOURCES/ovirt-guest-agent-x86.msi
SOURCES/qemu-ga-win-101.1.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.19-2.el8.noarch.rpm
+SOURCES/spice-qxl-wddm-dod-0.19-2.el8.src.rpm
+SOURCES/spice-vdagent-win-0.10.0-2.el8.src.rpm
+SOURCES/spice-vdagent-win-x64-0.10.0-2.el8.noarch.rpm
+SOURCES/spice-vdagent-win-x86-0.10.0-2.el8.noarch.rpm
+SOURCES/virtio-win-1.9.12-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.12-1-sources.zip
+SOURCES/virtio-win-prewhql-0.1-185-sources.zip
diff --git a/.virtio-win.metadata b/.virtio-win.metadata
index ce8e53f..9ed1f1c 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
+c0926a93c079387bc77de05941da00f45980a103 SOURCES/ovirt-guest-agent-x64.msi
+cf44725de02c18991f48ea7223431b8244644cee SOURCES/ovirt-guest-agent-x86.msi
5365fe4430a33ae794c1e1d087add592cc3e7f6a SOURCES/qemu-ga-win-101.1.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
+a13e7b184d524942274e025aea9c3007bef6ecee SOURCES/spice-qxl-wddm-dod-0.19-2.el8.noarch.rpm
+aed07fff5b58bf34fc5dea3b89391998a061ba7a SOURCES/spice-qxl-wddm-dod-0.19-2.el8.src.rpm
+1f56da6d273c06c5e3a069907cbc0f7ba688e0e2 SOURCES/spice-vdagent-win-0.10.0-2.el8.src.rpm
+e288b8ac98f553255bb860bf89c50b1407250df1 SOURCES/spice-vdagent-win-x64-0.10.0-2.el8.noarch.rpm
+51332237b5c8e7766050cddcc812a7603f58f207 SOURCES/spice-vdagent-win-x86-0.10.0-2.el8.noarch.rpm
+18c8a99a26402a127bf0034b2ce74377e1750ae0 SOURCES/virtio-win-1.9.12-bin-for-rpm.tar.gz
+8ab8161bf4af8d909856293207aee6a01208cbed SOURCES/virtio-win-gt-x64.msi
+6c09eed2127121c093e1a777a79b88ca7ca18261 SOURCES/virtio-win-gt-x86.msi
+92496ce1bea98cf07dd05a4ce95bb5b02b7e0f4e SOURCES/virtio-win-guest-tools.exe
+a7df589278acfd23cd529abb433400913a0be3fa SOURCES/virtio-win-installer-1.9.12-1-sources.zip
+e357db5e297ec7e2e1b1cac68b105e80ca1c834e SOURCES/virtio-win-prewhql-0.1-185-sources.zip
diff --git a/SOURCES/agents.json b/SOURCES/agents.json
new file mode 100644
index 0000000..3e1be65
--- /dev/null
+++ b/SOURCES/agents.json
@@ -0,0 +1,24 @@
+{
+ "agents": [
+ {
+ "arch": "x86",
+ "agent_version": "101.1.0-1",
+ "name": "Red Hat QEMU guest agent"
+ },
+ {
+ "arch": "amd64",
+ "agent_version": "101.1.0-1",
+ "name": "Red Hat QEMU guest agent"
+ },
+ {
+ "arch": "x86",
+ "agent_version": "0.10.0-2",
+ "name": "Red Hat SPICE VDA agent"
+ },
+ {
+ "arch": "amd64",
+ "agent_version": "0.10.0-2",
+ "name": "Red Hat SPICE VDA agent"
+ }
+ ]
+}
\ No newline at end of file
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..7c709dc
--- /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
+
+ qxldod.cat
+ qxldod.inf
+ qxldod.sys
+
+
+ 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
+
+
+
+
+
+ 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
+
+ qxldod.cat
+ qxldod.inf
+ qxldod.sys
+
+
+ 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-7.xml b/SOURCES/virtio-win-pre-installable-drivers-win-7.xml
new file mode 100644
index 0000000..3cab324
--- /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..5ac051e
--- /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
+
+ qxldod.cat
+ qxldod.inf
+ qxldod.sys
+
+
+ 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
+
+
+
+
+
+ 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
+
+ qxldod.cat
+ qxldod.inf
+ qxldod.sys
+
+
+ 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.xml b/SOURCES/virtio-win-pre-installable-drivers-win-8.xml
new file mode 100644
index 0000000..4c85759
--- /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
+
+ qxldod.cat
+ qxldod.inf
+ qxldod.sys
+
+
+ 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
+
+
+
+
+
+ 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
+
+ qxldod.cat
+ qxldod.inf
+ qxldod.sys
+
+
+ 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/SPECS/virtio-win.spec b/SPECS/virtio-win.spec
index d661095..5c5df77 100644
--- a/SPECS/virtio-win.spec
+++ b/SPECS/virtio-win.spec
@@ -8,24 +8,27 @@
# 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 virtio_win_prewhql_build virtio-win-prewhql-0.1-185
%global qemu_ga_win_build qemu-ga-win-101.1.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-2.el8
+%global qxlwddm_build spice-qxl-wddm-dod-0.19-2.el8
-%global windows_installer_version -1.9.11-1
+%global windows_installer_version -1.9.12-1
Summary: VirtIO para-virtualized drivers for Windows(R)
Name: virtio-win
-Version: 1.9.11
-Release: 1%{?dist}
+Version: 1.9.12
+Release: 2%{?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,266 @@ 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-db/os/microsoft.com/win-7.d/
+%{__cp} %{SOURCE70} %{buildroot}/%{_datadir}/osinfo-db/os/microsoft.com/win-7.d/
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo-db/os/microsoft.com/win-8.d/
+%{__cp} %{SOURCE71} %{buildroot}/%{_datadir}/osinfo-db/os/microsoft.com/win-8.d/
+
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo-db/os/microsoft.com/win-8.1.d/
+%{__cp} %{SOURCE72} %{buildroot}/%{_datadir}/osinfo-db/os/microsoft.com/win-8.1.d/
+
+%{__mkdir} -p %{buildroot}/%{_datadir}/osinfo-db/os/microsoft.com/win-10.d/
+%{__cp} %{SOURCE73} %{buildroot}/%{_datadir}/osinfo-db/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
+%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-db/os/microsoft.com/win-7.d/virtio-win-pre-installable-drivers-win-7.xml
+%{_datadir}/osinfo-db/os/microsoft.com/win-8.d/virtio-win-pre-installable-drivers-win-8.xml
+%{_datadir}/osinfo-db/os/microsoft.com/win-8.1.d/virtio-win-pre-installable-drivers-win-8.1.xml
+%{_datadir}/osinfo-db/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
+* Mon Jun 29 2020 Vadim Rozenfeld - 1.9.12-2.el8
+- Fix a typo in virtio-win.spec file
+- Resolves: rhbz#1711167
+
+* Mon Jun 29 2020 Vadim Rozenfeld - 1.9.12-2.el8
+- Fix a typo in virtio-win.spec file
+- Resolves: rhbz#1708490
+
+* Mon Jun 29 2020 Vadim Rozenfeld - 1.9.12-2.el8
+- Resolves: rhbz#1708490
+- Resolves: rhbz#1711167
+- Resolves: rhbz#1731839
+- Resolves: rhbz#1821168
+- Resolves: rhbz#1821560
+- Resolves: rhbz#1828658
+- Resolves: rhbz#1847849
+
+* Mon Jun 29 2020 Vadim Rozenfeld - 1.9.12-1.el8
+- Resolves: rhbz#1708490
+- Resolves: rhbz#1711167
+- Resolves: rhbz#1731839
+- Resolves: rhbz#1821560
+- Resolves: rhbz#1828658
+
+* Thu Jun 18 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Fix a typo in virtio-win.spec file
+- Resolves: rhbz#1708490
+
+* Thu Jun 18 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Fix a typo in virtio-win.spec file
+- Resolves: rhbz#1708490
+
+* Wed Jun 17 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Fix another problem in virtio-win.spec file
+- Resolves: rhbz#1708490
+
+* Wed Jun 17 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Fix another problem in virtio-win.spec file
+- Resolves: rhbz#1708490
+
+* Wed Jun 17 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Fix another problem in virtio-win.spec file
+- Resolves: rhbz#1708490
+- Resolves: rhbz#1711167
+- Resolves: rhbz#1731839
+- Resolves: rhbz#1821560
+- Resolves: rhbz#1828658
+
+
+* Wed Jun 17 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Fix problem in virtio-win.spec file
+- Resolves: rhbz#1708490
+- Resolves: rhbz#1711167
+- Resolves: rhbz#1731839
+- Resolves: rhbz#1821560
+- Resolves: rhbz#1828658
+
+* Wed Jun 17 2020 Vadim Rozenfeld - 1.9.12-0.el8
+- Resolves: rhbz#1708490
+- Resolves: rhbz#1711167
+- Resolves: rhbz#1731839
+- Resolves: rhbz#1821560
+- Resolves: rhbz#1828658
+
* 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)