import CS mingw-qemu-ga-win-106.0.0-1.el9

This commit is contained in:
eabdullin 2023-09-21 19:32:55 +00:00
parent 311fdd6e40
commit 379fc43bca
9 changed files with 55 additions and 190 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/qemu-7.0.0.tar.bz2
SOURCES/qemu-8.0.0.tar.bz2

View File

@ -1 +1 @@
d56af4231110566e7eabe44ed16c41de58d6435b SOURCES/qemu-7.0.0.tar.bz2
003d027b127d259719a845ac89a479dc50cbea8d SOURCES/qemu-8.0.0.tar.bz2

View File

@ -13,7 +13,7 @@ index 91ff57278e..586de296f5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-7.0.0
+104.0.2
-8.0.0
+106.0.0
--
2.17.2

View File

@ -1,46 +0,0 @@
From c0d0aa99062d0084c2c24ebd16fd59ce1819277b Mon Sep 17 00:00:00 2001
From: Konstantin Kostiuk <kkostiuk@redhat.com>
Date: Thu, 28 Apr 2022 16:37:38 +0000
Subject: [PATCH 1/2] configure: Add cross prefix for widl tool
The mingw-w64-tool package in Fedora provides widl tool with a
cross prefix, so adds it automatically for cross builds.
WIDL env can be used to redefine the path to tool.
The same behavior as with windres.
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
---
configure | 3 +++
1 file changed, 3 insertions(+)
diff --git a/configure b/configure
index 59c43bea05..8b775492d0 100755
--- a/configure
+++ b/configure
@@ -415,6 +415,7 @@ ranlib="${RANLIB-${cross_prefix}ranlib}"
nm="${NM-${cross_prefix}nm}"
smbd="$SMBD"
strip="${STRIP-${cross_prefix}strip}"
+widl="${WIDL-${cross_prefix}widl}"
windres="${WINDRES-${cross_prefix}windres}"
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
query_pkg_config() {
@@ -2786,6 +2787,7 @@ if test "$skip_meson" = no; then
echo "sdl2-config = [$(meson_quote $sdl2_config)]" >> $cross
fi
echo "strip = [$(meson_quote $strip)]" >> $cross
+ echo "widl = [$(meson_quote $widl)]" >> $cross
echo "windres = [$(meson_quote $windres)]" >> $cross
if test "$cross_compile" = "yes"; then
cross_arg="--cross-file config-meson.cross"
@@ -2907,6 +2909,7 @@ preserve_env PYTHON
preserve_env SDL2_CONFIG
preserve_env SMBD
preserve_env STRIP
+preserve_env WIDL
preserve_env WINDRES
printf "exec" >>config.status
--
2.25.1

View File

@ -1,25 +0,0 @@
From 66fc295c9a2e29d04fafe729a384e321a347eca3 Mon Sep 17 00:00:00 2001
From: Kostiantyn Kostiuk <konstantin@daynix.com>
Date: Tue, 20 Jul 2021 17:19:34 +0000
Subject: [PATCH 1/2] qga: Log version on start
Signed-off-by: Kostiantyn Kostiuk <konstantin@daynix.com>
---
qga/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/qga/main.c b/qga/main.c
index dea6a3aa64..bce93dfdd0 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -1538,6 +1538,7 @@ int main(int argc, char **argv)
goto end;
}
+ slog("Guest agent version %s started", QEMU_VERSION);
#ifdef _WIN32
if (config->daemonize) {
SERVICE_TABLE_ENTRY service_table[] = {
--
2.25.1

View File

@ -1,25 +0,0 @@
From 0b188ab30b32fc16adbcb2da768edfa0ec1fc805 Mon Sep 17 00:00:00 2001
From: Konstantin Kostiuk <kkostiuk@redhat.com>
Date: Thu, 12 May 2022 15:41:43 +0000
Subject: [PATCH] qga-vss: Add auto generated headers to dependencies
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
---
qga/vss-win32/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qga/vss-win32/meson.build b/qga/vss-win32/meson.build
index 26c5dd6e0e..9483ccd3b8 100644
--- a/qga/vss-win32/meson.build
+++ b/qga/vss-win32/meson.build
@@ -7,7 +7,7 @@ link_args = cc.get_supported_link_arguments([
qga_vss = shared_module(
'qga-vss',
- ['requester.cpp', 'provider.cpp', 'install.cpp'],
+ ['requester.cpp', 'provider.cpp', 'install.cpp', genh],
name_prefix: '',
cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtual-dtor', '-Wno-non-virtual-dtor'],
link_args: link_args,
--
2.25.1

View File

@ -1,33 +0,0 @@
From 4ee7074cdf48e77886637e12f148e267329978d3 Mon Sep 17 00:00:00 2001
From: Konstantin Kostiuk <kkostiuk@redhat.com>
Date: Thu, 12 May 2022 15:43:37 +0000
Subject: [PATCH] qga-vss: Use a proper function for free memory
volume_name_wchar is allocated by 'void* operator new [](long long unsigned int)
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
---
qga/vss-win32/requester.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp
index 4513324dd2..b371affeab 100644
--- a/qga/vss-win32/requester.cpp
+++ b/qga/vss-win32/requester.cpp
@@ -354,12 +354,12 @@ void requester_freeze(int *num_vols, void *mountpoints, ErrorSet *errset)
if (FAILED(hr)) {
err_set(errset, hr, "failed to add %S to snapshot set",
volume_name_wchar);
- delete volume_name_wchar;
+ delete[] volume_name_wchar;
goto out;
}
num_mount_points++;
- delete volume_name_wchar;
+ delete[] volume_name_wchar;
}
if (num_mount_points == 0) {
--
2.25.1

View File

@ -1,32 +0,0 @@
From 338883766e88555287c3685c55a909eac5ab0f64 Mon Sep 17 00:00:00 2001
From: Konstantin Kostiuk <kkostiuk@redhat.com>
Date: Thu, 28 Apr 2022 16:41:13 +0000
Subject: [PATCH 2/2] qga-vss: always build qga-vss.tlb when qga-vss.dll is
built
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
---
qga/vss-win32/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qga/vss-win32/meson.build b/qga/vss-win32/meson.build
index 71c50d0866..26c5dd6e0e 100644
--- a/qga/vss-win32/meson.build
+++ b/qga/vss-win32/meson.build
@@ -23,8 +23,6 @@ qga_vss = shared_module(
]
)
-all_qga += qga_vss
-
if midl.found()
gen_tlb = custom_target('gen-tlb',
input: 'qga-vss.idl',
@@ -36,3 +34,5 @@ else
output: 'qga-vss.tlb',
command: [widl, '-t', '@INPUT@', '-o', '@OUTPUT@'])
endif
+
+all_qga += [ qga_vss, gen_tlb ]
--
2.25.1

View File

@ -1,32 +1,36 @@
%{?mingw_package_header}
%define with_vss 1
%define qemu_version 7.0.0
%define qemu_version 8.0.0
%define ga_manufacturer "RedHat"
%define ga_distro "RHEL"
Name: mingw-qemu-ga-win
Version: 104.0.2
Version: 106.0.0
Release: 1%{?dist}
Summary: Qemus Guest agent for Windows
Group: System Environment/Daemons
License: GPLv2+ and LGPLv2+ and BSD
URL: http://www.qemu.org/
Requires(post): system-units
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Source0: http://wiki.qemu.org/download/qemu-%{qemu_version}.tar.bz2
Patch0001: 0001-Change-Version.patch
Patch0002: 0001-qga-Log-version-on-start.patch
Patch0003: 0001-configure-Add-cross-prefix-for-widl-tool.patch
Patch0004: 0002-qga-vss-always-build-qga-vss.tlb-when-qga-vss.dll-is.patch
Patch0005: 0001-qga-vss-Add-auto-generated-headers-to-dependencies.patch
Patch0006: 0001-qga-vss-Use-a-proper-function-for-free-memory.patch
BuildArch: noarch
Provides: bundled(mingw-gcc)
Provides: bundled(mingw-gcc-c++)
Provides: bundled(mingw-gettext)
Provides: bundled(mingw-glib2)
Provides: bundled(mingw-pcre)
Provides: qemu-ga-win = %{version}
Obsoletes: qemu-ga-win < 105.0.0
# based on https://gitlab.com/qemu-project/qemu/-/blob/v7.1.0/qga/installer/qemu-ga.wxs
BuildRequires: libtool
BuildRequires: zlib-devel
BuildRequires: glib2-devel
@ -47,6 +51,8 @@ BuildRequires: meson
BuildRequires: ninja-build
%description
Qemu Guest Agent for Windows.
qemu-kvm is an open source virtualizer that provides hardware emulation for
the KVM hypervisor.
@ -55,20 +61,9 @@ with the host over a virtio-serial channel named "org.qemu.guest_agent.0"
This package does not need to be installed on the host OS.
%package -n qemu-ga-win
Summary: %{summary}
%description -n qemu-ga-win
Qemu Guest Agent for Windows
%prep
%setup -q -n qemu-%{qemu_version}
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%patch0005 -p1
%patch0006 -p1
%build
@ -82,9 +77,10 @@ export QEMU_GA_VERSION="%{version}"
%{mingw32_env}
./configure \
--disable-docs \
--disable-zlib-test \
--target-list=x86_64-softmmu \
--disable-system \
--disable-user \
--cross-prefix=i686-w64-mingw32- \
--enable-guest-agent \
--enable-guest-agent-msi \
%if %{with_vss}
--enable-qga-vss \
@ -94,16 +90,17 @@ export QEMU_GA_VERSION="%{version}"
make -j$(nproc) qemu-ga
mkdir -p $RPM_BUILD_ROOT%{mingw32_bindir}
# cp build/qga/qemu-ga.exe $RPM_BUILD_ROOT%{mingw32_bindir}
#cp build/qga/qemu-ga.exe $RPM_BUILD_ROOT%{mingw32_bindir}
cp build/qga/qemu-ga-i386.msi $RPM_BUILD_ROOT%{mingw32_bindir}
#Build for Win64
%{mingw64_env}
./configure \
--disable-docs \
--disable-zlib-test \
--target-list=x86_64-softmmu \
--disable-system \
--disable-user \
--cross-prefix=x86_64-w64-mingw32- \
--enable-guest-agent \
--enable-guest-agent-msi \
%if %{with_vss}
--enable-qga-vss \
@ -117,12 +114,41 @@ mkdir -p $RPM_BUILD_ROOT%{mingw64_bindir}
cp build/qga/qemu-ga-x86_64.msi $RPM_BUILD_ROOT%{mingw64_bindir}
%files -n qemu-ga-win
%files
%defattr(-,root,root)
%{mingw32_bindir}/qemu-ga*
%{mingw64_bindir}/qemu-ga*
%changelog
* Sun Apr 23 2023 Konstantin Kostiuk <kkostiuk@redhat.com> 106.0.0
- Set version to 106.0.0
- RHEL-408 - Add provides, obsoletes for mingw-qemu-ga-win
- RHEL-385 - Rebase mingw-qemu-ga-win to QEMU 8.0
* Wed Feb 15 2023 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.4
- Set version to 105.0.4
- BZ#2167436
* Mon Dec 26 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.3
- Set version to 105.0.3
- BZ#2090250 - mingw-qemu-ga-win: Add Provides: bundled() to rpm packages [rhel-9]
* Tue Dec 6 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.2
- Set version to 105.0.2
- Fix wrong requires
- Fix missing patch0002
- Remove extra Summary
- BZ#2090333 - [mingw-qemu-ga-win] qga command 'guest-get-fsinfo' can't query bus-type of USB
* Tue Dec 6 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.1
- Set version to 105.0.1
- Remove redundant package
- BZ#2090333 - [mingw-qemu-ga-win] qga command 'guest-get-fsinfo' can't query bus-type of USB
* Mon Oct 24 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.0
- Set version to 105.0.0
- BZ#2137262 - qemu-ga-win: Rebase qemu-ga to 7.1.0
* Tue May 17 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 104.0.2
- Set version to 104.0.2
- BZ#2084608 - Fix mismatched allocation function