diff --git a/.gitignore b/.gitignore index 1951f27..5888b67 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /virt-manager-*.tar.gz /virt-manager-20220220-git363fca41.tar.xz +/virt-manager-5.0.0.tar.xz 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/symlinks b/symlinks new file mode 100644 index 0000000..6eb4415 --- /dev/null +++ b/symlinks @@ -0,0 +1,5 @@ +data/hicolor icons +tests/testdriver.xml data/testdriver/testdriver.xml +tests/data/urldetect/debian/buster/main/installer-arm64 installer-amd64/ +tests/data/urldetect/debian/buster/main/installer-ppc64el installer-amd64/ +tests/data/urldetect/debian/buster/main/installer-s390x installer-amd64/ diff --git a/virt-manager-Downstream-changes-to-RPM-spec-file.patch b/virt-manager-Downstream-changes-to-RPM-spec-file.patch new file mode 100644 index 0000000..3f723ba --- /dev/null +++ b/virt-manager-Downstream-changes-to-RPM-spec-file.patch @@ -0,0 +1,41 @@ +From 35127dbaac817e9d78aaa6a97021eb9b18d63b12 Mon Sep 17 00:00:00 2001 +Message-ID: <35127dbaac817e9d78aaa6a97021eb9b18d63b12.1733152262.git.phrdina@redhat.com> +From: Pavel Hrdina +Date: Fri, 29 Nov 2024 20:48:04 +0100 +Subject: [PATCH] Downstream changes to RPM spec file + +Signed-off-by: Pavel Hrdina +--- + virt-manager.spec.in | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/virt-manager.spec.in b/virt-manager.spec.in +index c22ed32b5..353491111 100644 +--- a/virt-manager.spec.in ++++ b/virt-manager.spec.in +@@ -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 + + # 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 +@@ -104,8 +106,13 @@ machine). + + + %build ++%if 0%{?rhel} ++%global _default_graphics -Ddefault-graphics=vnc ++%endif ++ + %meson \ + -Ddefault-hvs=%{default_hvs} \ ++ %{?_default_graphics} \ + -Dupdate-icon-cache=false \ + -Dcompile-schemas=false \ + -Dtests=disabled +-- +2.47.0 diff --git a/virt-manager-cloner-Sync-uuid-and-sysinfo-system-uuid.patch b/virt-manager-cloner-Sync-uuid-and-sysinfo-system-uuid.patch deleted file mode 100644 index 02210c1..0000000 --- a/virt-manager-cloner-Sync-uuid-and-sysinfo-system-uuid.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 98e015cf5d87599e3bc70a11d9c8cfe635004c1c Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Sun, 21 Aug 2022 16:21:10 -0400 -Subject: [PATCH] cloner: Sync and system uuid - -Otherwise libvirt errors like: - -ERROR UUID mismatch between and - -https://bugzilla.redhat.com/show_bug.cgi?id=2038040 - -Signed-off-by: Cole Robinson -(cherry picked from commit b0d0516736320315a70f74aff3759fb35dd35d9d) - -Resolves: https://issues.redhat.com/browse/RHEL-34608 -Signed-off-by: Jonathon Jongsma ---- - tests/data/cli/compare/virt-clone-auto-unmanaged.xml | 5 +++++ - tests/data/cli/compare/virt-clone-unmanaged-preserve.xml | 5 +++++ - tests/data/cli/virtclone/clone-disk.xml | 5 +++++ - virtinst/cloner.py | 6 ++++-- - 4 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/tests/data/cli/compare/virt-clone-auto-unmanaged.xml b/tests/data/cli/compare/virt-clone-auto-unmanaged.xml -index 21a9a6398..f2043be25 100644 ---- a/tests/data/cli/compare/virt-clone-auto-unmanaged.xml -+++ b/tests/data/cli/compare/virt-clone-auto-unmanaged.xml -@@ -1,6 +1,11 @@ - - origtest-clone - 00000000-1111-2222-3333-444444444444 -+ -+ -+ 00000000-1111-2222-3333-444444444444 -+ -+ - 8388608 - 2097152 - 2 -diff --git a/tests/data/cli/compare/virt-clone-unmanaged-preserve.xml b/tests/data/cli/compare/virt-clone-unmanaged-preserve.xml -index 3bdbbbe36..c003ed3ee 100644 ---- a/tests/data/cli/compare/virt-clone-unmanaged-preserve.xml -+++ b/tests/data/cli/compare/virt-clone-unmanaged-preserve.xml -@@ -1,6 +1,11 @@ - - clonetest - 00000000-1111-2222-3333-444444444444 -+ -+ -+ 00000000-1111-2222-3333-444444444444 -+ -+ - 8388608 - 2097152 - 2 -diff --git a/tests/data/cli/virtclone/clone-disk.xml b/tests/data/cli/virtclone/clone-disk.xml -index da1eb0a63..2f6e916d7 100644 ---- a/tests/data/cli/virtclone/clone-disk.xml -+++ b/tests/data/cli/virtclone/clone-disk.xml -@@ -1,6 +1,11 @@ - - origtest - db69fa1f-eef0-e567-3c20-3ef16f10376b -+ -+ -+ db69fa1f-eef0-e567-3c20-3ef16f10376b -+ -+ - 8388608 - 2097152 - 2 -diff --git a/virtinst/cloner.py b/virtinst/cloner.py -index 34a702f91..9334513c5 100644 ---- a/virtinst/cloner.py -+++ b/virtinst/cloner.py -@@ -352,8 +352,7 @@ class Cloner(object): - """ - self._new_guest.id = None - self._new_guest.title = None -- self._new_guest.uuid = None -- self._new_guest.uuid = Guest.generate_uuid(self.conn) -+ self.set_clone_uuid(Guest.generate_uuid(self.conn)) - - for dev in self._new_guest.devices.graphics: - if dev.port and dev.port != -1: -@@ -408,6 +407,9 @@ class Cloner(object): - Override the new VMs generated UUId - """ - self._new_guest.uuid = uuid -+ for sysinfo in self._new_guest.sysinfo: -+ if sysinfo.system_uuid: -+ sysinfo.system_uuid = uuid - - def set_replace(self, val): - """ --- -2.45.1 diff --git a/virt-manager-installer-drop-default-TPM-for-cloud-init-install-phase.patch b/virt-manager-installer-drop-default-TPM-for-cloud-init-install-phase.patch deleted file mode 100644 index 5ca089f..0000000 --- a/virt-manager-installer-drop-default-TPM-for-cloud-init-install-phase.patch +++ /dev/null @@ -1,148 +0,0 @@ -From d447ac4e2439103faa612f0933126931264e3a2f Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Tue, 12 Sep 2023 12:01:09 -0400 -Subject: [PATCH] installer: drop default TPM for --cloud-init install phase - -When shim in the guest sees unpopulated EFI NVRAM, like when -we create a new UEFI VM, it invokes fallback.efi to populate -initial NVRAM boot entries. When the guest also has a TPM device, -shim will do a one time VM reset. This reset throws off the -reboot detection that is central to virt-install's install -process. - -The main install case that this will usually be relevant is -the combo of UEFI and --cloud-init. The latter usually implies -use of a distro cloud image, which will be using shim, and the ---cloud-init process requires a multi stage install compared -to just a plain import install. - -For that case, we disable the default TPM device for the first -boot. - -https://bugzilla.redhat.com/show_bug.cgi?id=2133525 - -Signed-off-by: Cole Robinson - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -(cherry picked from commit ec434948a8384541c56bfa04e4985f4fc709bc76) -Signed-off-by: Jonathon Jongsma ---- - .../virt-install-aarch64-cloud-init.xml | 3 -- - .../virt-install-cloud-init-options1.xml | 3 -- - virtinst/guest.py | 2 ++ - virtinst/install/installer.py | 31 +++++++++++++++++-- - 4 files changed, 31 insertions(+), 8 deletions(-) - -diff --git a/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml b/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml -index e4a50cf4c..18c417662 100644 ---- a/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml -+++ b/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml -@@ -49,9 +49,6 @@ - - - -- -- -- - - - /dev/urandom -diff --git a/tests/data/cli/compare/virt-install-cloud-init-options1.xml b/tests/data/cli/compare/virt-install-cloud-init-options1.xml -index cd5426049..110730dd3 100644 ---- a/tests/data/cli/compare/virt-install-cloud-init-options1.xml -+++ b/tests/data/cli/compare/virt-install-cloud-init-options1.xml -@@ -71,9 +71,6 @@ chpasswd: - - - -- -- -- - - - /dev/urandom -diff --git a/virtinst/guest.py b/virtinst/guest.py -index e66360223..0f5a93d08 100644 ---- a/virtinst/guest.py -+++ b/virtinst/guest.py -@@ -211,6 +211,7 @@ class Guest(XMLBuilder): - self.skip_default_graphics = False - self.skip_default_rng = False - self.skip_default_tpm = False -+ self.have_default_tpm = False - self.x86_cpu_default = self.cpu.SPECIAL_MODE_APP_DEFAULT - - # qemu 6.1, fairly new when we added this option, has an unfortunate -@@ -1060,6 +1061,7 @@ class Guest(XMLBuilder): - dev = DeviceTpm(self.conn) - dev.type = DeviceTpm.TYPE_EMULATOR - self.add_device(dev) -+ self.have_default_tpm = True - - def _add_default_memballoon(self): - if self.devices.memballoon: -diff --git a/virtinst/install/installer.py b/virtinst/install/installer.py -index df74eaffa..c005e77bd 100644 ---- a/virtinst/install/installer.py -+++ b/virtinst/install/installer.py -@@ -564,13 +564,38 @@ class Installer(object): - # guest install handling # - ########################## - -- def _build_postboot_xml(self, final_xml, meter): -+ def _build_postboot_xml(self, guest_ro, final_xml, meter): - initial_guest = Guest(self.conn, parsexml=final_xml) - self._alter_bootconfig(initial_guest) - self._alter_install_resources(initial_guest, meter) - if self.has_cloudinit(): - initial_guest.set_smbios_serial_cloudinit() - -+ # When shim in the guest sees unpopulated EFI NVRAM, like when -+ # we create a new UEFI VM, it invokes fallback.efi to populate -+ # initial NVRAM boot entries. When the guest also has a TPM device, -+ # shim will do a one time VM reset. This reset throws off the -+ # reboot detection that is central to virt-install's install -+ # process. -+ # -+ # The main install case that this will usually be relevant is -+ # the combo of UEFI and --cloud-init. The latter usually implies -+ # use of a distro cloud image, which will be using shim, and the -+ # --cloud-init process requires a multi stage install compared -+ # to just a plain import install. -+ # -+ # For that case, we disable the default TPM device for the first -+ # boot. -+ if (guest_ro.have_default_tpm and -+ guest_ro.is_uefi() and -+ len(initial_guest.devices.tpm)): -+ log.debug( -+ "combo of default TPM, UEFI, and cloudinit is " -+ "used. assuming this VM is using a linux distro " -+ "cloud image with shim in the boot path. disabling " -+ "TPM for the first boot") -+ initial_guest.remove_device(initial_guest.devices.tpm[0]) -+ - final_guest = Guest(self.conn, parsexml=final_xml) - self._remove_install_cdrom_media(final_guest) - self._remove_unattended_install_cdrom_device(final_guest) -@@ -581,7 +606,8 @@ class Installer(object): - initial_xml = None - final_xml = guest.get_xml() - if self._requires_postboot_xml_changes(): -- initial_xml, final_xml = self._build_postboot_xml(final_xml, meter) -+ initial_xml, final_xml = self._build_postboot_xml( -+ guest, final_xml, meter) - final_xml = self._pre_reinstall_xml or final_xml - - log.debug("Generated initial_xml: %s", -@@ -680,6 +706,7 @@ class Installer(object): - # All installer XML alterations are made on this guest instance, - # so the user_guest instance is left intact - guest = Guest(self.conn, parsexml=user_guest.get_xml()) -+ guest.have_default_tpm = user_guest.have_default_tpm - - try: - self._prepare(guest, meter) --- -2.45.1 diff --git a/virt-manager-progress-Fix-showing-correct-final-total.patch b/virt-manager-progress-Fix-showing-correct-final-total.patch deleted file mode 100644 index 2cf8d5c..0000000 --- a/virt-manager-progress-Fix-showing-correct-final-total.patch +++ /dev/null @@ -1,125 +0,0 @@ -From dcdd66af84fdb7adc44ec859f4cbca77ba8ccf4c Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Wed, 14 Dec 2022 12:57:10 -0500 -Subject: [PATCH] progress: Fix showing correct final total - -Reproducer: -Reproducer: -./virt-install --connect test:///default \ - --location tests/data/fakemedia/fake-f26-netinst.iso - -Before: -Starting install... -Retrieving 'vmlinuz' | 0 B 00:00:00 ... -Retrieving 'initrd.img' | 0 B 00:00:00 ... - -After: -Starting install... -Retrieving 'vmlinuz' | 9 B 00:00:00 ... -Retrieving 'initrd.img' | 9 B 00:00:00 ... - -progress.end() currently only reports the total amount of bytes -that were last written to the UI. It should report the total amount -that's been passed to update(). - -Reported-by: Toshiki Sonoda -Signed-off-by: Cole Robinson -(cherry picked from commit 4114fa1aa827b836d3a1d11c2ac2d367c9bb0463) - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -Signed-off-by: Jonathon Jongsma ---- - tests/data/meter/meter1.txt | 2 +- - tests/data/meter/meter2.txt | 2 +- - tests/data/meter/meter3.txt | 2 +- - tests/data/meter/meter5.txt | 2 +- - tests/data/meter/meter6.txt | 2 +- - tests/test_misc.py | 4 +++- - virtinst/_progresspriv.py | 4 ++-- - 7 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/tests/data/meter/meter1.txt b/tests/data/meter/meter1.txt -index a3f7c7d2f..7e154c972 100644 ---- a/tests/data/meter/meter1.txt -+++ b/tests/data/meter/meter1.txt -@@ -9,4 +9,4 @@ Meter text test 20% [=== ] 413 B/s | 2.0 kB 00:19 ETA - - Meter text test 40% [======- ] 731 B/s | 3.9 kB 00:08 ETA - --Meter text test | 3.9 kB 00:04 ... -+Meter text test | 4.4 kB 00:04 ... -diff --git a/tests/data/meter/meter2.txt b/tests/data/meter/meter2.txt -index 93e93dc31..7ccc31636 100644 ---- a/tests/data/meter/meter2.txt -+++ b/tests/data/meter/meter2.txt -@@ -9,4 +9,4 @@ Meter text test 20% [======= - - Meter text test 40% [============== ] 731 B/s | 3.9 kB 00:00:08 ETA - --Meter text test | 3.9 kB 00:00:04 ... -+Meter text test | 4.4 kB 00:00:04 ... -diff --git a/tests/data/meter/meter3.txt b/tests/data/meter/meter3.txt -index 474e40f74..6f66608fe 100644 ---- a/tests/data/meter/meter3.txt -+++ b/tests/data/meter/meter3.txt -@@ -4,4 +4,4 @@ Meter text test 67 B/s | 200 B 00:02 - Meter text test 413 B/s | 2.0 kB 00:03 - Meter text test 731 B/s | 3.9 kB 00:04 - --Meter text test | 3.9 kB 00:04 -+Meter text test | 4.4 kB 00:04 -diff --git a/tests/data/meter/meter5.txt b/tests/data/meter/meter5.txt -index 1d232a5de..7142a9718 100644 ---- a/tests/data/meter/meter5.txt -+++ b/tests/data/meter/meter5.txt -@@ -9,4 +9,4 @@ Meter text test 1000% [================] 413 B/s | 2.0 kB --:-- ETA - - Meter text test 2000% [================] 731 B/s | 3.9 kB --:-- ETA - --Meter text test | 3.9 kB 00:04 !!! -+Meter text test | 4.4 kB 00:04 !!! -diff --git a/tests/data/meter/meter6.txt b/tests/data/meter/meter6.txt -index 07d99bfd8..dd5d3d47b 100644 ---- a/tests/data/meter/meter6.txt -+++ b/tests/data/meter/meter6.txt -@@ -9,4 +9,4 @@ Meter text test 100% [================] 413 B/s | 2.0 kB --:-- ETA - - Meter text test 100% [================] 731 B/s | 3.9 kB --:-- ETA - --Meter text test | 3.9 kB 00:04 -+Meter text test | 4.4 kB 00:04 -diff --git a/tests/test_misc.py b/tests/test_misc.py -index aa610f4df..20f5a626b 100644 ---- a/tests/test_misc.py -+++ b/tests/test_misc.py -@@ -178,7 +178,9 @@ def test_misc_meter(): - m.update(2000) - with unittest.mock.patch("time.time", return_value=5.0): - m.update(4000) -- with unittest.mock.patch("time.time", return_value=6.0): -+ with unittest.mock.patch("time.time", return_value=5.1): -+ m.update(4500) -+ with unittest.mock.patch("time.time", return_value=5.5): - m.end() - - # Basic output testing -diff --git a/virtinst/_progresspriv.py b/virtinst/_progresspriv.py -index 5a31a18cc..a035c9c43 100644 ---- a/virtinst/_progresspriv.py -+++ b/virtinst/_progresspriv.py -@@ -112,10 +112,10 @@ class BaseMeter: - assert type(amount_read) is int - - now = time.time() -+ self.last_amount_read = amount_read -+ self.re.update(amount_read, now) - if (not self.last_update_time or - (now >= self.last_update_time + self.update_period)): -- self.re.update(amount_read, now) -- self.last_amount_read = amount_read - self.last_update_time = now - self._do_update(amount_read) - --- -2.45.1 diff --git a/virt-manager-spec-update-link-to-virt-manager-sources.patch b/virt-manager-spec-update-link-to-virt-manager-sources.patch new file mode 100644 index 0000000..fedf34f --- /dev/null +++ b/virt-manager-spec-update-link-to-virt-manager-sources.patch @@ -0,0 +1,28 @@ +From d399e1504f45aa02eb70347a038c1410890db9c4 Mon Sep 17 00:00:00 2001 +Message-ID: +From: Pavel Hrdina +Date: Fri, 29 Nov 2024 20:59:27 +0100 +Subject: [PATCH] spec: update link to virt-manager sources + +Signed-off-by: Pavel Hrdina +(cherry picked from commit b74730ebb6556dcbcc3b4e4993c79304c309cab4) +Signed-off-by: Pavel Hrdina +--- + virt-manager.spec.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/virt-manager.spec.in b/virt-manager.spec.in +index 353491111..0ffdf577c 100644 +--- a/virt-manager.spec.in ++++ b/virt-manager.spec.in +@@ -15,7 +15,7 @@ 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.xz ++Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz + + + Requires: virt-manager-common = %{verrel} +-- +2.47.0 diff --git a/virt-manager-tests-Add-more-cloud-init-and-TPM-test-cases.patch b/virt-manager-tests-Add-more-cloud-init-and-TPM-test-cases.patch deleted file mode 100644 index f58a434..0000000 --- a/virt-manager-tests-Add-more-cloud-init-and-TPM-test-cases.patch +++ /dev/null @@ -1,652 +0,0 @@ -From 1412f0b806af3723679bd7ca7c1dc17d7ed67b27 Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Tue, 12 Sep 2023 11:57:27 -0400 -Subject: [PATCH] tests: Add more cloud-init and TPM test cases - -Signed-off-by: Cole Robinson - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -(cherry picked from commit fca6de3950d41ccc1c4895c42073c840c45f01ab) -Signed-off-by: Jonathon Jongsma ---- - .../data/capabilities/kvm-aarch64-domcaps.xml | 14 ++ - .../virt-install-aarch64-cloud-init.xml | 136 ++++++++++++++++++ - ...t-install-aarch64-firmware-no-override.xml | 6 + - .../compare/virt-install-aarch64-kvm-gic.xml | 3 + - .../virt-install-aarch64-kvm-import.xml | 3 + - .../virt-install-cloud-init-default.xml | 127 +++++++++++----- - .../virt-install-cloud-init-options1.xml | 131 +++++++++++------ - tests/test_cli.py | 6 +- - 8 files changed, 346 insertions(+), 80 deletions(-) - create mode 100644 tests/data/cli/compare/virt-install-aarch64-cloud-init.xml - -diff --git a/tests/data/capabilities/kvm-aarch64-domcaps.xml b/tests/data/capabilities/kvm-aarch64-domcaps.xml -index 432bdb537..9c244bbdd 100644 ---- a/tests/data/capabilities/kvm-aarch64-domcaps.xml -+++ b/tests/data/capabilities/kvm-aarch64-domcaps.xml -@@ -62,6 +62,20 @@ - - - -+ -+ -+ tpm-tis -+ -+ -+ passthrough -+ emulator -+ external -+ -+ -+ 1.2 -+ 2.0 -+ -+ - - - -diff --git a/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml b/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml -new file mode 100644 -index 000000000..e4a50cf4c ---- /dev/null -+++ b/tests/data/cli/compare/virt-install-aarch64-cloud-init.xml -@@ -0,0 +1,136 @@ -+ -+ fedora28 -+ 00000000-1111-2222-3333-444444444444 -+ -+ -+ -+ -+ -+ 65536 -+ 65536 -+ 2 -+ -+ hvm -+ /usr/share/AAVMF/AAVMF_CODE.fd -+ -+ -+ -+ -+ -+ /usr/bin/qemu-system-aarch64 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ /dev/urandom -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ ds=nocloud -+ -+ -+ destroy -+ -+ -+ fedora28 -+ 00000000-1111-2222-3333-444444444444 -+ -+ -+ -+ -+ -+ 65536 -+ 65536 -+ 2 -+ -+ hvm -+ /usr/share/AAVMF/AAVMF_CODE.fd -+ -+ -+ -+ -+ -+ /usr/bin/qemu-system-aarch64 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ /dev/urandom -+ -+ -+ -+ -+ -+ -+ -diff --git a/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml b/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml -index b6fe84e67..cef9e6cde 100644 ---- a/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml -+++ b/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml -@@ -43,6 +43,9 @@ - - - -+ -+ -+ - - - /dev/urandom -@@ -95,6 +98,9 @@ - - - -+ -+ -+ - - - /dev/urandom -diff --git a/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml b/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml -index 92e17eda6..aa31ed9c1 100644 ---- a/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml -+++ b/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml -@@ -56,6 +56,9 @@ - - - -+ -+ -+ - - - /dev/urandom -diff --git a/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml b/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml -index 5203cb807..1e4b26e51 100644 ---- a/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml -+++ b/tests/data/cli/compare/virt-install-aarch64-kvm-import.xml -@@ -51,6 +51,9 @@ - - - -+ -+ -+ - - - destroy - -- -+ - fedora28 - 00000000-1111-2222-3333-444444444444 - -@@ -67,40 +93,65 @@ - 65536 - 2 - -- hvm -+ hvm - - - -- -+ -+ - -- -+ -+ -+ -+ -+ -+ - - - - - -- /usr/bin/test-hv -+ /usr/bin/qemu-system-x86_64 - -+ - -- -+ - -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - -- -+ - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ /dev/urandom -+ - -- -+ - - - -diff --git a/tests/data/cli/compare/virt-install-cloud-init-options1.xml b/tests/data/cli/compare/virt-install-cloud-init-options1.xml -index 1df73714d..cd5426049 100644 ---- a/tests/data/cli/compare/virt-install-cloud-init-options1.xml -+++ b/tests/data/cli/compare/virt-install-cloud-init-options1.xml -@@ -4,7 +4,7 @@ chpasswd: - root:[SCRUBBLED] - expire: True - -- -+ - fedora28 - 00000000-1111-2222-3333-444444444444 - -@@ -20,48 +20,74 @@ chpasswd: - foobar - - -- -- hvm -+ -+ hvm - - - -- -+ -+ - -- -+ -+ -+ -+ -+ -+ - - - - - -- /usr/bin/test-hv -+ /usr/bin/qemu-system-x86_64 - -+ - -- -+ - -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - -- -+ - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ /dev/urandom -+ - -+ - -- -+ - - - - destroy - -- -+ - fedora28 - 00000000-1111-2222-3333-444444444444 - -@@ -77,42 +103,67 @@ chpasswd: - foobar - - -- -- hvm -+ -+ hvm - - - - -- -+ -+ - -- -+ -+ -+ -+ -+ -+ - - - - - -- /usr/bin/test-hv -+ /usr/bin/qemu-system-x86_64 - -+ - -- -+ - -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - -- -+ - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ /dev/urandom -+ - -- -+ - - - -diff --git a/tests/test_cli.py b/tests/test_cli.py -index ca8d2340a..c3f7ab2ba 100644 ---- a/tests/test_cli.py -+++ b/tests/test_cli.py -@@ -1017,8 +1017,9 @@ c = vinst.add_category("misc-install", "--nographics --noautoconsole") - c.add_compare("--connect %s --os-variant generic" % (utils.URIs.test_suite), "noargs-fail", use_default_args=False) # No arguments - c.add_compare("--connect %s --os-variant fedora26" % (utils.URIs.test_suite), "osvariant-noargs-fail", use_default_args=False) # No arguments - c.add_compare("--connect %s --os-variant fedora26 --pxe --print-xml" % (utils.URIs.test_suite), "osvariant-defaults-pxe", use_default_args=False) # No arguments --c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init", "cloud-init-default", env={"VIRTINST_TEST_SUITE_CLOUDINIT": "1"}) # default --cloud-init behavior is root-password-generate=yes,disable=yes --c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password-generate=yes,disable=no --sysinfo system.serial=foobar", "cloud-init-options1", env={"VIRTINST_TEST_SUITE_PRINT_CLOUDINIT": "1"}) # --cloud-init root-password-generate, with --sysinfo override -+c.add_valid("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init", env={"VIRTINST_TEST_SUITE_CLOUDINIT": "1"}) # default --cloud-init, but without implied --print-xml, to hit some specific code paths -+c.add_compare("--connect %(URI-KVM-X86)s --disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init --tpm default", "cloud-init-default", env={"VIRTINST_TEST_SUITE_CLOUDINIT": "1"}) # default --cloud-init behavior is root-password-generate=yes,disable=yes, forcing tpm -+c.add_compare("--connect %(URI-KVM-X86)s --disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password-generate=yes,disable=no --sysinfo system.serial=foobar --boot uefi", "cloud-init-options1", env={"VIRTINST_TEST_SUITE_PRINT_CLOUDINIT": "1"}) # --cloud-init root-password-generate, with --sysinfo override, with uefi - c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init root-password-file=%(ADMIN-PASSWORD-FILE)s,root-ssh-key=%(XMLDIR)s/cloudinit/ssh-key.txt,clouduser-ssh-key=%(XMLDIR)s/cloudinit/ssh-key2.txt --boot smbios.mode=none", "cloud-init-options2", env={"VIRTINST_TEST_SUITE_PRINT_CLOUDINIT": "1"}) # --cloud-init root-password-file with smbios.mode override - c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init ssh-key=%(XMLDIR)s/cloudinit/ssh-key.txt", "cloud-init-options3", env={"VIRTINST_TEST_SUITE_PRINT_CLOUDINIT": "1"}) # --cloud-init ssh-key - c.add_compare("--disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init user-data=%(XMLDIR)s/cloudinit/user-data.txt,meta-data=%(XMLDIR)s/cloudinit/meta-data.txt", "cloud-init-options4", env={"VIRTINST_TEST_SUITE_PRINT_CLOUDINIT": "1"}) # --cloud-init user-data=,meta-data= -@@ -1177,6 +1178,7 @@ c.add_compare("--arch aarch64 --cdrom %(ISO-F26-NETINST)s --boot loader=CODE.fd, - c.add_compare("--connect %(URI-KVM-AARCH64)s --disk %(EXISTIMG1)s --import --os-variant fedora21 --panic default --graphics vnc", "aarch64-kvm-import") # --import test, but also test --panic no-op, and --graphics - c.add_compare("--connect %(URI-KVM-AARCH64)s --disk size=1 --os-variant fedora22 --features gic_version=host --network network=default,address.type=pci --controller type=scsi,model=virtio-scsi,address.type=pci", "aarch64-kvm-gic") - c.add_compare("--connect %(URI-KVM-AARCH64)s --osinfo fedora30 --arch aarch64 --disk none --pxe --boot firmware=efi", "aarch64-firmware-no-override") -+c.add_compare("--connect %(URI-KVM-AARCH64)s --disk %(EXISTIMG1)s --os-variant fedora28 --cloud-init", "aarch64-cloud-init") - - - --- -2.45.1 diff --git a/virt-manager-virt-install-Document-Secure-Boot-setups.patch b/virt-manager-virt-install-Document-Secure-Boot-setups.patch deleted file mode 100644 index 2ed7704..0000000 --- a/virt-manager-virt-install-Document-Secure-Boot-setups.patch +++ /dev/null @@ -1,61 +0,0 @@ -From a06231642804318239f07fd7e379da666190a6e6 Mon Sep 17 00:00:00 2001 -From: Andrea Bolognani -Date: Mon, 12 Dec 2022 19:38:22 +0100 -Subject: [PATCH] virt-install: Document Secure Boot setups - -Provide ready to use recipes for explicitly enabling and -explicitly disabling Secure Boot, as well as a pointer to -the more extensive information found on the libvirt website. - -Setting loader_secure=yes is only one part of a proper Secure -Boot setup, so stop documenting it in the section about manual -firmware selection to avoid confusion. - -https://bugzilla.redhat.com/show_bug.cgi?id=2112154 -https://bugzilla.redhat.com/show_bug.cgi?id=2149971 - -Signed-off-by: Andrea Bolognani -(cherry picked from commit 33ff193ee9fcfdb74f95d946a1b93239a1a12a61) - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -Signed-off-by: Jonathon Jongsma ---- - man/virt-install.rst | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -diff --git a/man/virt-install.rst b/man/virt-install.rst -index 684f22655..a0df73280 100644 ---- a/man/virt-install.rst -+++ b/man/virt-install.rst -@@ -957,13 +957,26 @@ Some examples: - via domcapabilities XML, so this will likely only work if using properly - configured distro packages. This is the recommended UEFI setup. - -+``--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=yes,firmware.feature1.name=enrolled-keys,firmware.feature1.enabled=yes`` -+ Configure the VM to boot from UEFI with Secure Boot support enabled. -+ Only signed operating systems will be able to boot with this configuration. -+ -+``--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no`` -+ Configure the VM to boot from UEFI with Secure Boot support disabled. -+ This configuration allows both signed and unsigned operating systems to -+ run. -+ -+ Additional information about the ``secure-boot`` and -+ ``enrolled-keys`` firmware features and how they can be used to -+ influence firmware selection is available at -+ https://libvirt.org/kbase/secureboot.html -+ - ``--boot loader=/.../OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/.../OVMF_VARS.fd,loader_secure=no`` - Specify that the virtual machine use the custom OVMF binary as boot firmware, - mapped as a virtual flash chip. In addition, request that libvirt instantiate - the VM-specific UEFI varstore from the custom "/.../OVMF_VARS.fd" varstore - template. This setup is not recommended, and should only be used if -- --boot uefi doesn't know about your UEFI binaries. If your UEFI firmware -- supports Secure boot feature you can enable it via loader_secure. -+ --boot uefi doesn't know about your UEFI binaries. - - Use --boot=? to see a list of all available sub options. - Complete details at https://libvirt.org/formatdomain.html#elementsOS --- -2.45.1 diff --git a/virt-manager-virt-install-Recommend-boot-uefi.patch b/virt-manager-virt-install-Recommend-boot-uefi.patch deleted file mode 100644 index 2a11b7f..0000000 --- a/virt-manager-virt-install-Recommend-boot-uefi.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a3a321b92e3eedf9ef7974c3344429ce0798d104 Mon Sep 17 00:00:00 2001 -From: Andrea Bolognani -Date: Mon, 12 Dec 2022 19:32:32 +0100 -Subject: [PATCH] virt-install: Recommend '--boot uefi' - -Firmware autoselection is the way to go in most cases, so -recommend that instead of telling users that they should provide -all information manually. - -Signed-off-by: Andrea Bolognani -(cherry picked from commit f2b5aaf458764ec7ecf105038e5f2f7cc26b6c17) - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -Signed-off-by: Jonathon Jongsma ---- - man/virt-install.rst | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/man/virt-install.rst b/man/virt-install.rst -index 3a6e8dcd2..684f22655 100644 ---- a/man/virt-install.rst -+++ b/man/virt-install.rst -@@ -955,13 +955,13 @@ Some examples: - Configure the VM to boot from UEFI. In order for virt-install to know the - correct UEFI parameters, libvirt needs to be advertising known UEFI binaries - via domcapabilities XML, so this will likely only work if using properly -- configured distro packages. -+ configured distro packages. This is the recommended UEFI setup. - - ``--boot loader=/.../OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/.../OVMF_VARS.fd,loader_secure=no`` - Specify that the virtual machine use the custom OVMF binary as boot firmware, - mapped as a virtual flash chip. In addition, request that libvirt instantiate - the VM-specific UEFI varstore from the custom "/.../OVMF_VARS.fd" varstore -- template. This is the recommended UEFI setup, and should be used if -+ template. This setup is not recommended, and should only be used if - --boot uefi doesn't know about your UEFI binaries. If your UEFI firmware - supports Secure boot feature you can enable it via loader_secure. - --- -2.45.1 diff --git a/virt-manager-virtinstall-Fix-the-allocating-disk-size-printed-by-the-progress-bar.patch b/virt-manager-virtinstall-Fix-the-allocating-disk-size-printed-by-the-progress-bar.patch deleted file mode 100644 index 4bf23c2..0000000 --- a/virt-manager-virtinstall-Fix-the-allocating-disk-size-printed-by-the-progress-bar.patch +++ /dev/null @@ -1,38 +0,0 @@ -From caf6664f3f551c4bded28e29e11272a575c9e46d Mon Sep 17 00:00:00 2001 -From: Toshiki Sonoda -Date: Wed, 9 Nov 2022 18:33:56 +0900 -Subject: [PATCH] virtinstall: Fix the allocating disk size printed by the - progress bar - -When a sparse file is created during a disk allocation, -virt-install prints not the created disk size but a sparse file size. - -Therefore, we fix to print the created disk size during disk allocation -instead of the size of the sparse file by updating the meter with the -self.capacity. - -Signed-off-by: Toshiki Sonoda -Signed-off-by: Haruka Ohata -(cherry picked from commit 39c7a443146433766e4e71e48ab59145c74924b3) - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -Signed-off-by: Jonathon Jongsma ---- - virtinst/storage.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/virtinst/storage.py b/virtinst/storage.py -index 509f5cb06..617b05e0d 100644 ---- a/virtinst/storage.py -+++ b/virtinst/storage.py -@@ -697,6 +697,7 @@ class StorageVolume(_StorageObject): - log.debug("Using vol create flags=%s", createflags) - vol = self.pool.createXML(xml, createflags) - -+ meter.update(self.capacity) - meter.end() - log.debug("Storage volume '%s' install complete.", self.name) - return vol --- -2.45.1 diff --git a/virt-manager-virtinstall-Hide-total_size-in-the-progress-bar-if-it-doesn-t-need.patch b/virt-manager-virtinstall-Hide-total_size-in-the-progress-bar-if-it-doesn-t-need.patch deleted file mode 100644 index a217505..0000000 --- a/virt-manager-virtinstall-Hide-total_size-in-the-progress-bar-if-it-doesn-t-need.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 5452a6f30d7669354aaee39fba596783fb2d27dc Mon Sep 17 00:00:00 2001 -From: Toshiki Sonoda -Date: Wed, 9 Nov 2022 18:33:57 +0900 -Subject: [PATCH] virtinstall: Hide total_size in the progress bar if it - doesn't need - -virt-install prints the total_size value to the progress bar even if it -is meaningless. -This value can be confusing to user, so for execute prosess that doesn't -copy files (total_size = 0B), we hide the total_size value. -For example, 'Creating domain...' doesn't need to print the total_size -value. - -Signed-off-by: Toshiki Sonoda -Signed-off-by: Haruka Ohata -(cherry picked from commit 6ec00474a659158f20248d6af3771d1a12ddac7b) - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -Signed-off-by: Jonathon Jongsma ---- - tests/data/meter/meter-zero.txt | 4 ++++ - tests/test_misc.py | 14 ++++++++++++++ - virtinst/_progresspriv.py | 8 ++++++-- - 3 files changed, 24 insertions(+), 2 deletions(-) - create mode 100644 tests/data/meter/meter-zero.txt - -diff --git a/tests/data/meter/meter-zero.txt b/tests/data/meter/meter-zero.txt -new file mode 100644 -index 000000000..fc81f21fd ---- /dev/null -+++ b/tests/data/meter/meter-zero.txt -@@ -0,0 +1,4 @@ -+ -+Meter text test 100% [================] 0 B/s | 0 B --:-- ETA -+ -+Meter text test | 00:02 -diff --git a/tests/test_misc.py b/tests/test_misc.py -index 20f5a626b..2cabc3382 100644 ---- a/tests/test_misc.py -+++ b/tests/test_misc.py -@@ -224,6 +224,20 @@ def test_misc_meter(): - out = meter.output.getvalue().replace("\r", "\n") - utils.diff_compare(out, os.path.join(utils.DATADIR, "meter", "meter6.txt")) - -+ def _test_meter_zero(m, startval=0, text="Meter text test"): -+ with unittest.mock.patch("time.time", return_value=1.0): -+ m.start(text, startval) -+ with unittest.mock.patch("time.time", return_value=3.0): -+ m.update(0) -+ with unittest.mock.patch("time.time", return_value=3.1): -+ m.end() -+ -+ # meter with size 0 and startval size 0 -+ meter = _progresspriv.TextMeter(output=io.StringIO()) -+ _test_meter_zero(meter, 0) -+ out = meter.output.getvalue().replace("\r", "\n") -+ utils.diff_compare(out, os.path.join(utils.DATADIR, "meter", "meter-zero.txt")) -+ - # BaseMeter coverage - meter = _progresspriv.BaseMeter() - _test_meter_values(meter) -diff --git a/virtinst/_progresspriv.py b/virtinst/_progresspriv.py -index a035c9c43..207c64796 100644 ---- a/virtinst/_progresspriv.py -+++ b/virtinst/_progresspriv.py -@@ -247,11 +247,15 @@ class TextMeter(BaseMeter): - tl = TerminalLine(8) - # For big screens, make it more readable. - use_hours = bool(tl.llen > 80) -- ui_size = tl.add(' | %5sB' % total_size) - ui_time = tl.add(' %s' % format_time(self.re.elapsed_time(), - use_hours)) - ui_end, not_done = _term_add_end(tl, self.size, amount_read) -- dummy = not_done -+ if not not_done and amount_read == 0: -+ # Doesn't need to print total_size -+ ui_size = tl.add(' | %5s ' % ' ') -+ else: -+ ui_size = tl.add(' | %5sB' % total_size) -+ - out = '\r%-*.*s%s%s%s\n' % (tl.rest(), tl.rest(), self.text, - ui_size, ui_time, ui_end) - self.output.write(out) --- -2.45.1 diff --git a/virt-manager-virtinstall-fix-regression-with-boot-and-no-install-method.patch b/virt-manager-virtinstall-fix-regression-with-boot-and-no-install-method.patch deleted file mode 100644 index f0055d7..0000000 --- a/virt-manager-virtinstall-fix-regression-with-boot-and-no-install-method.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f542adfd620f7c1fa5f4a14b75caca030dc955fc Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Sat, 20 Aug 2022 09:54:01 -0400 -Subject: [PATCH] virtinstall: fix regression with --boot and no install method - -Anything passed to --boot should imply --install no_install=yes -in the absence of other --install options. This is historically -what we've done but we regressed in 4.1.0 - -Resolves: https://github.com/virt-manager/virt-manager/issues/426 - -Signed-off-by: Cole Robinson - -Resolves: https://issues.redhat.com/browse/RHEL-34608 - -(cherry picked from commit e94786c066696781a821f5a4bcef3c377e4bc5e5) -Signed-off-by: Jonathon Jongsma ---- - tests/test_cli.py | 1 + - virtinst/virtinstall.py | 3 ++- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/tests/test_cli.py b/tests/test_cli.py -index 774db098f..ca8d2340a 100644 ---- a/tests/test_cli.py -+++ b/tests/test_cli.py -@@ -966,6 +966,7 @@ c.add_valid("--os-variant generic --pxe --ram 16", grep="Requested memory 16 MiB - c.add_valid("--os-variant winxp --ram 32 --cdrom %(EXISTIMG1)s", grep="32 MiB is less than the recommended 64 MiB") # Windows. Catch memory warning - c.add_valid("--osinfo generic --pxe --autostart") # --autostart flag - c.add_valid("--cdrom %(EXISTIMG2)s --os-variant win2k3 --print-step 2") # HVM windows install, print 3rd stage XML -+c.add_valid("--memory 512 --osinfo generic --boot cdrom") # --boot XXX should imply --install no_install - c.add_compare("--location location=%(TREEDIR)s --initrd-inject virt-install --extra-args ks=file:/virt-install", "initrd-inject") # initrd-inject - c.add_compare("--cdrom http://example.com/path/to/some.iso --os-variant detect=yes,require=no", "cdrom-url") - c.add_compare("--pxe --print-step all --os-variant none", "simple-pxe") # Diskless PXE install -diff --git a/virtinst/virtinstall.py b/virtinst/virtinstall.py -index 6d7f56b8d..20b901813 100644 ---- a/virtinst/virtinstall.py -+++ b/virtinst/virtinstall.py -@@ -431,7 +431,7 @@ def build_installer(options, guest, installdata): - pass - elif (options.import_install or - options.xmlonly or -- options.boot or -+ options.boot_was_set or - options.cloud_init or - options.unattended): - no_install = True -@@ -641,6 +641,7 @@ def _build_options_guest(conn, options): - def build_guest_instance(conn, options): - installdata = cli.parse_install(options.install) - osdata = cli.parse_os_variant(options.os_variant or installdata.os) -+ options.boot_was_set = bool(options.boot) - - if options.reinstall: - dummy1, guest, dummy2 = cli.get_domain_and_guest(conn, options.reinstall) --- -2.45.1 diff --git a/virt-manager-xmleditor-make-gtksourceview-optional.patch b/virt-manager-xmleditor-make-gtksourceview-optional.patch deleted file mode 100644 index 7c11a7f..0000000 --- a/virt-manager-xmleditor-make-gtksourceview-optional.patch +++ /dev/null @@ -1,79 +0,0 @@ -From e45db8eaa53134b0b5266d25ad58f0760af777b0 Mon Sep 17 00:00:00 2001 -From: Jonathon Jongsma -Date: Thu, 16 May 2024 11:05:23 -0500 -Subject: [PATCH] xmleditor: make gtksourceview optional - -The only thing that GtkSourceView gives us is syntax highlighting and -auto-indent. When this library is not available, we can still offer xml -editing with a plain textview with very little lost functionality. - -Resolves: https://issues.redhat.com/browse/RHEL-35859 - -Signed-off-by: Jonathon Jongsma ---- - virt-manager.spec | 7 ++++--- - virtManager/xmleditor.py | 34 ++++++++++++++++++++++++---------- - 2 files changed, 28 insertions(+), 13 deletions(-) - -diff --git a/virtManager/xmleditor.py b/virtManager/xmleditor.py -index 40d4c424e..8be317cc9 100644 ---- a/virtManager/xmleditor.py -+++ b/virtManager/xmleditor.py -@@ -7,13 +7,24 @@ import gi - from virtinst import log - - # We can use either gtksourceview3 or gtksourceview4 -+have_gtksourceview = True - try: - gi.require_version("GtkSource", "4") - log.debug("Using GtkSource 4") - except ValueError: # pragma: no cover -- gi.require_version("GtkSource", "3.0") -- log.debug("Using GtkSource 3.0") --from gi.repository import GtkSource -+ try: -+ gi.require_version("GtkSource", "3.0") -+ log.debug("Using GtkSource 3.0") -+ except: -+ log.debug("Not using GtkSource") -+ have_gtksourceview = False -+ -+if have_gtksourceview: -+ from gi.repository import GtkSource -+else: -+ # if GtkSourceView is not available, just use a plain TextView. This will -+ # only disable auto-indent and syntax highlighting. -+ from gi.repository import Gtk - - from .lib import uiutil - from .baseclass import vmmGObjectUI -@@ -66,17 +77,20 @@ class vmmXMLEditor(vmmGObjectUI): - not enabled) - - def _init_ui(self): -- self._srcview = GtkSource.View() -- self._srcbuff = self._srcview.get_buffer() -- -- lang = GtkSource.LanguageManager.get_default().get_language("xml") -- self._srcbuff.set_language(lang) -+ if have_gtksourceview: -+ self._srcview = GtkSource.View() -+ self._srcbuff = self._srcview.get_buffer() -+ self._srcview.set_auto_indent(True) -+ lang = GtkSource.LanguageManager.get_default().get_language("xml") -+ self._srcbuff.set_language(lang) -+ self._srcbuff.set_highlight_syntax(True) -+ else: -+ self._srcview = Gtk.TextView() -+ self._srcbuff = self._srcview.get_buffer() - - self._srcview.set_monospace(True) -- self._srcview.set_auto_indent(True) - self._srcview.get_accessible().set_name("XML editor") - -- self._srcbuff.set_highlight_syntax(True) - self._srcbuff.connect("changed", self._buffer_changed_cb) - - self.widget("xml-notebook").connect("switch-page", --- -2.45.1 diff --git a/virt-manager.spec b/virt-manager.spec index bf0e47e..b876bf0 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -7,26 +7,19 @@ # End local config Name: virt-manager -Version: 4.1.0 -Release: 8%{?dist}%{?extra_release} +Version: 5.0.0 +Release: 1%{?dist}%{?extra_release} %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 -Patch1: virt-manager-cloner-Sync-uuid-and-sysinfo-system-uuid.patch -Patch2: virt-manager-virtinstall-fix-regression-with-boot-and-no-install-method.patch -Patch3: virt-manager-progress-Fix-showing-correct-final-total.patch -Patch4: virt-manager-virtinstall-Fix-the-allocating-disk-size-printed-by-the-progress-bar.patch -Patch5: virt-manager-virtinstall-Hide-total_size-in-the-progress-bar-if-it-doesn-t-need.patch -Patch6: virt-manager-virt-install-Recommend-boot-uefi.patch -Patch7: virt-manager-virt-install-Document-Secure-Boot-setups.patch -Patch8: virt-manager-tests-Add-more-cloud-init-and-TPM-test-cases.patch -Patch9: virt-manager-installer-drop-default-TPM-for-cloud-init-install-phase.patch -Patch10: virt-manager-xmleditor-make-gtksourceview-optional.patch +Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz +Source1: symlinks +Patch1: virt-manager-Downstream-changes-to-RPM-spec-file.patch +Patch2: virt-manager-spec-update-link-to-virt-manager-sources.patch Requires: virt-manager-common = %{verrel} @@ -67,7 +60,7 @@ BuildRequires: git BuildRequires: gettext BuildRequires: python3-devel BuildRequires: python3-docutils -BuildRequires: python3-setuptools +BuildRequires: meson %description @@ -116,28 +109,38 @@ machine). %prep %autosetup -S git_am -N +# "make dist" replaces all symlinks with a copy of the linked files; +# we need to replace all of them with the original symlinks +echo "Restoring symlinks" +while read lnk target; do + if [ -e $lnk ]; then + rm -rf $lnk + ln -s $target $lnk + fi +done <%{_sourcedir}/symlinks || exit 1 +git add . +git commit -q -a --allow-empty --author 'rpm-build ' -m symlinks + + %autopatch - %build -%if %{default_hvs} -%global _default_hvs --default-hvs %{default_hvs} -%endif - %if 0%{?rhel} -%global _default_graphics --default-graphics=vnc +%global _default_graphics -Ddefault-graphics=vnc %endif -./setup.py configure \ - %{?_default_hvs} \ - %{?_default_graphics} - +%meson \ + -Ddefault-hvs=%{default_hvs} \ + %{?_default_graphics} \ + -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} +%meson_install + %find_lang %{name} %if 0%{?py_byte_compile:1} @@ -186,6 +189,12 @@ machine). %changelog +* Mon Dec 2 2024 Pavel Hrdina - 5.0.0-1 +- Rebased to virt-manager-5.0.0 (RHEL-46783) +- The rebase also fixes the following bugs: + RHEL-50653, RHEL-65105, RHEL-62960, RHEL-46282, RHEL-65371 + RHEL-65189, RHEL-66768 + * Tue Oct 29 2024 Troy Dawson - 4.1.0-8 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018