From ff04eb765887b357b5b16f03a43730bd89dc9eec Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sat, 14 Nov 2020 16:17:23 -0500 Subject: [PATCH 01/34] virt-manager-3.2.0-1 Update to version 3.2.0 Slim down filesystem device editor UI Fix TOCTTOU virt-install bugs (Martin Pitt) Several other bug fixes --- sources | 2 +- virt-manager.spec | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 941c044..8121dcb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-3.1.0.tar.gz) = 185e34d8ebb2f9755bf9732bdafdbe9d0924d8c3b69758947252cce5deeac2042f473ba63673eea2bf36beb1f216a856938650f86e2c86eb5618e8f8522df53d +SHA512 (virt-manager-3.2.0.tar.gz) = 90cd98fe6b269007cd30f628490c65df440abe39b4925c65dc80667e7d80d059752695353ccf6ac3e2436206da311bc402eda50df31874d82ef8fe115966e1ec diff --git a/virt-manager.spec b/virt-manager.spec index 9f68993..724904b 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -7,7 +7,7 @@ # End local config Name: virt-manager -Version: 3.1.0 +Version: 3.2.0 Release: 1%{?dist} %global verrel %{version}-%{release} @@ -167,6 +167,12 @@ done %changelog +* Sat Nov 14 2020 Cole Robinson - 3.2.0-1 +- Update to version 3.2.0 +- Slim down filesystem device editor UI +- Fix TOCTTOU virt-install bugs (Martin Pitt) +- Several other bug fixes + * Wed Sep 30 2020 Cole Robinson - 3.1.0-1 - Update to version 3.1.0 From 52737d0d3676305fdffc1db57dae8dd6fe71d83c Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 11 Jan 2021 13:41:11 -0500 Subject: [PATCH 02/34] virt-manager-3.2.0-2 Fix 'domain not found' race (bz #1901081) --- ...nst-Fix-TOCTOU-in-domain-enumeration.patch | 44 +++++++++++++++++++ virt-manager.spec | 8 +++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch diff --git a/0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch b/0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch new file mode 100644 index 0000000..f747754 --- /dev/null +++ b/0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch @@ -0,0 +1,44 @@ +From 4d0e323227f18e58283c45be4d240b506faacb22 Mon Sep 17 00:00:00 2001 +Message-Id: <4d0e323227f18e58283c45be4d240b506faacb22.1610390294.git.crobinso@redhat.com> +From: Martin Pitt +Date: Tue, 24 Nov 2020 14:24:06 +0100 +Subject: [PATCH virt-manager] virtinst: Fix TOCTOU in domain enumeration + +Similar to commit 49a01b5482, _fetch_all_domains_raw() has a race +condition where a domain may disappear (from parallel libvirt +operations) in between enumerating and inspecting the objects. + +Ignore these missing domains instead of crashing. + +https://bugzilla.redhat.com/show_bug.cgi?id=1901081 +Signed-off-by: Cole Robinson +--- + virtinst/connection.py | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/virtinst/connection.py b/virtinst/connection.py +index fec273b7..06bc60ad 100644 +--- a/virtinst/connection.py ++++ b/virtinst/connection.py +@@ -182,8 +182,16 @@ class VirtinstConnection(object): + def _fetch_all_domains_raw(self): + dummy1, dummy2, ret = pollhelpers.fetch_vms( + self, {}, lambda obj, ignore: obj) +- return [Guest(weakref.proxy(self), parsexml=obj.XMLDesc(0)) +- for obj in ret] ++ domains = [] ++ for obj in ret: ++ # TOCTOU race: a domain may go away in between enumeration and inspection ++ try: ++ xml = obj.XMLDesc(0) ++ except libvirt.libvirtError as e: # pragma: no cover ++ log.debug("Fetching domain XML failed: %s", e) ++ continue ++ domains.append(Guest(weakref.proxy(self), parsexml=xml)) ++ return domains + + def _build_pool_raw(self, poolobj): + return StoragePool(weakref.proxy(self), +-- +2.29.2 + diff --git a/virt-manager.spec b/virt-manager.spec index 724904b..a52930d 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 3.2.0 -Release: 1%{?dist} +Release: 2%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -17,6 +17,9 @@ BuildArch: noarch URL: https://virt-manager.org/ Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz +# Fix 'domain not found' race (bz #1901081) +Patch0001: 0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch + Requires: virt-manager-common = %{verrel} Requires: python3-gobject @@ -167,6 +170,9 @@ done %changelog +* Mon Jan 11 2021 Cole Robinson - 3.2.0-2 +- Fix 'domain not found' race (bz #1901081) + * Sat Nov 14 2020 Cole Robinson - 3.2.0-1 - Update to version 3.2.0 - Slim down filesystem device editor UI From c278f891b968147f4ac58be7d4bbbee9a3c5f87c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 23:08:39 +0000 Subject: [PATCH 03/34] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index a52930d..16a0c7c 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 3.2.0 -Release: 2%{?dist} +Release: 3%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -170,6 +170,9 @@ done %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 3.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jan 11 2021 Cole Robinson - 3.2.0-2 - Fix 'domain not found' race (bz #1901081) From 373bd71e81481807b62eac1e27d91217a2bf53dd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 20:33:15 +0000 Subject: [PATCH 04/34] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 16a0c7c..85df9cd 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 3.2.0 -Release: 3%{?dist} +Release: 4%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -170,6 +170,9 @@ done %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 3.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jan 27 2021 Fedora Release Engineering - 3.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From e9c7bde76627170004ed80050c62b776d89fceca Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 04:03:57 +0000 Subject: [PATCH 05/34] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 85df9cd..495f0e2 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 3.2.0 -Release: 4%{?dist} +Release: 5%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -170,6 +170,9 @@ done %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 3.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jul 23 2021 Fedora Release Engineering - 3.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 517fec3f1eb0c068db22871498c5a71865be4235 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sun, 20 Feb 2022 12:33:06 -0500 Subject: [PATCH 06/34] Update to latest git snapshot Signed-off-by: Cole Robinson --- .gitignore | 1 + ...nst-Fix-TOCTOU-in-domain-enumeration.patch | 44 ------------------- sources | 2 +- virt-manager.spec | 35 +++++++-------- 4 files changed, 18 insertions(+), 64 deletions(-) delete mode 100644 0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch diff --git a/.gitignore b/.gitignore index a490e7c..1951f27 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /virt-manager-*.tar.gz +/virt-manager-20220220-git363fca41.tar.xz diff --git a/0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch b/0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch deleted file mode 100644 index f747754..0000000 --- a/0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 4d0e323227f18e58283c45be4d240b506faacb22 Mon Sep 17 00:00:00 2001 -Message-Id: <4d0e323227f18e58283c45be4d240b506faacb22.1610390294.git.crobinso@redhat.com> -From: Martin Pitt -Date: Tue, 24 Nov 2020 14:24:06 +0100 -Subject: [PATCH virt-manager] virtinst: Fix TOCTOU in domain enumeration - -Similar to commit 49a01b5482, _fetch_all_domains_raw() has a race -condition where a domain may disappear (from parallel libvirt -operations) in between enumerating and inspecting the objects. - -Ignore these missing domains instead of crashing. - -https://bugzilla.redhat.com/show_bug.cgi?id=1901081 -Signed-off-by: Cole Robinson ---- - virtinst/connection.py | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/virtinst/connection.py b/virtinst/connection.py -index fec273b7..06bc60ad 100644 ---- a/virtinst/connection.py -+++ b/virtinst/connection.py -@@ -182,8 +182,16 @@ class VirtinstConnection(object): - def _fetch_all_domains_raw(self): - dummy1, dummy2, ret = pollhelpers.fetch_vms( - self, {}, lambda obj, ignore: obj) -- return [Guest(weakref.proxy(self), parsexml=obj.XMLDesc(0)) -- for obj in ret] -+ domains = [] -+ for obj in ret: -+ # TOCTOU race: a domain may go away in between enumeration and inspection -+ try: -+ xml = obj.XMLDesc(0) -+ except libvirt.libvirtError as e: # pragma: no cover -+ log.debug("Fetching domain XML failed: %s", e) -+ continue -+ domains.append(Guest(weakref.proxy(self), parsexml=xml)) -+ return domains - - def _build_pool_raw(self, poolobj): - return StoragePool(weakref.proxy(self), --- -2.29.2 - diff --git a/sources b/sources index 8121dcb..e8afc8c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-3.2.0.tar.gz) = 90cd98fe6b269007cd30f628490c65df440abe39b4925c65dc80667e7d80d059752695353ccf6ac3e2436206da311bc402eda50df31874d82ef8fe115966e1ec +SHA512 (virt-manager-20220220-git363fca41.tar.xz) = 76ff1aa8217dd36cf2284ef62905fbe8d85090afcc60fc45ead98535ad6d97adb07aacae20b8ff32a39c1d7136b7d215c1c17b6d6e678fc00152b901e21ea719 diff --git a/virt-manager.spec b/virt-manager.spec index 495f0e2..fddc3df 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,22 +8,20 @@ Name: virt-manager Version: 3.2.0 -Release: 5%{?dist} +Release: 6%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt License: GPLv2+ BuildArch: noarch URL: https://virt-manager.org/ -Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz - -# Fix 'domain not found' race (bz #1901081) -Patch0001: 0001-virtinst-Fix-TOCTOU-in-domain-enumeration.patch +Source0: virt-manager-20220220-git363fca41.tar.xz +%dnl Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz Requires: virt-manager-common = %{verrel} -Requires: python3-gobject -Requires: gtk3 +Requires: python3-gobject >= 3.31.3 +Requires: gtk3 >= 3.22.0 Requires: libvirt-glib >= 0.0.9 Requires: gtk-vnc2 Requires: spice-gtk3 @@ -55,6 +53,7 @@ Suggests: python3-libguestfs BuildRequires: gettext BuildRequires: python3-devel BuildRequires: python3-docutils +BuildRequires: python3-setuptools %description @@ -75,8 +74,8 @@ Requires: python3-requests Requires: libosinfo >= 0.2.10 # Required for gobject-introspection infrastructure Requires: python3-gobject-base -# Required for pulling files from iso media with isoinfo -Requires: genisoimage +# Required for pulling files from iso media +Requires: xorriso %description common Common files used by the different virt-manager interfaces, as well as @@ -101,7 +100,7 @@ machine). %prep -%setup -q +%autosetup -p1 %build @@ -121,19 +120,12 @@ machine). %if 0%{?py_byte_compile:1} # https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#manual-bytecompilation -%py_byte_compile %{python3} %{buildroot}%{_datadir}/virt-manager/ +%py_byte_compile %{__python3} %{buildroot}%{_datadir}/virt-manager/ %endif -# Replace '#!/usr/bin/env python3' with '#!/usr/bin/python3' -# The format is ideal for upstream, but not a distro. See: -# https://fedoraproject.org/wiki/Features/SystemPythonExecutablesUseSystemPython -for f in $(find %{buildroot} -type f -executable -print); do - sed -i "1 s|^#!/usr/bin/env python3|#!%{__python3}|" $f || : -done %files -%doc README.md COPYING NEWS.md %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* @@ -150,8 +142,10 @@ done %files common -f %{name}.lang -%dir %{_datadir}/%{name} +%license COPYING +%doc README.md NEWS.md +%dir %{_datadir}/%{name} %{_datadir}/%{name}/virtinst @@ -170,6 +164,9 @@ done %changelog +* Sun Feb 20 2022 Cole Robinson - 3.2.0-6 +- Update to latest git snapshot + * Sat Jan 22 2022 Fedora Release Engineering - 3.2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 57fda3dd9b1fbedea8f3acf38836802d30192ef0 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 22 Feb 2022 11:03:50 -0500 Subject: [PATCH 07/34] spec: Drop %dnl usage to fix virt-preview centos8 build Signed-off-by: Cole Robinson --- virt-manager.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index fddc3df..b800365 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -16,7 +16,7 @@ License: GPLv2+ BuildArch: noarch URL: https://virt-manager.org/ Source0: virt-manager-20220220-git363fca41.tar.xz -%dnl Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz +#Source0: https://virt-manager.org/download/sources/virt-manager/virt-manager-{version}.tar.gz Requires: virt-manager-common = %{verrel} From a095c44b345562765084eb5c5d114ec7e4f7b747 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Wed, 2 Mar 2022 12:46:59 -0500 Subject: [PATCH 08/34] virt-manager-4.0.0-1 Update to version 4.0.0 --- sources | 2 +- virt-manager.spec | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sources b/sources index e8afc8c..1a1e69a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-20220220-git363fca41.tar.xz) = 76ff1aa8217dd36cf2284ef62905fbe8d85090afcc60fc45ead98535ad6d97adb07aacae20b8ff32a39c1d7136b7d215c1c17b6d6e678fc00152b901e21ea719 +SHA512 (virt-manager-4.0.0.tar.gz) = 115dc3feb499bb2f1f6df537bffe150d23b9b568fe8047d43577a138ff9b9180b10259dde3476136cdc85750576da1104e81a8c2f5761b4f2a89852467761f81 diff --git a/virt-manager.spec b/virt-manager.spec index b800365..77517e8 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -7,16 +7,15 @@ # End local config Name: virt-manager -Version: 3.2.0 -Release: 6%{?dist} +Version: 4.0.0 +Release: 1%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt License: GPLv2+ BuildArch: noarch URL: https://virt-manager.org/ -Source0: virt-manager-20220220-git363fca41.tar.xz -#Source0: https://virt-manager.org/download/sources/virt-manager/virt-manager-{version}.tar.gz +Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz Requires: virt-manager-common = %{verrel} @@ -164,6 +163,9 @@ machine). %changelog +* Wed Mar 02 2022 Cole Robinson - 4.0.0-1 +- Update to version 4.0.0 + * Sun Feb 20 2022 Cole Robinson - 3.2.0-6 - Update to latest git snapshot From fae04c2d707be0ab0c87ef9aae67256a6fcdfe4c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 11:59:12 +0000 Subject: [PATCH 09/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 77517e8..c0fd5a3 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.0.0 -Release: 1%{?dist} +Release: 2%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -163,6 +163,9 @@ machine). %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 4.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Mar 02 2022 Cole Robinson - 4.0.0-1 - Update to version 4.0.0 From 324f3eed4d3d5a8ee0181a4f68ab03b70f65c8c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 3 Aug 2022 10:36:58 +0100 Subject: [PATCH 10/34] Fix compat with setuptools >= 61 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel P. Berrangé --- 0001-Fix-build-with-setuptools-61.patch | 39 +++++++++++++++++++++++++ virt-manager.spec | 7 +++-- 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 0001-Fix-build-with-setuptools-61.patch diff --git a/0001-Fix-build-with-setuptools-61.patch b/0001-Fix-build-with-setuptools-61.patch new file mode 100644 index 0000000..43f6bd7 --- /dev/null +++ b/0001-Fix-build-with-setuptools-61.patch @@ -0,0 +1,39 @@ +From 90e13549b4f2dd74b3343a3a28c30f31c20032d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Tue, 2 Aug 2022 16:39:36 +0200 +Subject: [PATCH] Fix build with setuptools 61+ + + + ./setup.py configure --default-hvs qemu,xen,lxc + error: Multiple top-level packages discovered in a flat-layout: ['po', 'ui', 'man', 'data', 'virtinst', 'virtManager']. + To avoid accidental inclusion of unwanted files or directories, + setuptools will not proceed with this build. + If you are trying to create a single distribution with multiple packages + on purpose, you should not rely on automatic discovery. + Instead, consider the following options: + 1. set up custom discovery (`find` directive with `include` or `exclude`) + 2. use a `src-layout` + 3. explicitly set `py_modules` or `packages` with a list of names + To find more information, look for "package discovery" on setuptools docs. + +Downstream bug report: https://bugzilla.redhat.com/2113754 +--- + setup.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/setup.py b/setup.py +index 6a546606..b45d315a 100755 +--- a/setup.py ++++ b/setup.py +@@ -530,6 +530,9 @@ setuptools.setup( + glob.glob("virtinst/install/*.py")), + ], + ++ # stop setuptools 61+ thinking we want to include everything automatically ++ py_modules=[], ++ + cmdclass={ + 'build': my_build, + 'build_i18n': my_build_i18n, +-- +2.37.1 + diff --git a/virt-manager.spec b/virt-manager.spec index c0fd5a3..bf3c2ab 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.0.0 -Release: 2%{?dist} +Release: 3%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -16,7 +16,7 @@ License: GPLv2+ BuildArch: noarch URL: https://virt-manager.org/ Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz - +Patch: 0001-Fix-build-with-setuptools-61.patch Requires: virt-manager-common = %{verrel} Requires: python3-gobject >= 3.31.3 @@ -163,6 +163,9 @@ machine). %changelog +* Wed Aug 3 2022 Daniel. P. Berrange - 4.0.0-3 +- Fix compat with setuptools >= 61 (rhbz#2113754) + * Sat Jul 23 2022 Fedora Release Engineering - 4.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From d4094e151edc3954535fe0d6f10fac74fe1aa9e0 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 4 Aug 2022 15:57:30 -0400 Subject: [PATCH 11/34] virt-manager-4.1.0-1 Update to version 4.1.0 --- 0001-Fix-build-with-setuptools-61.patch | 39 ------------------------- sources | 2 +- virt-manager.spec | 9 ++++-- 3 files changed, 7 insertions(+), 43 deletions(-) delete mode 100644 0001-Fix-build-with-setuptools-61.patch diff --git a/0001-Fix-build-with-setuptools-61.patch b/0001-Fix-build-with-setuptools-61.patch deleted file mode 100644 index 43f6bd7..0000000 --- a/0001-Fix-build-with-setuptools-61.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 90e13549b4f2dd74b3343a3a28c30f31c20032d5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Tue, 2 Aug 2022 16:39:36 +0200 -Subject: [PATCH] Fix build with setuptools 61+ - - + ./setup.py configure --default-hvs qemu,xen,lxc - error: Multiple top-level packages discovered in a flat-layout: ['po', 'ui', 'man', 'data', 'virtinst', 'virtManager']. - To avoid accidental inclusion of unwanted files or directories, - setuptools will not proceed with this build. - If you are trying to create a single distribution with multiple packages - on purpose, you should not rely on automatic discovery. - Instead, consider the following options: - 1. set up custom discovery (`find` directive with `include` or `exclude`) - 2. use a `src-layout` - 3. explicitly set `py_modules` or `packages` with a list of names - To find more information, look for "package discovery" on setuptools docs. - -Downstream bug report: https://bugzilla.redhat.com/2113754 ---- - setup.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/setup.py b/setup.py -index 6a546606..b45d315a 100755 ---- a/setup.py -+++ b/setup.py -@@ -530,6 +530,9 @@ setuptools.setup( - glob.glob("virtinst/install/*.py")), - ], - -+ # stop setuptools 61+ thinking we want to include everything automatically -+ py_modules=[], -+ - cmdclass={ - 'build': my_build, - 'build_i18n': my_build_i18n, --- -2.37.1 - diff --git a/sources b/sources index 1a1e69a..3d35e40 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-4.0.0.tar.gz) = 115dc3feb499bb2f1f6df537bffe150d23b9b568fe8047d43577a138ff9b9180b10259dde3476136cdc85750576da1104e81a8c2f5761b4f2a89852467761f81 +SHA512 (virt-manager-4.1.0.tar.gz) = 725cb5bcbaebaafae417f95deffb4243ccdad769668cba6e1235f4607e2b29dbd099d2a9a3885981158f53ea854dd71cc29ed9d7557b2791161c13d34f2ef883 diff --git a/virt-manager.spec b/virt-manager.spec index bf3c2ab..6ad18f5 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -7,8 +7,8 @@ # End local config Name: virt-manager -Version: 4.0.0 -Release: 3%{?dist} +Version: 4.1.0 +Release: 1%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -16,7 +16,7 @@ License: GPLv2+ BuildArch: noarch URL: https://virt-manager.org/ Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz -Patch: 0001-Fix-build-with-setuptools-61.patch + Requires: virt-manager-common = %{verrel} Requires: python3-gobject >= 3.31.3 @@ -163,6 +163,9 @@ machine). %changelog +* Thu Aug 04 2022 Cole Robinson - 4.1.0-1 +- Update to version 4.1.0 + * Wed Aug 3 2022 Daniel. P. Berrange - 4.0.0-3 - Fix compat with setuptools >= 61 (rhbz#2113754) From 2de98bdc4985e6d18fe7f33768a1526a8db707cc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 06:23:16 +0000 Subject: [PATCH 12/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 6ad18f5..9e9faf4 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 1%{?dist} +Release: 2%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -163,6 +163,9 @@ machine). %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 4.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Aug 04 2022 Cole Robinson - 4.1.0-1 - Update to version 4.1.0 From 7f8955d046ff71a662d73373ca6ce922853673d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 26 Apr 2023 17:50:26 +0100 Subject: [PATCH 13/34] Convert license to SPDX format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel P. Berrangé --- virt-manager.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 9e9faf4..0635e9e 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -12,7 +12,7 @@ Release: 2%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt -License: GPLv2+ +License: GPL-2.0-or-later BuildArch: noarch URL: https://virt-manager.org/ Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz From 2b523b4c169ecce9aec4e2217c0cf8c7ff01630d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:44:26 +0000 Subject: [PATCH 14/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 0635e9e..8c38686 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 2%{?dist} +Release: 3%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -163,6 +163,9 @@ machine). %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 4.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jan 21 2023 Fedora Release Engineering - 4.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 4a520108bbf3a1ef53cb3aa13ebcd8d569fb7c91 Mon Sep 17 00:00:00 2001 From: Sandro Bonazzola Date: Fri, 29 Sep 2023 16:41:52 +0200 Subject: [PATCH 15/34] Drop spice-gtk3 on Fedora ELN as in CentOS Stream 9 Resolves: fedora#2237969 Signed-off-by: Sandro Bonazzola --- virt-manager.spec | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/virt-manager.spec b/virt-manager.spec index 8c38686..74a1639 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 3%{?dist} +Release: 4%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -23,7 +23,9 @@ Requires: python3-gobject >= 3.31.3 Requires: gtk3 >= 3.22.0 Requires: libvirt-glib >= 0.0.9 Requires: gtk-vnc2 +%if 0%{?fedora} Requires: spice-gtk3 +%endif # We can work with gtksourceview 3 or gtksourceview4, pick the latest one Requires: gtksourceview4 @@ -107,8 +109,13 @@ machine). %global _default_hvs --default-hvs %{default_hvs} %endif +%if 0%{?rhel} +%global _default_graphics --default-graphics=vnc +%endif + ./setup.py configure \ - %{?_default_hvs} + %{?_default_hvs} \ + %{?_default_graphics} %install @@ -163,6 +170,10 @@ machine). %changelog +* Fri Sep 29 2023 Sandro Bonazzola - 4.1.0-4 +- Drop spice-gtk3 on Fedora ELN as in CentOS Stream 9 +- Resolves: fedora#2237969 + * Sat Jul 22 2023 Fedora Release Engineering - 4.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild @@ -1115,7 +1126,7 @@ machine). - Disable wizard sensitivity while creating VM * Thu Oct 19 2006 Daniel P. Berrange - 0.2.5-1.fc7 -- Switch to use python-virtinst instead of python-xeninst due to +- Switch to use python-virtinst instead of python-xeninst due to renaming of original package - Disable keyboard accelerators when grabbing mouse to avoid things like Ctrl-W closing the local window, instead of remote window bz 210364 From af04272b19644d33ddfa67b68063a51e01a0435c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 07:57:11 +0000 Subject: [PATCH 16/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 74a1639..95c6329 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 4%{?dist} +Release: 5%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -170,6 +170,9 @@ machine). %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 4.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Sep 29 2023 Sandro Bonazzola - 4.1.0-4 - Drop spice-gtk3 on Fedora ELN as in CentOS Stream 9 - Resolves: fedora#2237969 From eabf7045be9c0695a827374aec05de4c61cae0cd Mon Sep 17 00:00:00 2001 From: Yanko Kaneti Date: Wed, 26 Jun 2024 14:05:53 +0300 Subject: [PATCH 17/34] Upstream fix backport to work with python 3.13 in rawhide --- ...estyle-warnings-with-latest-versions.patch | 265 ++++++++++++++++++ virt-manager.spec | 2 + 2 files changed, 267 insertions(+) create mode 100644 0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch diff --git a/0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch b/0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch new file mode 100644 index 0000000..f153626 --- /dev/null +++ b/0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch @@ -0,0 +1,265 @@ +From bb1afaba29019605a240a57d6b3ca8eb36341d9b Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Tue, 13 Dec 2022 10:51:14 -0500 +Subject: [PATCH] Fix pylint/pycodestyle warnings with latest versions + +Signed-off-by: Cole Robinson +--- + setup.py | 2 +- + tests/test_disk.py | 1 + + virtManager/addhardware.py | 6 +++--- + virtManager/details/sshtunnels.py | 2 +- + virtManager/lib/statsmanager.py | 2 +- + virtManager/object/domain.py | 4 ++-- + virtinst/cli.py | 8 ++++---- + virtinst/domcapabilities.py | 2 +- + virtinst/pollhelpers.py | 2 +- + virtinst/virtinstall.py | 20 ++++++++++---------- + virtinst/xmlbuilder.py | 6 +++--- + 11 files changed, 28 insertions(+), 27 deletions(-) + +diff --git a/setup.py b/setup.py +index b45d315a..4bf29f25 100755 +--- a/setup.py ++++ b/setup.py +@@ -29,7 +29,7 @@ import setuptools.command.install_egg_info + # + # Newer setuptools will transparently support 'import distutils' though. + # That can be overridden with SETUPTOOLS_USE_DISTUTILS env variable +-import distutils.command.build # pylint: disable=wrong-import-order ++import distutils.command.build # pylint: disable=wrong-import-order,deprecated-module + + + SYSPREFIX = sysconfig.get_config_var("prefix") +diff --git a/tests/test_disk.py b/tests/test_disk.py +index ef065157..9127371b 100644 +--- a/tests/test_disk.py ++++ b/tests/test_disk.py +@@ -82,6 +82,7 @@ def test_disk_dir_searchable(monkeypatch): + searchdata = virtinst.DeviceDisk.check_path_search(conn, + tmpdir + "/footest") + assert searchdata.uid == os.getuid() ++ # pylint: disable=use-implicit-booleaness-not-comparison + assert searchdata.fixlist == [] + + # Remove perms on the tmpdir, now it should report failures +diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py +index 0a8e33d3..aec48dd2 100644 +--- a/virtManager/addhardware.py ++++ b/virtManager/addhardware.py +@@ -371,8 +371,8 @@ class vmmAddHardware(vmmGObjectUI): + + msg = _("These changes will take effect after " + "the next guest shutdown.") +- dtype = (hotplug_err and +- Gtk.MessageType.WARNING or Gtk.MessageType.INFO) ++ dtype = (Gtk.MessageType.WARNING if hotplug_err else ++ Gtk.MessageType.INFO) + hotplug_msg = "" + if hotplug_err: + hotplug_msg += (hotplug_err[0] + "\n\n" + +@@ -1560,7 +1560,7 @@ class vmmAddHardware(vmmGObjectUI): + controller_num = [x for x in controllers if + (x.type == controller_type)] + if len(controller_num) > 0: +- index_new = max([x.index for x in controller_num]) + 1 ++ index_new = max(x.index for x in controller_num) + 1 + dev.index = index_new + + dev.type = controller_type +diff --git a/virtManager/details/sshtunnels.py b/virtManager/details/sshtunnels.py +index 9afc1e13..cb7ca7c0 100644 +--- a/virtManager/details/sshtunnels.py ++++ b/virtManager/details/sshtunnels.py +@@ -22,7 +22,7 @@ class ConnectionInfo(object): + """ + def __init__(self, conn, gdev): + self.gtype = gdev.type +- self.gport = gdev.port and str(gdev.port) or None ++ self.gport = str(gdev.port) if gdev.port else None + self.gsocket = (gdev.listens and gdev.listens[0].socket) or gdev.socket + self.gaddr = gdev.listen or "127.0.0.1" + self.gtlsport = gdev.tlsPort or None +diff --git a/virtManager/lib/statsmanager.py b/virtManager/lib/statsmanager.py +index 28495495..ece130ab 100644 +--- a/virtManager/lib/statsmanager.py ++++ b/virtManager/lib/statsmanager.py +@@ -66,7 +66,7 @@ class _VMStatsList(vmmGObject): + expected = self.config.get_stats_history_length() + current = len(self._stats) + if current > expected: # pragma: no cover +- del(self._stats[expected:current]) ++ del self._stats[expected:current] + + def _calculate_rate(record_name): + ret = 0.0 +diff --git a/virtManager/object/domain.py b/virtManager/object/domain.py +index 2d6f5bca..1570b952 100644 +--- a/virtManager/object/domain.py ++++ b/virtManager/object/domain.py +@@ -1306,10 +1306,10 @@ class vmmDomain(vmmLibvirtObject): + def get_arch(self): + return self.get_xmlobj().os.arch + def get_init(self): +- import pipes ++ import shlex + init = self.get_xmlobj().os.init + initargs = " ".join( +- [pipes.quote(i.val) for i in self.get_xmlobj().os.initargs]) ++ [shlex.quote(i.val) for i in self.get_xmlobj().os.initargs]) + return init, initargs + + def get_emulator(self): +diff --git a/virtinst/cli.py b/virtinst/cli.py +index 8dbffeb6..7615f743 100644 +--- a/virtinst/cli.py ++++ b/virtinst/cli.py +@@ -85,7 +85,7 @@ class VirtHelpFormatter(argparse.RawDescriptionHelpFormatter): + ''' + oldwrap = None + +- # pylint: disable=arguments-differ ++ # pylint: disable=arguments-differ,protected-access + def _split_lines(self, *args, **kwargs): + def return_default(): + return argparse.RawDescriptionHelpFormatter._split_lines( +@@ -1690,7 +1690,7 @@ def convert_old_force(options): + if options.force: + if not options.check: + options.check = "all=off" +- del(options.force) ++ del options.force + + + class ParserCheck(VirtCLIParser): +@@ -2281,7 +2281,7 @@ class ParserCPU(VirtCLIParser): + policy = "disable" + + if policy: +- del(self.optdict[key]) ++ del self.optdict[key] + converted[policy].append(key[1:]) + + self.optdict.update(converted) +@@ -2753,7 +2753,7 @@ class ParserBoot(VirtCLIParser): + if cliname not in inst.BOOT_DEVICES: + continue + +- del(self.optdict[cliname]) ++ del self.optdict[cliname] + if cliname not in boot_order: + boot_order.append(cliname) + +diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py +index d22ce6a2..1b5b6bf6 100644 +--- a/virtinst/domcapabilities.py ++++ b/virtinst/domcapabilities.py +@@ -334,7 +334,7 @@ class DomainCapabilities(XMLBuilder): + """ + Return True if we know how to setup UEFI for the passed arch + """ +- return self.arch in list(self._uefi_arch_patterns.keys()) ++ return self.arch in self._uefi_arch_patterns + + def supports_uefi_loader(self): + """ +diff --git a/virtinst/pollhelpers.py b/virtinst/pollhelpers.py +index ef695914..f9fcc3fa 100644 +--- a/virtinst/pollhelpers.py ++++ b/virtinst/pollhelpers.py +@@ -32,7 +32,7 @@ def _new_poll_helper(origmap, typename, list_cb, build_cb, support_cb): + else: + # Previously known object + current[name] = origmap[name] +- del(origmap[name]) ++ del origmap[name] + + return (list(origmap.values()), list(new.values()), list(current.values())) + +diff --git a/virtinst/virtinstall.py b/virtinst/virtinstall.py +index 8fcc8ce1..130c8e28 100644 +--- a/virtinst/virtinstall.py ++++ b/virtinst/virtinstall.py +@@ -67,7 +67,7 @@ def check_cdrom_option_error(options): + def convert_old_printxml(options): + if options.xmlstep: + options.xmlonly = options.xmlstep +- del(options.xmlstep) ++ del options.xmlstep + + + def convert_old_sound(options): +@@ -135,10 +135,10 @@ def convert_old_disks(options): + else: + _do_convert_old_disks(options) + +- del(options.file_paths) +- del(options.disksize) +- del(options.sparse) +- del(options.nodisks) ++ del options.file_paths ++ del options.disksize ++ del options.sparse ++ del options.nodisks + log.debug("Distilled --disk options: %s", options.disk) + + +@@ -147,7 +147,7 @@ def convert_old_os_options(options): + return + log.warning( + _("--os-type is deprecated and does nothing. Please stop using it.")) +- del(options.old_os_type) ++ del options.old_os_type + + + def convert_old_memory(options): +@@ -204,9 +204,9 @@ def convert_old_networks(options): + networks[idx] = networks[idx].replace(prefix + ":", + prefix + "=") + +- del(options.mac) +- del(options.bridge) +- del(options.nonetworks) ++ del options.mac ++ del options.bridge ++ del options.nonetworks + + options.network = networks + log.debug("Distilled --network options: %s", options.network) +@@ -224,7 +224,7 @@ def convert_old_graphics(options): + if graphics and (vnc or sdl or keymap or vncport or vnclisten): + fail(_("Cannot mix --graphics and old style graphical options")) + +- optnum = sum([bool(g) for g in [vnc, nographics, sdl, graphics]]) ++ optnum = sum(bool(g) for g in [vnc, nographics, sdl, graphics]) + if optnum > 1: + raise ValueError(_("Can't specify more than one of VNC, SDL, " + "--graphics or --nographics")) +diff --git a/virtinst/xmlbuilder.py b/virtinst/xmlbuilder.py +index 07a9e319..dd78038e 100644 +--- a/virtinst/xmlbuilder.py ++++ b/virtinst/xmlbuilder.py +@@ -262,9 +262,9 @@ class XMLProperty(_XMLPropertyBase): + self._is_onoff = is_onoff + self._do_abspath = do_abspath + +- conflicts = sum([int(bool(i)) for i in ++ conflicts = sum(int(bool(i)) for i in + [self._is_bool, self._is_int, +- self._is_yesno, self._is_onoff]]) ++ self._is_yesno, self._is_onoff]) + if conflicts > 1: + raise xmlutil.DevError("Conflict property converter options.") + +@@ -343,7 +343,7 @@ class XMLProperty(_XMLPropertyBase): + propstore = xmlbuilder._propstore + + if self.propname in propstore: +- del(propstore[self.propname]) ++ del propstore[self.propname] + propstore[self.propname] = val + + def _nonxml_fget(self, xmlbuilder): +-- +2.45.2 + diff --git a/virt-manager.spec b/virt-manager.spec index 95c6329..4604ed5 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -17,6 +17,8 @@ BuildArch: noarch URL: https://virt-manager.org/ Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz +# https://bugzilla.redhat.com/show_bug.cgi?id=2294201 +Patch1: 0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch Requires: virt-manager-common = %{verrel} Requires: python3-gobject >= 3.31.3 From 76ca8efeedb05e8fb5336c15c53be2c87e0fd71d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 26 Jun 2024 12:40:30 +0100 Subject: [PATCH 18/34] Fix compat with latest python 3.13 (rhbz #2294201) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel P. Berrangé --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 4604ed5..dbf2e65 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 5%{?dist} +Release: 6%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -172,6 +172,9 @@ machine). %changelog +* Wed Jun 26 2024 Daniel. P. Berrange - 4.1.0-6 +- Fix compat with latest python 3.13 (rhbz #2294201) + * Sat Jan 27 2024 Fedora Release Engineering - 4.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 757503c93b3db45097b8c4827965a8ddf66f7f88 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:52:38 +0000 Subject: [PATCH 19/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index dbf2e65..8a305e5 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 6%{?dist} +Release: 7%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -172,6 +172,9 @@ machine). %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 4.1.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jun 26 2024 Daniel. P. Berrange - 4.1.0-6 - Fix compat with latest python 3.13 (rhbz #2294201) From 38533684b90da7a92544b05a38a8311ebe634d36 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 28 Mar 2024 18:36:57 -0400 Subject: [PATCH 20/34] Fix flatpak build The host dconf instance is used in flatpaks. --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 8a305e5..458029d 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -32,6 +32,7 @@ Requires: spice-gtk3 # We can work with gtksourceview 3 or gtksourceview4, pick the latest one Requires: gtksourceview4 +%if ! 0%{?flatpak} # virt-manager is one of those apps that people will often install onto # a headless machine for use over SSH. This means the virt-manager dep # chain needs to provide everything we need to get a usable app experience. @@ -39,6 +40,7 @@ Requires: gtksourceview4 # of usable gsettings backend, so we explicitly depend on dconf so that # user settings actually persist across app runs. Requires: dconf +%endif # The vte291 package is actually the latest vte with API version 2.91, while # the vte3 package is effectively a compat package with API version 2.90. @@ -116,6 +118,7 @@ machine). %endif ./setup.py configure \ + --prefix=%{_prefix} \ %{?_default_hvs} \ %{?_default_graphics} @@ -123,7 +126,7 @@ machine). %install ./setup.py \ --no-update-icon-cache --no-compile-schemas \ - install -O1 --root=%{buildroot} + install -O1 --root=%{buildroot} --prefix=%{_prefix} %find_lang %{name} %if 0%{?py_byte_compile:1} From 50e0637efd4c045e2a4ce3597bc322ffe8e670a3 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 5 Aug 2024 14:53:08 -0400 Subject: [PATCH 21/34] Add comment about why we skip dconf for flatpak builds Signed-off-by: Cole Robinson --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 458029d..e567284 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -32,13 +32,16 @@ Requires: spice-gtk3 # We can work with gtksourceview 3 or gtksourceview4, pick the latest one Requires: gtksourceview4 -%if ! 0%{?flatpak} # virt-manager is one of those apps that people will often install onto # a headless machine for use over SSH. This means the virt-manager dep # chain needs to provide everything we need to get a usable app experience. # Unfortunately nothing in our chain has an explicit dep on some kind # of usable gsettings backend, so we explicitly depend on dconf so that # user settings actually persist across app runs. +# +# That said, we skip this dep for flatpak, where dconf isn't used in +# the runtime. gsettings defaults to ini file in that case +%if ! 0%{?flatpak} Requires: dconf %endif From a0c935ec096f2b8f18ace467d779d1060726e33e Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 5 Aug 2024 14:55:26 -0400 Subject: [PATCH 22/34] Add /usr/share/virt-manager/ui/ to RPM database (bz 2283244) Using *.ui wildcard isn't necessary, just include the dir and all its subfiles Signed-off-by: Cole Robinson --- virt-manager.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index e567284..74d09eb 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -144,7 +144,7 @@ machine). %{_mandir}/man1/%{name}.1* -%{_datadir}/%{name}/ui/*.ui +%{_datadir}/%{name}/ui %{_datadir}/%{name}/virtManager %{_datadir}/%{name}/icons From d8108687dd5cae3914ad720dd60f2c0540cf6fde Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 5 Aug 2024 14:57:44 -0400 Subject: [PATCH 23/34] virt-manager-4.1.0-8.fc41 Signed-off-by: Cole Robinson --- virt-manager.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 74d09eb..3b7ba07 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 7%{?dist} +Release: 8%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -178,6 +178,10 @@ machine). %changelog +* Mon Aug 05 2024 Cole Robinson - 4.1.0-8 +- Fix flatpak build +- Add /usr/share/virt-manager/ui/ to rpm db (bz 2283244) + * Sat Jul 20 2024 Fedora Release Engineering - 4.1.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 36ea83449f023a04a0405ed0912358d719f5611e Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 10 Sep 2024 12:51:06 -0400 Subject: [PATCH 24/34] Add sev-snp changes from upstream https://fedoraproject.org/wiki/Changes/ConfidentialVirtHostAMDSEVSNP Signed-off-by: Cole Robinson --- ...tinst-add-properties-for-AMD-SEV-SNP.patch | 69 +++++++++++++++++++ virt-manager.spec | 6 ++ 2 files changed, 75 insertions(+) create mode 100644 0001-virtinst-add-properties-for-AMD-SEV-SNP.patch diff --git a/0001-virtinst-add-properties-for-AMD-SEV-SNP.patch b/0001-virtinst-add-properties-for-AMD-SEV-SNP.patch new file mode 100644 index 0000000..d3995af --- /dev/null +++ b/0001-virtinst-add-properties-for-AMD-SEV-SNP.patch @@ -0,0 +1,69 @@ +From 848635bd8fc915bb2b7b9128e660cea9f20c42a5 Mon Sep 17 00:00:00 2001 +Message-ID: <848635bd8fc915bb2b7b9128e660cea9f20c42a5.1725987015.git.crobinso@redhat.com> +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Tue, 20 Aug 2024 10:03:56 +0100 +Subject: [PATCH virt-manager] virtinst: add properties for AMD SEV-SNP +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Content-type: text/plain + +Signed-off-by: Daniel P. Berrangé +--- + virtinst/cli.py | 7 ++++++- + virtinst/domain/launch_security.py | 12 ++++++++++++ + 2 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/virtinst/cli.py b/virtinst/cli.py +index c4dffd34..43b5fb52 100644 +--- a/virtinst/cli.py ++++ b/virtinst/cli.py +@@ -4805,8 +4805,13 @@ class ParserLaunchSecurity(VirtCLIParser): + cls.add_arg("policy", "policy") + cls.add_arg("session", "session") + cls.add_arg("dhCert", "dhCert") ++ cls.add_arg("guestVisibleWorkarounds", "guestVisibleWorkarounds") ++ cls.add_arg("idBlock", "idBlock") ++ cls.add_arg("idAuth", "idAuth") ++ cls.add_arg("hostData", "hostData") + cls.add_arg("kernelHashes", "kernelHashes", is_onoff=True) +- ++ cls.add_arg("authorKey", "authorKey", is_onoff=True) ++ cls.add_arg("vcek", "vcek", is_onoff=True) + + ########################### + # Public virt parser APIs # +diff --git a/virtinst/domain/launch_security.py b/virtinst/domain/launch_security.py +index 9d2998d9..f56527cb 100644 +--- a/virtinst/domain/launch_security.py ++++ b/virtinst/domain/launch_security.py +@@ -16,7 +16,13 @@ class DomainLaunchSecurity(XMLBuilder): + policy = XMLProperty("./policy") + session = XMLProperty("./session") + dhCert = XMLProperty("./dhCert") ++ guestVisibleWorkarounds = XMLProperty("./guestVisibleWorkarounds") ++ idBlock = XMLProperty("./idBlock") ++ idAuth = XMLProperty("./idAuth") ++ hostData = XMLProperty("./hostData") + kernelHashes = XMLProperty("./@kernelHashes", is_yesno=True) ++ authorKey = XMLProperty("./@authorKey", is_yesno=True) ++ vcek = XMLProperty("./@vcek", is_yesno=True) + + def _set_defaults_sev(self, guest): + if not guest.os.is_q35() or not guest.is_uefi(): +@@ -32,6 +38,12 @@ class DomainLaunchSecurity(XMLBuilder): + if domcaps.supports_sev_launch_security(check_es=True): + self.policy = "0x07" + ++ def _set_defaults_sev_snp(self, guest): ++ if not guest.os.is_q35() or not guest.is_uefi(): ++ raise RuntimeError(_("SEV-SNP launch security requires a Q35 UEFI machine")) ++ + def set_defaults(self, guest): + if self.type == "sev": + return self._set_defaults_sev(guest) ++ elif self.type == "sev-snp": ++ return self._set_defaults_sev_snp(guest) +-- +2.46.0 + diff --git a/virt-manager.spec b/virt-manager.spec index 3b7ba07..29cc82a 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -20,6 +20,9 @@ Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.ta # https://bugzilla.redhat.com/show_bug.cgi?id=2294201 Patch1: 0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch +# https://fedoraproject.org/wiki/Changes/ConfidentialVirtHostAMDSEVSNP +Patch2: 0001-virtinst-add-properties-for-AMD-SEV-SNP.patch + Requires: virt-manager-common = %{verrel} Requires: python3-gobject >= 3.31.3 Requires: gtk3 >= 3.22.0 @@ -178,6 +181,9 @@ machine). %changelog +* Tue Sep 10 2024 Cole Robinson - 4.1.0-8 +- Add sev-snp changes for feature ConfidentialVirtHostAMDSEVSNP + * Mon Aug 05 2024 Cole Robinson - 4.1.0-8 - Fix flatpak build - Add /usr/share/virt-manager/ui/ to rpm db (bz 2283244) From 602f1a28fe9445fceb025fed9359762904180c80 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 10 Sep 2024 13:10:34 -0400 Subject: [PATCH 25/34] Bump Release: Signed-off-by: Cole Robinson --- virt-manager.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/virt-manager.spec b/virt-manager.spec index 29cc82a..d25ec9c 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 4.1.0 -Release: 8%{?dist} +Release: 9%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -181,7 +181,7 @@ machine). %changelog -* Tue Sep 10 2024 Cole Robinson - 4.1.0-8 +* Tue Sep 10 2024 Cole Robinson - 4.1.0-9 - Add sev-snp changes for feature ConfidentialVirtHostAMDSEVSNP * Mon Aug 05 2024 Cole Robinson - 4.1.0-8 From d2df19d2f4692ebdd07e867360e4116a1a408d10 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 2 Dec 2024 21:34:38 +0100 Subject: [PATCH 26/34] virt-manager-5.0.0-1 Update to version 5.0.0 Signed-off-by: Pavel Hrdina --- .gitignore | 2 +- ...estyle-warnings-with-latest-versions.patch | 265 ------------------ ...tinst-add-properties-for-AMD-SEV-SNP.patch | 69 ----- sources | 2 +- virt-manager.spec | 47 ++-- 5 files changed, 21 insertions(+), 364 deletions(-) delete mode 100644 0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch delete mode 100644 0001-virtinst-add-properties-for-AMD-SEV-SNP.patch diff --git a/.gitignore b/.gitignore index 1951f27..6893444 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /virt-manager-*.tar.gz -/virt-manager-20220220-git363fca41.tar.xz +/virt-manager-*.tar.xz diff --git a/0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch b/0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch deleted file mode 100644 index f153626..0000000 --- a/0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch +++ /dev/null @@ -1,265 +0,0 @@ -From bb1afaba29019605a240a57d6b3ca8eb36341d9b Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Tue, 13 Dec 2022 10:51:14 -0500 -Subject: [PATCH] Fix pylint/pycodestyle warnings with latest versions - -Signed-off-by: Cole Robinson ---- - setup.py | 2 +- - tests/test_disk.py | 1 + - virtManager/addhardware.py | 6 +++--- - virtManager/details/sshtunnels.py | 2 +- - virtManager/lib/statsmanager.py | 2 +- - virtManager/object/domain.py | 4 ++-- - virtinst/cli.py | 8 ++++---- - virtinst/domcapabilities.py | 2 +- - virtinst/pollhelpers.py | 2 +- - virtinst/virtinstall.py | 20 ++++++++++---------- - virtinst/xmlbuilder.py | 6 +++--- - 11 files changed, 28 insertions(+), 27 deletions(-) - -diff --git a/setup.py b/setup.py -index b45d315a..4bf29f25 100755 ---- a/setup.py -+++ b/setup.py -@@ -29,7 +29,7 @@ import setuptools.command.install_egg_info - # - # Newer setuptools will transparently support 'import distutils' though. - # That can be overridden with SETUPTOOLS_USE_DISTUTILS env variable --import distutils.command.build # pylint: disable=wrong-import-order -+import distutils.command.build # pylint: disable=wrong-import-order,deprecated-module - - - SYSPREFIX = sysconfig.get_config_var("prefix") -diff --git a/tests/test_disk.py b/tests/test_disk.py -index ef065157..9127371b 100644 ---- a/tests/test_disk.py -+++ b/tests/test_disk.py -@@ -82,6 +82,7 @@ def test_disk_dir_searchable(monkeypatch): - searchdata = virtinst.DeviceDisk.check_path_search(conn, - tmpdir + "/footest") - assert searchdata.uid == os.getuid() -+ # pylint: disable=use-implicit-booleaness-not-comparison - assert searchdata.fixlist == [] - - # Remove perms on the tmpdir, now it should report failures -diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py -index 0a8e33d3..aec48dd2 100644 ---- a/virtManager/addhardware.py -+++ b/virtManager/addhardware.py -@@ -371,8 +371,8 @@ class vmmAddHardware(vmmGObjectUI): - - msg = _("These changes will take effect after " - "the next guest shutdown.") -- dtype = (hotplug_err and -- Gtk.MessageType.WARNING or Gtk.MessageType.INFO) -+ dtype = (Gtk.MessageType.WARNING if hotplug_err else -+ Gtk.MessageType.INFO) - hotplug_msg = "" - if hotplug_err: - hotplug_msg += (hotplug_err[0] + "\n\n" + -@@ -1560,7 +1560,7 @@ class vmmAddHardware(vmmGObjectUI): - controller_num = [x for x in controllers if - (x.type == controller_type)] - if len(controller_num) > 0: -- index_new = max([x.index for x in controller_num]) + 1 -+ index_new = max(x.index for x in controller_num) + 1 - dev.index = index_new - - dev.type = controller_type -diff --git a/virtManager/details/sshtunnels.py b/virtManager/details/sshtunnels.py -index 9afc1e13..cb7ca7c0 100644 ---- a/virtManager/details/sshtunnels.py -+++ b/virtManager/details/sshtunnels.py -@@ -22,7 +22,7 @@ class ConnectionInfo(object): - """ - def __init__(self, conn, gdev): - self.gtype = gdev.type -- self.gport = gdev.port and str(gdev.port) or None -+ self.gport = str(gdev.port) if gdev.port else None - self.gsocket = (gdev.listens and gdev.listens[0].socket) or gdev.socket - self.gaddr = gdev.listen or "127.0.0.1" - self.gtlsport = gdev.tlsPort or None -diff --git a/virtManager/lib/statsmanager.py b/virtManager/lib/statsmanager.py -index 28495495..ece130ab 100644 ---- a/virtManager/lib/statsmanager.py -+++ b/virtManager/lib/statsmanager.py -@@ -66,7 +66,7 @@ class _VMStatsList(vmmGObject): - expected = self.config.get_stats_history_length() - current = len(self._stats) - if current > expected: # pragma: no cover -- del(self._stats[expected:current]) -+ del self._stats[expected:current] - - def _calculate_rate(record_name): - ret = 0.0 -diff --git a/virtManager/object/domain.py b/virtManager/object/domain.py -index 2d6f5bca..1570b952 100644 ---- a/virtManager/object/domain.py -+++ b/virtManager/object/domain.py -@@ -1306,10 +1306,10 @@ class vmmDomain(vmmLibvirtObject): - def get_arch(self): - return self.get_xmlobj().os.arch - def get_init(self): -- import pipes -+ import shlex - init = self.get_xmlobj().os.init - initargs = " ".join( -- [pipes.quote(i.val) for i in self.get_xmlobj().os.initargs]) -+ [shlex.quote(i.val) for i in self.get_xmlobj().os.initargs]) - return init, initargs - - def get_emulator(self): -diff --git a/virtinst/cli.py b/virtinst/cli.py -index 8dbffeb6..7615f743 100644 ---- a/virtinst/cli.py -+++ b/virtinst/cli.py -@@ -85,7 +85,7 @@ class VirtHelpFormatter(argparse.RawDescriptionHelpFormatter): - ''' - oldwrap = None - -- # pylint: disable=arguments-differ -+ # pylint: disable=arguments-differ,protected-access - def _split_lines(self, *args, **kwargs): - def return_default(): - return argparse.RawDescriptionHelpFormatter._split_lines( -@@ -1690,7 +1690,7 @@ def convert_old_force(options): - if options.force: - if not options.check: - options.check = "all=off" -- del(options.force) -+ del options.force - - - class ParserCheck(VirtCLIParser): -@@ -2281,7 +2281,7 @@ class ParserCPU(VirtCLIParser): - policy = "disable" - - if policy: -- del(self.optdict[key]) -+ del self.optdict[key] - converted[policy].append(key[1:]) - - self.optdict.update(converted) -@@ -2753,7 +2753,7 @@ class ParserBoot(VirtCLIParser): - if cliname not in inst.BOOT_DEVICES: - continue - -- del(self.optdict[cliname]) -+ del self.optdict[cliname] - if cliname not in boot_order: - boot_order.append(cliname) - -diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py -index d22ce6a2..1b5b6bf6 100644 ---- a/virtinst/domcapabilities.py -+++ b/virtinst/domcapabilities.py -@@ -334,7 +334,7 @@ class DomainCapabilities(XMLBuilder): - """ - Return True if we know how to setup UEFI for the passed arch - """ -- return self.arch in list(self._uefi_arch_patterns.keys()) -+ return self.arch in self._uefi_arch_patterns - - def supports_uefi_loader(self): - """ -diff --git a/virtinst/pollhelpers.py b/virtinst/pollhelpers.py -index ef695914..f9fcc3fa 100644 ---- a/virtinst/pollhelpers.py -+++ b/virtinst/pollhelpers.py -@@ -32,7 +32,7 @@ def _new_poll_helper(origmap, typename, list_cb, build_cb, support_cb): - else: - # Previously known object - current[name] = origmap[name] -- del(origmap[name]) -+ del origmap[name] - - return (list(origmap.values()), list(new.values()), list(current.values())) - -diff --git a/virtinst/virtinstall.py b/virtinst/virtinstall.py -index 8fcc8ce1..130c8e28 100644 ---- a/virtinst/virtinstall.py -+++ b/virtinst/virtinstall.py -@@ -67,7 +67,7 @@ def check_cdrom_option_error(options): - def convert_old_printxml(options): - if options.xmlstep: - options.xmlonly = options.xmlstep -- del(options.xmlstep) -+ del options.xmlstep - - - def convert_old_sound(options): -@@ -135,10 +135,10 @@ def convert_old_disks(options): - else: - _do_convert_old_disks(options) - -- del(options.file_paths) -- del(options.disksize) -- del(options.sparse) -- del(options.nodisks) -+ del options.file_paths -+ del options.disksize -+ del options.sparse -+ del options.nodisks - log.debug("Distilled --disk options: %s", options.disk) - - -@@ -147,7 +147,7 @@ def convert_old_os_options(options): - return - log.warning( - _("--os-type is deprecated and does nothing. Please stop using it.")) -- del(options.old_os_type) -+ del options.old_os_type - - - def convert_old_memory(options): -@@ -204,9 +204,9 @@ def convert_old_networks(options): - networks[idx] = networks[idx].replace(prefix + ":", - prefix + "=") - -- del(options.mac) -- del(options.bridge) -- del(options.nonetworks) -+ del options.mac -+ del options.bridge -+ del options.nonetworks - - options.network = networks - log.debug("Distilled --network options: %s", options.network) -@@ -224,7 +224,7 @@ def convert_old_graphics(options): - if graphics and (vnc or sdl or keymap or vncport or vnclisten): - fail(_("Cannot mix --graphics and old style graphical options")) - -- optnum = sum([bool(g) for g in [vnc, nographics, sdl, graphics]]) -+ optnum = sum(bool(g) for g in [vnc, nographics, sdl, graphics]) - if optnum > 1: - raise ValueError(_("Can't specify more than one of VNC, SDL, " - "--graphics or --nographics")) -diff --git a/virtinst/xmlbuilder.py b/virtinst/xmlbuilder.py -index 07a9e319..dd78038e 100644 ---- a/virtinst/xmlbuilder.py -+++ b/virtinst/xmlbuilder.py -@@ -262,9 +262,9 @@ class XMLProperty(_XMLPropertyBase): - self._is_onoff = is_onoff - self._do_abspath = do_abspath - -- conflicts = sum([int(bool(i)) for i in -+ conflicts = sum(int(bool(i)) for i in - [self._is_bool, self._is_int, -- self._is_yesno, self._is_onoff]]) -+ self._is_yesno, self._is_onoff]) - if conflicts > 1: - raise xmlutil.DevError("Conflict property converter options.") - -@@ -343,7 +343,7 @@ class XMLProperty(_XMLPropertyBase): - propstore = xmlbuilder._propstore - - if self.propname in propstore: -- del(propstore[self.propname]) -+ del propstore[self.propname] - propstore[self.propname] = val - - def _nonxml_fget(self, xmlbuilder): --- -2.45.2 - diff --git a/0001-virtinst-add-properties-for-AMD-SEV-SNP.patch b/0001-virtinst-add-properties-for-AMD-SEV-SNP.patch deleted file mode 100644 index d3995af..0000000 --- a/0001-virtinst-add-properties-for-AMD-SEV-SNP.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 848635bd8fc915bb2b7b9128e660cea9f20c42a5 Mon Sep 17 00:00:00 2001 -Message-ID: <848635bd8fc915bb2b7b9128e660cea9f20c42a5.1725987015.git.crobinso@redhat.com> -From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= -Date: Tue, 20 Aug 2024 10:03:56 +0100 -Subject: [PATCH virt-manager] virtinst: add properties for AMD SEV-SNP -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Content-type: text/plain - -Signed-off-by: Daniel P. Berrangé ---- - virtinst/cli.py | 7 ++++++- - virtinst/domain/launch_security.py | 12 ++++++++++++ - 2 files changed, 18 insertions(+), 1 deletion(-) - -diff --git a/virtinst/cli.py b/virtinst/cli.py -index c4dffd34..43b5fb52 100644 ---- a/virtinst/cli.py -+++ b/virtinst/cli.py -@@ -4805,8 +4805,13 @@ class ParserLaunchSecurity(VirtCLIParser): - cls.add_arg("policy", "policy") - cls.add_arg("session", "session") - cls.add_arg("dhCert", "dhCert") -+ cls.add_arg("guestVisibleWorkarounds", "guestVisibleWorkarounds") -+ cls.add_arg("idBlock", "idBlock") -+ cls.add_arg("idAuth", "idAuth") -+ cls.add_arg("hostData", "hostData") - cls.add_arg("kernelHashes", "kernelHashes", is_onoff=True) -- -+ cls.add_arg("authorKey", "authorKey", is_onoff=True) -+ cls.add_arg("vcek", "vcek", is_onoff=True) - - ########################### - # Public virt parser APIs # -diff --git a/virtinst/domain/launch_security.py b/virtinst/domain/launch_security.py -index 9d2998d9..f56527cb 100644 ---- a/virtinst/domain/launch_security.py -+++ b/virtinst/domain/launch_security.py -@@ -16,7 +16,13 @@ class DomainLaunchSecurity(XMLBuilder): - policy = XMLProperty("./policy") - session = XMLProperty("./session") - dhCert = XMLProperty("./dhCert") -+ guestVisibleWorkarounds = XMLProperty("./guestVisibleWorkarounds") -+ idBlock = XMLProperty("./idBlock") -+ idAuth = XMLProperty("./idAuth") -+ hostData = XMLProperty("./hostData") - kernelHashes = XMLProperty("./@kernelHashes", is_yesno=True) -+ authorKey = XMLProperty("./@authorKey", is_yesno=True) -+ vcek = XMLProperty("./@vcek", is_yesno=True) - - def _set_defaults_sev(self, guest): - if not guest.os.is_q35() or not guest.is_uefi(): -@@ -32,6 +38,12 @@ class DomainLaunchSecurity(XMLBuilder): - if domcaps.supports_sev_launch_security(check_es=True): - self.policy = "0x07" - -+ def _set_defaults_sev_snp(self, guest): -+ if not guest.os.is_q35() or not guest.is_uefi(): -+ raise RuntimeError(_("SEV-SNP launch security requires a Q35 UEFI machine")) -+ - def set_defaults(self, guest): - if self.type == "sev": - return self._set_defaults_sev(guest) -+ elif self.type == "sev-snp": -+ return self._set_defaults_sev_snp(guest) --- -2.46.0 - diff --git a/sources b/sources index 3d35e40..c58d7d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-4.1.0.tar.gz) = 725cb5bcbaebaafae417f95deffb4243ccdad769668cba6e1235f4607e2b29dbd099d2a9a3885981158f53ea854dd71cc29ed9d7557b2791161c13d34f2ef883 +SHA512 (virt-manager-5.0.0.tar.xz) = d0cb7eb844fc98ad29413717e5fa5834bc6f9f6cb6b9339b59c2721bb37a58f71280e3d2a04a64a6021614626329d76c92474f826bb1d9b7a9040b479f20d4e8 diff --git a/virt-manager.spec b/virt-manager.spec index d25ec9c..2b42465 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -7,21 +7,16 @@ # End local config Name: virt-manager -Version: 4.1.0 -Release: 9%{?dist} +Version: 5.0.0 +Release: 1%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt License: GPL-2.0-or-later BuildArch: noarch URL: https://virt-manager.org/ -Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz +Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz -# https://bugzilla.redhat.com/show_bug.cgi?id=2294201 -Patch1: 0001-Fix-pylint-pycodestyle-warnings-with-latest-versions.patch - -# https://fedoraproject.org/wiki/Changes/ConfidentialVirtHostAMDSEVSNP -Patch2: 0001-virtinst-add-properties-for-AMD-SEV-SNP.patch Requires: virt-manager-common = %{verrel} Requires: python3-gobject >= 3.31.3 @@ -32,9 +27,6 @@ Requires: gtk-vnc2 Requires: spice-gtk3 %endif -# We can work with gtksourceview 3 or gtksourceview4, pick the latest one -Requires: gtksourceview4 - # virt-manager is one of those apps that people will often install onto # a headless machine for use over SSH. This means the virt-manager dep # chain needs to provide everything we need to get a usable app experience. @@ -54,6 +46,10 @@ Requires: dconf # no ambiguity. Requires: vte291 +# We can use GtkTextView, gtksourceview 3 or gtksourceview4, recommend +# the latest one but don't make it a hard requirement +Recommends: gtksourceview4 + # Weak dependencies for the common virt-manager usecase Recommends: (libvirt-daemon-kvm or libvirt-daemon-qemu) Recommends: libvirt-daemon-config-network @@ -64,7 +60,7 @@ Suggests: python3-libguestfs BuildRequires: gettext BuildRequires: python3-devel BuildRequires: python3-docutils -BuildRequires: python3-setuptools +BuildRequires: meson %description @@ -115,24 +111,16 @@ machine). %build -%if %{default_hvs} -%global _default_hvs --default-hvs %{default_hvs} -%endif - -%if 0%{?rhel} -%global _default_graphics --default-graphics=vnc -%endif - -./setup.py configure \ - --prefix=%{_prefix} \ - %{?_default_hvs} \ - %{?_default_graphics} - +%meson \ + -Ddefault-hvs=%{default_hvs} \ + -Dupdate-icon-cache=false \ + -Dcompile-schemas=false \ + -Dtests=disabled +%meson_build %install -./setup.py \ - --no-update-icon-cache --no-compile-schemas \ - install -O1 --root=%{buildroot} --prefix=%{_prefix} +%meson_install + %find_lang %{name} %if 0%{?py_byte_compile:1} @@ -181,6 +169,9 @@ machine). %changelog +* Mon Dec 02 2024 Pavel Hrdina - 5.0.0-1 +- Update to version 5.0.0 + * Tue Sep 10 2024 Cole Robinson - 4.1.0-9 - Add sev-snp changes for feature ConfidentialVirtHostAMDSEVSNP From 5b17178703f5a96ae29c2f5180282fbe94a552b3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:27:47 +0000 Subject: [PATCH 27/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 2b42465..234e6e0 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 5.0.0 -Release: 1%{?dist} +Release: 2%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -169,6 +169,9 @@ machine). %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 5.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Mon Dec 02 2024 Pavel Hrdina - 5.0.0-1 - Update to version 5.0.0 From 11bcb0079caebdc4d87a7867d60d6409d886d403 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:08:48 +0000 Subject: [PATCH 28/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 234e6e0..5bb7c37 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 5.0.0 -Release: 2%{?dist} +Release: 3%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -169,6 +169,9 @@ machine). %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 5.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sun Jan 19 2025 Fedora Release Engineering - 5.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From dadb63c5177407ed57fdd69d958b9ff4d838627b Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 15:22:17 +0200 Subject: [PATCH 29/34] Rebuilt for Python 3.14.0rc2 bytecode --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 5bb7c37..8696df0 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -8,7 +8,7 @@ Name: virt-manager Version: 5.0.0 -Release: 3%{?dist} +Release: 4%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -169,6 +169,9 @@ machine). %changelog +* Fri Aug 15 2025 Python Maint - 5.0.0-4 +- Rebuilt for Python 3.14.0rc2 bytecode + * Fri Jul 25 2025 Fedora Release Engineering - 5.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 5ec9f9a52d84e471b84003adf244821bca5a6e5b Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Tue, 26 Aug 2025 03:23:07 +0200 Subject: [PATCH 30/34] virt-manager-5.1.0-1 Update to version 5.1.0 Signed-off-by: Pavel Hrdina --- sources | 2 +- virt-manager.spec | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/sources b/sources index c58d7d0..e062edf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-5.0.0.tar.xz) = d0cb7eb844fc98ad29413717e5fa5834bc6f9f6cb6b9339b59c2721bb37a58f71280e3d2a04a64a6021614626329d76c92474f826bb1d9b7a9040b479f20d4e8 +SHA512 (virt-manager-5.1.0.tar.xz) = 6306500ae442a6ccb36d5f19bc26b0e32984ca145ee8d41a475e175ee4db6c0d253f0cf9d908c30e3269cf7aabdad4bbd30e84f3cd0477f233da1e43e0235e3c diff --git a/virt-manager.spec b/virt-manager.spec index 8696df0..2a1fbba 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -1,14 +1,15 @@ # -*- rpm-spec -*- -%global with_guestfs 0 -%global default_hvs "qemu,xen,lxc" +%global default_hvs "qemu,xen,lxc" +%global have_spice %{defined fedora} + # End local config Name: virt-manager -Version: 5.0.0 -Release: 4%{?dist} +Version: 5.1.0 +Release: 1%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -23,7 +24,7 @@ Requires: python3-gobject >= 3.31.3 Requires: gtk3 >= 3.22.0 Requires: libvirt-glib >= 0.0.9 Requires: gtk-vnc2 -%if 0%{?fedora} +%if %{have_spice} Requires: spice-gtk3 %endif @@ -111,8 +112,13 @@ machine). %build +%if ! %{have_spice} +%global _default_graphics -Ddefault-graphics=vnc +%endif + %meson \ -Ddefault-hvs=%{default_hvs} \ + %{?_default_graphics} \ -Dupdate-icon-cache=false \ -Dcompile-schemas=false \ -Dtests=disabled @@ -169,6 +175,9 @@ machine). %changelog +* Tue Aug 26 2025 Pavel Hrdina - 5.1.0-1 +- Update to version 5.1.0 + * Fri Aug 15 2025 Python Maint - 5.0.0-4 - Rebuilt for Python 3.14.0rc2 bytecode From 0609fe3892d3067ea675ad499eccc4977aa594e3 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 15:02:31 +0200 Subject: [PATCH 31/34] Rebuilt for Python 3.14.0rc3 bytecode --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 2a1fbba..fd1e83b 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -9,7 +9,7 @@ Name: virt-manager Version: 5.1.0 -Release: 1%{?dist} +Release: 2%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -175,6 +175,9 @@ machine). %changelog +* Fri Sep 19 2025 Python Maint - 5.1.0-2 +- Rebuilt for Python 3.14.0rc3 bytecode + * Tue Aug 26 2025 Pavel Hrdina - 5.1.0-1 - Update to version 5.1.0 From f5c8c71b58d8648f3f5b19b8c3edf05706874bc3 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Wed, 7 Jan 2026 15:08:28 +0100 Subject: [PATCH 32/34] virt-manager-5.1.0-3 - Fix cloud init Signed-off-by: Pavel Hrdina --- ...oudinit-include-empty-meta-data-file.patch | 32 +++++++++++++++++++ virt-manager.spec | 6 +++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 0001-virtinst-cloudinit-include-empty-meta-data-file.patch diff --git a/0001-virtinst-cloudinit-include-empty-meta-data-file.patch b/0001-virtinst-cloudinit-include-empty-meta-data-file.patch new file mode 100644 index 0000000..4d8459a --- /dev/null +++ b/0001-virtinst-cloudinit-include-empty-meta-data-file.patch @@ -0,0 +1,32 @@ +From ea71cf9a8a4161ce6e19eacf5f0d86d40ab74f23 Mon Sep 17 00:00:00 2001 +Message-ID: +From: Pavel Hrdina +Date: Mon, 29 Sep 2025 16:14:35 +0200 +Subject: [PATCH] virtinst: cloudinit: include empty meta-data file + +Refactor creation of cloud-init config files introduced a bug where we +stopped including empty meta-data file. + +Introduced-by: 5b2d0997a1d2d213b17c227169da64e2fa7d09a6 +Fixes: https://github.com/virt-manager/virt-manager/issues/975 +Signed-off-by: Pavel Hrdina +--- + virtinst/install/cloudinit.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/virtinst/install/cloudinit.py b/virtinst/install/cloudinit.py +index 3f565f399..b2378fbfa 100644 +--- a/virtinst/install/cloudinit.py ++++ b/virtinst/install/cloudinit.py +@@ -36,7 +36,7 @@ class _CloudInitConfig: + def _create_file(self): + content = self._content() + +- if not content: ++ if content is None: + return None + + fileobj = tempfile.NamedTemporaryFile( +-- +2.52.0 + diff --git a/virt-manager.spec b/virt-manager.spec index fd1e83b..87e0022 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -9,7 +9,7 @@ Name: virt-manager Version: 5.1.0 -Release: 2%{?dist} +Release: 3%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -18,6 +18,7 @@ BuildArch: noarch URL: https://virt-manager.org/ Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz +Patch1: 0001-virtinst-cloudinit-include-empty-meta-data-file.patch Requires: virt-manager-common = %{verrel} Requires: python3-gobject >= 3.31.3 @@ -175,6 +176,9 @@ machine). %changelog +* Wed Jan 07 2026 Pavel Hrdina - 5.1.0.3 +- Fix cloud init + * Fri Sep 19 2025 Python Maint - 5.1.0-2 - Rebuilt for Python 3.14.0rc3 bytecode From 693962ea8b357f04b497d7283d6f6a6e5cb099f1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:58:20 +0000 Subject: [PATCH 33/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 87e0022..771817a 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -9,7 +9,7 @@ Name: virt-manager Version: 5.1.0 -Release: 3%{?dist} +Release: 4%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -176,6 +176,9 @@ machine). %changelog +* Sat Jan 17 2026 Fedora Release Engineering - 5.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Wed Jan 07 2026 Pavel Hrdina - 5.1.0.3 - Fix cloud init From 1497a062aa1decb85df9a335e3ecb80b3da07455 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:32:29 +0000 Subject: [PATCH 34/34] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- virt-manager.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 771817a..fdef010 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -9,7 +9,7 @@ Name: virt-manager Version: 5.1.0 -Release: 4%{?dist} +Release: 5%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt @@ -176,6 +176,9 @@ machine). %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 5.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Sat Jan 17 2026 Fedora Release Engineering - 5.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild