Compare commits

...

No commits in common. "c9-beta" and "c9s" have entirely different histories.
c9-beta ... c9s

7 changed files with 276 additions and 4 deletions

10
.gitignore vendored
View File

@ -1 +1,9 @@
SOURCES/qemu-8.2.0.tar.bz2
/VSSSDK72.tar.gz
/qemu-6.2.0.tar.bz2
/qemu-7.0.0.tar.bz2
/qemu-7.0.0
/qemu-7.1.0.tar.bz2
/qemu-7.1.0
/qemu-8.0.0.tar.bz2
/qemu-8.2.0
/qemu-8.2.0.tar.bz2

View File

@ -1 +0,0 @@
c654f3f1fef5c704a8bb5147e37c6d26d0b835bf SOURCES/qemu-8.2.0.tar.bz2

View File

@ -14,6 +14,6 @@ index 91ff57278e..586de296f5 100644
+++ b/VERSION
@@ -1 +1 @@
-8.2.0
+107.0.1
+107.0.2
--
2.17.2

5
gating.yaml Normal file
View File

@ -0,0 +1,5 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules: []

View File

@ -6,7 +6,7 @@
%define ga_distro "RHEL"
Name: mingw-qemu-ga-win
Version: 107.0.1
Version: 107.0.2
Release: 1%{?dist}
Summary: Qemus Guest agent for Windows
@ -19,6 +19,7 @@ Requires(postun): systemd-units
Source0: http://wiki.qemu.org/download/qemu-%{qemu_version}.tar.bz2
Patch0001: 0001-Change-Version.patch
Patch0002: v4_20240304_kkostiuk_qga_commands_win32_style_cleanups_before_adding_windows_server_2025.mbx
BuildArch: noarch
@ -66,6 +67,7 @@ This package does not need to be installed on the host OS.
%prep
%setup -q -n qemu-%{qemu_version}
%patch0001 -p1
%patch0002 -p1
%build
@ -122,6 +124,10 @@ cp build/qga/qemu-ga-x86_64.msi $RPM_BUILD_ROOT%{mingw64_bindir}
%{mingw64_bindir}/qemu-ga*
%changelog
* Mon Apr 1 2024 Dehan Meng <demeng@redhat.com> 107.0.2
- Set version to 107.0.2
- RHEL-26205 - [QGA] Add Windows Server 2025 to guest-osinfo command
* Mon Jan 15 2024 Konstantin Kostiuk <kkostiuk@redhat.com> 107.0.1
- Set version to 107.0.1
- RHEL-21655 - Fix mingw-qemu-ga-win licenses

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (qemu-8.2.0.tar.bz2) = 4f627864851c39cfd4f9642d4700285e6c9f28ea862c360b2600812a337e10e250fed6ba84dfdd9bf4fe18e2088d69be7d1b49d6a41e06ab8ff459f735bde2dd

View File

@ -0,0 +1,253 @@
From git@z Thu Jan 1 00:00:00 1970
Subject: [PATCH v4 1/3] qga/commands-win32: Declare const qualifier before
type
From: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: Mon, 04 Mar 2024 15:45:30 +0200
Message-Id: <20240304134532.28506-2-kkostiuk@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Most of the code base use the 'const' qualifier *before*
the type being qualified. Use the same style to unify.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240222152835.72095-2-philmd@linaro.org>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com>
---
qga/commands-win32.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index a1015757d8..79b5a580c9 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -2120,11 +2120,11 @@ GuestUserList *qmp_guest_get_users(Error **errp)
typedef struct _ga_matrix_lookup_t {
int major;
int minor;
- char const *version;
- char const *version_id;
+ const char *version;
+ const char *version_id;
} ga_matrix_lookup_t;
-static ga_matrix_lookup_t const WIN_VERSION_MATRIX[2][7] = {
+static const ga_matrix_lookup_t WIN_VERSION_MATRIX[2][7] = {
{
/* Desktop editions */
{ 5, 0, "Microsoft Windows 2000", "2000"},
@@ -2148,18 +2148,18 @@ static ga_matrix_lookup_t const WIN_VERSION_MATRIX[2][7] = {
typedef struct _ga_win_10_0_t {
int first_build;
- char const *version;
- char const *version_id;
+ const char *version;
+ const char *version_id;
} ga_win_10_0_t;
-static ga_win_10_0_t const WIN_10_0_SERVER_VERSION_MATRIX[4] = {
+static const ga_win_10_0_t WIN_10_0_SERVER_VERSION_MATRIX[4] = {
{14393, "Microsoft Windows Server 2016", "2016"},
{17763, "Microsoft Windows Server 2019", "2019"},
{20344, "Microsoft Windows Server 2022", "2022"},
{0, 0}
};
-static ga_win_10_0_t const WIN_10_0_CLIENT_VERSION_MATRIX[3] = {
+static const ga_win_10_0_t WIN_10_0_CLIENT_VERSION_MATRIX[3] = {
{10240, "Microsoft Windows 10", "10"},
{22000, "Microsoft Windows 11", "11"},
{0, 0}
@@ -2185,16 +2185,16 @@ static void ga_get_win_version(RTL_OSVERSIONINFOEXW *info, Error **errp)
return;
}
-static char *ga_get_win_name(OSVERSIONINFOEXW const *os_version, bool id)
+static char *ga_get_win_name(const OSVERSIONINFOEXW *os_version, bool id)
{
DWORD major = os_version->dwMajorVersion;
DWORD minor = os_version->dwMinorVersion;
DWORD build = os_version->dwBuildNumber;
int tbl_idx = (os_version->wProductType != VER_NT_WORKSTATION);
- ga_matrix_lookup_t const *table = WIN_VERSION_MATRIX[tbl_idx];
- ga_win_10_0_t const *win_10_0_table = tbl_idx ?
+ const ga_matrix_lookup_t *table = WIN_VERSION_MATRIX[tbl_idx];
+ const ga_win_10_0_t *win_10_0_table = tbl_idx ?
WIN_10_0_SERVER_VERSION_MATRIX : WIN_10_0_CLIENT_VERSION_MATRIX;
- ga_win_10_0_t const *win_10_0_version = NULL;
+ const ga_win_10_0_t *win_10_0_version = NULL;
while (table->version != NULL) {
if (major == 10 && minor == 0) {
while (win_10_0_table->version != NULL) {
--
2.44.0
From git@z Thu Jan 1 00:00:00 1970
Subject: [PATCH v4 2/3] qga/commands-win32: Do not set
matrix_lookup_t/win_10_0_t arrays size
From: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: Mon, 04 Mar 2024 15:45:31 +0200
Message-Id: <20240304134532.28506-3-kkostiuk@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
ga_get_win_name() iterates over all elements in the arrays by
checking the 'version' field is non-NULL. Since the arrays are
guarded by a NULL terminating element, we don't need to specify
their size:
static char *ga_get_win_name(...)
{
...
const ga_matrix_lookup_t *table = WIN_VERSION_MATRIX[tbl_idx];
const ga_win_10_0_t *win_10_0_table = ...
...
while (table->version != NULL) {
^^^^^^^^^^^^^^^
while (win_10_0_table->version != NULL) {
^^^^^^^^^^^^^^^
This will simplify maintenance when adding new entries to these
arrays.
Split WIN_VERSION_MATRIX into WIN_CLIENT_VERSION_MATRIX and
WIN_SERVER_VERSION_MATRIX because multidimensional array must
have bounds for all dimensions except the first.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240222152835.72095-3-philmd@linaro.org>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com>
---
qga/commands-win32.c | 52 +++++++++++++++++++++-----------------------
1 file changed, 25 insertions(+), 27 deletions(-)
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index 79b5a580c9..a830f1494e 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -2124,45 +2124,42 @@ typedef struct _ga_matrix_lookup_t {
const char *version_id;
} ga_matrix_lookup_t;
-static const ga_matrix_lookup_t WIN_VERSION_MATRIX[2][7] = {
- {
- /* Desktop editions */
- { 5, 0, "Microsoft Windows 2000", "2000"},
- { 5, 1, "Microsoft Windows XP", "xp"},
- { 6, 0, "Microsoft Windows Vista", "vista"},
- { 6, 1, "Microsoft Windows 7" "7"},
- { 6, 2, "Microsoft Windows 8", "8"},
- { 6, 3, "Microsoft Windows 8.1", "8.1"},
- { 0, 0, 0}
- },{
- /* Server editions */
- { 5, 2, "Microsoft Windows Server 2003", "2003"},
- { 6, 0, "Microsoft Windows Server 2008", "2008"},
- { 6, 1, "Microsoft Windows Server 2008 R2", "2008r2"},
- { 6, 2, "Microsoft Windows Server 2012", "2012"},
- { 6, 3, "Microsoft Windows Server 2012 R2", "2012r2"},
- { 0, 0, 0},
- { 0, 0, 0}
- }
+static const ga_matrix_lookup_t WIN_CLIENT_VERSION_MATRIX[] = {
+ { 5, 0, "Microsoft Windows 2000", "2000"},
+ { 5, 1, "Microsoft Windows XP", "xp"},
+ { 6, 0, "Microsoft Windows Vista", "vista"},
+ { 6, 1, "Microsoft Windows 7" "7"},
+ { 6, 2, "Microsoft Windows 8", "8"},
+ { 6, 3, "Microsoft Windows 8.1", "8.1"},
+ { }
+};
+
+static const ga_matrix_lookup_t WIN_SERVER_VERSION_MATRIX[] = {
+ { 5, 2, "Microsoft Windows Server 2003", "2003"},
+ { 6, 0, "Microsoft Windows Server 2008", "2008"},
+ { 6, 1, "Microsoft Windows Server 2008 R2", "2008r2"},
+ { 6, 2, "Microsoft Windows Server 2012", "2012"},
+ { 6, 3, "Microsoft Windows Server 2012 R2", "2012r2"},
+ { },
};
typedef struct _ga_win_10_0_t {
int first_build;
- const char *version;
- const char *version_id;
+ char const *version;
+ char const *version_id;
} ga_win_10_0_t;
-static const ga_win_10_0_t WIN_10_0_SERVER_VERSION_MATRIX[4] = {
+static const ga_win_10_0_t WIN_10_0_SERVER_VERSION_MATRIX[] = {
{14393, "Microsoft Windows Server 2016", "2016"},
{17763, "Microsoft Windows Server 2019", "2019"},
{20344, "Microsoft Windows Server 2022", "2022"},
- {0, 0}
+ { }
};
-static const ga_win_10_0_t WIN_10_0_CLIENT_VERSION_MATRIX[3] = {
+static const ga_win_10_0_t WIN_10_0_CLIENT_VERSION_MATRIX[] = {
{10240, "Microsoft Windows 10", "10"},
{22000, "Microsoft Windows 11", "11"},
- {0, 0}
+ { }
};
static void ga_get_win_version(RTL_OSVERSIONINFOEXW *info, Error **errp)
@@ -2191,7 +2188,8 @@ static char *ga_get_win_name(const OSVERSIONINFOEXW *os_version, bool id)
DWORD minor = os_version->dwMinorVersion;
DWORD build = os_version->dwBuildNumber;
int tbl_idx = (os_version->wProductType != VER_NT_WORKSTATION);
- const ga_matrix_lookup_t *table = WIN_VERSION_MATRIX[tbl_idx];
+ const ga_matrix_lookup_t *table = tbl_idx ?
+ WIN_SERVER_VERSION_MATRIX : WIN_CLIENT_VERSION_MATRIX;
const ga_win_10_0_t *win_10_0_table = tbl_idx ?
WIN_10_0_SERVER_VERSION_MATRIX : WIN_10_0_CLIENT_VERSION_MATRIX;
const ga_win_10_0_t *win_10_0_version = NULL;
--
2.44.0
From git@z Thu Jan 1 00:00:00 1970
Subject: [PATCH v4 3/3] qga-win: Add support of Windows Server 2025 in
get-osinfo command
From: Dehan Meng <demeng@redhat.com>
Date: Mon, 04 Mar 2024 15:45:32 +0200
Message-Id: <20240304134532.28506-4-kkostiuk@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Add support of Windows Server 2025 in get-osinfo command
Signed-off-by: Dehan Meng <demeng@redhat.com>
Message-ID: <20240222152835.72095-4-philmd@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com>
---
qga/commands-win32.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
index a830f1494e..d1cf1a87db 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -2153,6 +2153,7 @@ static const ga_win_10_0_t WIN_10_0_SERVER_VERSION_MATRIX[] = {
{14393, "Microsoft Windows Server 2016", "2016"},
{17763, "Microsoft Windows Server 2019", "2019"},
{20344, "Microsoft Windows Server 2022", "2022"},
+ {26040, "MIcrosoft Windows Server 2025", "2025"},
{ }
};
--
2.44.0