diff --git a/033e9702-xmleditor-Handle-gtksourceview3-as-well-as-gtksourceview4.patch b/033e9702-xmleditor-Handle-gtksourceview3-as-well-as-gtksourceview4.patch deleted file mode 100644 index eee2351d..00000000 --- a/033e9702-xmleditor-Handle-gtksourceview3-as-well-as-gtksourceview4.patch +++ /dev/null @@ -1,36 +0,0 @@ -Subject: xmleditor: Handle gtksourceview3 as well as gtksourceview4 -From: Cole Robinson crobinso@redhat.com Tue Jun 18 09:46:05 2019 -0400 -Date: Tue Jun 18 09:54:58 2019 -0400: -Git: 033e97021e6654c9859776dedd9cd0504973f1d6 - -API differences don't seem to affect our usage - -Subject: xmleditor: Fix the gtksource version checking -From: Cole Robinson crobinso@redhat.com Tue Jun 18 10:39:15 2019 -0400 -Date: Tue Jun 18 10:50:49 2019 -0400: -Git: 267f226134afb9dfef9091e3da5647441aebabbf - -Previous commit was incomplete - ---- virt-manager-2.2.0/virtManager/xmleditor.py.orig 2019-06-18 15:40:59.439412915 -0600 -+++ virt-manager-2.2.0/virtManager/xmleditor.py 2019-06-18 15:41:15.374797732 -0600 -@@ -1,9 +1,18 @@ - # This work is licensed under the GNU GPLv2 or later. - # See the COPYING file in the top-level directory. - -+# pylint: disable=wrong-import-order,ungrouped-imports - import gi - --gi.require_version('GtkSource', '4') -+from virtinst import log -+ -+# We can use either gtksourceview3 or gtksourceview4 -+try: -+ gi.require_version("GtkSource", "4") -+ log.debug("Using GtkSource 4") -+except ValueError: -+ gi.require_version("GtkSource", "3.0") -+ log.debug("Using GtkSource 3.0") - from gi.repository import GtkSource - - from .lib import uiutil diff --git a/51d28f04-unattended-Dont-log-user-admin-passwords.patch b/51d28f04-unattended-Dont-log-user-admin-passwords.patch deleted file mode 100644 index 5769f4ef..00000000 --- a/51d28f04-unattended-Dont-log-user-admin-passwords.patch +++ /dev/null @@ -1,70 +0,0 @@ -Subject: unattended: Don't log user & admin passwords -From: Fabiano Fidêncio fidencio@redhat.com Wed Jul 3 16:01:29 2019 +0200 -Date: Wed Jul 3 13:25:26 2019 -0400: -Git: 51d28f042bcc746444ff017349c1f4cb1301bea5 - -Logging user & admin passwords in the command-line is a security issue, -let's avoid doing so by: -- Not printing the values set by the user when setting up the -install-script config file; -- Removing the values used in the install-scripts, when printing their -content; - -'CVE-2019-10183' has been assigned to the virt-install --unattended -admin-password=xxx disclosure issue. - -Reviewed-by: Cole Robinson -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtinst/install/unattended.py b/virtinst/install/unattended.py -index b01c4d6c..d7ff59a2 100644 ---- a/virtinst/install/unattended.py -+++ b/virtinst/install/unattended.py -@@ -97,8 +97,6 @@ def _make_installconfig(script, osobj, unattended_data, arch, hostname, url): - log.debug("InstallScriptConfig created with the following params:") - log.debug("username: %s", config.get_user_login()) - log.debug("realname: %s", config.get_user_realname()) -- log.debug("user password: %s", config.get_user_password()) -- log.debug("admin password: %s", config.get_admin_password()) - log.debug("target disk: %s", config.get_target_disk()) - log.debug("hardware arch: %s", config.get_hardware_arch()) - log.debug("hostname: %s", config.get_hostname()) -@@ -187,6 +185,26 @@ class OSInstallScript: - return self._script.generate_command_line( - self._osobj.get_handle(), self._config) - -+ def _generate_debug(self): -+ config = Libosinfo.InstallConfig() -+ -+ config.set_user_login(self._config.get_user_login()) -+ config.set_user_realname(self._config.get_user_realname()) -+ config.set_user_password("[SCRUBBLED]") -+ config.set_admin_password("[SCRUBBLED]") -+ config.set_target_disk(self._config.get_target_disk()) -+ config.set_hardware_arch(self._config.get_hardware_arch()) -+ config.set_hostname(self._config.get_hostname()) -+ config.set_l10n_timezone(self._config.get_l10n_timezone()) -+ config.set_l10n_language(self._config.get_l10n_language()) -+ config.set_l10n_keyboard(self._config.get_l10n_keyboard()) -+ if self._config.get_installation_url(): # pylint: disable=no-member -+ config.set_installation_url(self._config.get_installation_url()) # pylint: disable=no-member -+ if self._config.get_reg_product_key(): -+ config.set_reg_product_key(self._config.get_reg_product_key()) -+ -+ return self._script.generate(self._osobj.get_handle(), config) -+ - def write(self): - fileobj = tempfile.NamedTemporaryFile( - prefix="virtinst-unattended-script", delete=False) -@@ -195,8 +213,10 @@ class OSInstallScript: - content = self.generate() - open(scriptpath, "w").write(content) - -+ debug_content = self._generate_debug() -+ - log.debug("Generated unattended script: %s", scriptpath) -- log.debug("Generated script contents:\n%s", content) -+ log.debug("Generated script contents:\n%s", debug_content) - - return scriptpath - diff --git a/5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch b/5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch deleted file mode 100644 index f2ea927e..00000000 --- a/5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch +++ /dev/null @@ -1,54 +0,0 @@ -Subject: virt-install: Revive --wait 0 as alias for --noautoconsole -From: Cole Robinson crobinso@redhat.com Tue Jul 2 15:39:51 2019 -0400 -Date: Wed Jul 3 13:12:19 2019 -0400: -Git: 5312a9611b61801d4a62d1959e65cf8d50c38eb1 - -This was the behavior prior to last release, and we received -a bug report about it. Revive it, but warn about the recommended way -to do it - -https://bugzilla.redhat.com/show_bug.cgi?id=1724287 - -Index: virt-manager-2.2.0/tests/clitest.py -=================================================================== ---- virt-manager-2.2.0.orig/tests/clitest.py -+++ virt-manager-2.2.0/tests/clitest.py -@@ -841,10 +841,10 @@ c.add_valid("--hvm --install no_install= - c.add_valid("--hvm --import --prompt --force") # Working scenario w/ prompt shouldn't ask anything - c.add_valid("--paravirt --import") # PV Import install - c.add_valid("--paravirt --print-xml 1") # print single XML, implied import install -+c.add_valid("--hvm --import --wait 0", grep="Treating --wait 0 as --noautoconsole") # --wait 0 is the same as --noautoconsole - c.add_compare("-c %(EXISTIMG2)s --os-variant win2k3 --vcpus cores=4 --controller usb,model=none", "w2k3-cdrom") # HVM windows install with disk - c.add_compare("--connect %(URI-KVM)s --install fedora26 --disk size=20", "osinfo-url-with-disk") # filling in defaults, but with disk specified - c.add_invalid("--hvm --import --wait 2", grep="exceeded specified time limit") # --wait positive number, but test suite hack --c.add_invalid("--hvm --import --wait 0", grep="exceeded specified time limit") # --wait 0, but test suite hack - c.add_invalid("--hvm --import --wait -1", grep="exceeded specified time limit") # --wait -1, but test suite hack - c.add_invalid("--hvm --import --wait", grep="exceeded specified time limit") # --wait aka --wait -1, but test suite hack - c.add_invalid("--connect test:///default --name foo --ram 64 --disk none --sdl --hvm --import", use_default_args=False, grep="exceeded specified time limit") # --sdl doesn't have a console callback, triggers implicit --wait -1 -Index: virt-manager-2.2.0/virt-install -=================================================================== ---- virt-manager-2.2.0.orig/virt-install -+++ virt-manager-2.2.0/virt-install -@@ -258,6 +258,14 @@ def convert_old_features(options): - options.features = [",".join(opts)] - - -+def convert_wait_zero(options): -+ # Historical back compat, --wait 0 is identical to --noautoconsole -+ if options.wait == 0: -+ log.warning("Treating --wait 0 as --noautoconsole") -+ options.autoconsole = False -+ options.wait = None -+ -+ - ################################## - # Install media setup/validation # - ################################## -@@ -972,6 +980,7 @@ def main(conn=None): - convert_old_features(options) - convert_old_cpuset(options) - convert_old_init(options) -+ convert_wait_zero(options) - set_test_stub_options(options) - convert_old_os_options(options) - diff --git a/58c68764-unattended-Read-the-passwords-from-a-file.patch b/58c68764-unattended-Read-the-passwords-from-a-file.patch deleted file mode 100644 index 02a485d0..00000000 --- a/58c68764-unattended-Read-the-passwords-from-a-file.patch +++ /dev/null @@ -1,187 +0,0 @@ -Subject: unattended: Read the passwords from a file -From: Fabiano Fidêncio fidencio@redhat.com Wed Jul 3 16:01:28 2019 +0200 -Date: Wed Jul 3 13:25:26 2019 -0400: -Git: 58c68764505acd3eedae6d72e6a15493a18029db - -Let's not expose the user/root password in the CLI and, instead, let's -rely on a file passed by the admin and read the password from there. - -'CVE-2019-10183' has been assigned to the virt-install --unattended -admin-password=xxx disclosure issue. - -Reviewed-by: Cole Robinson -Signed-off-by: Fabiano Fidêncio - -Index: virt-manager-2.2.0/man/virt-install.pod -=================================================================== ---- virt-manager-2.2.0.orig/man/virt-install.pod -+++ virt-manager-2.2.0/man/virt-install.pod -@@ -612,13 +612,23 @@ Choose which libosinfo unattended profil - a 'desktop' and a 'jeos' profile. virt-install will default to 'desktop' - if this is unspecified. - --=item B -+=item B - --Set the VM OS admin/root password -- --=item B -- --Set the VM user password. The username is your current host username -+A file used to set the VM OS admin/root password from. This option can -+be used either as "admin-password-file=/path/to/password-file" or as -+"admin-password-file=/dev/fd/n", being n the file descriptor of the -+password-file. -+Note that only the first line of the file will be considered, including -+any whitespace characters and excluding new-line. -+ -+=item B -+ -+A file used to set the VM user password. This option can be used either as -+"user-password-file=/path/to/password-file" or as -+"user-password-file=/dev/fd/n", being n the file descriptor of the -+password-file. The username is your current host username. -+Note that only the first line of the file will be considered, including -+any whitespace characters and excluding new-line. - - =item B - -Index: virt-manager-2.2.0/tests/cli-test-xml/admin-password.txt -=================================================================== ---- /dev/null -+++ virt-manager-2.2.0/tests/cli-test-xml/admin-password.txt -@@ -0,0 +1 @@ -+foobar -Index: virt-manager-2.2.0/tests/cli-test-xml/user-password.txt -=================================================================== ---- /dev/null -+++ virt-manager-2.2.0/tests/cli-test-xml/user-password.txt -@@ -0,0 +1,3 @@ -+blah -+ -+ -Index: virt-manager-2.2.0/tests/clitest.py -=================================================================== ---- virt-manager-2.2.0.orig/tests/clitest.py -+++ virt-manager-2.2.0/tests/clitest.py -@@ -89,6 +89,8 @@ test_files = { - 'ISO-F29-LIVE': iso_links[5], - 'TREEDIR': "%s/fakefedoratree" % XMLDIR, - 'COLLIDE': "/dev/default-pool/collidevol1.img", -+ 'ADMIN-PASSWORD-FILE': "%s/admin-password.txt" % XMLDIR, -+ 'USER-PASSWORD-FILE': "%s/user-password.txt" % XMLDIR, - } - - -@@ -871,22 +873,21 @@ c.add_valid("--connect %s --pxe --disk s - #################### - - c = vinst.add_category("unattended-install", "--connect %(URI-KVM)s --nographics --noautoconsole --disk none", prerun_check=no_osinfo_unattend_cb) --c.add_compare("--install fedora26 --unattended profile=desktop,admin-password=foobar,user-password=blah,product-key=1234", "osinfo-url-unattended") # unattended install for fedora, using initrd injection --c.add_compare("--cdrom %(ISO-WIN7)s --unattended profile=desktop,admin-password=foobar", "osinfo-win7-unattended") # unattended install for win7 --c.add_compare("--os-variant fedora26 --unattended profile=jeos,admin-password=123456 --location %(ISO-F26-NETINST)s", "osinfo-netinst-unattended") # triggering the special netinst checking code -+c.add_compare("--install fedora26 --unattended profile=desktop,admin-password-file=%(ADMIN-PASSWORD-FILE)s,user-password-file=%(USER-PASSWORD-FILE)s,product-key=1234", "osinfo-url-unattended") # unattended install for fedora, using initrd injection -+c.add_compare("--cdrom %(ISO-WIN7)s --unattended profile=desktop,admin-password-file=%(ADMIN-PASSWORD-FILE)s", "osinfo-win7-unattended") # unattended install for win7 -+c.add_compare("--os-variant fedora26 --unattended profile=jeos,admin-password-file=%(ADMIN-PASSWORD-FILE)s --location %(ISO-F26-NETINST)s", "osinfo-netinst-unattended") # triggering the special netinst checking code - c.add_compare("--os-variant silverblue29 --location http://example.com", "network-install-resources") # triggering network-install resources override - c.add_valid("--pxe --os-variant fedora26 --unattended", grep="Using unattended profile 'desktop'") # filling in default 'desktop' profile - c.add_invalid("--os-variant fedora26 --unattended profile=jeos --location http://example.foo", grep="admin-password") # will trigger admin-password required error - c.add_invalid("--os-variant fedora26 --unattended profile=jeos --location http://example.foo", grep="admin-password") # will trigger admin-password required error --c.add_invalid("--os-variant debian9 --unattended profile=desktop,admin-password=foobar --location http://example.foo", grep="user-password") # will trigger user-password required error --c.add_invalid("--os-variant debian9 --unattended profile=FRIBBER,admin-password=foobar --location http://example.foo", grep="Available profiles") # will trigger unknown profile error --c.add_invalid("--os-variant fedora29 --unattended profile=desktop,admin-password=foobar --cdrom %(ISO-F29-LIVE)s", grep="media does not support") # live media doesn't support installscript -+c.add_invalid("--os-variant debian9 --unattended profile=desktop,admin-password-file=%(ADMIN-PASSWORD-FILE)s --location http://example.foo", grep="user-password") # will trigger user-password required error -+c.add_invalid("--os-variant debian9 --unattended profile=FRIBBER,admin-password-file=%(ADMIN-PASSWORD-FILE)s --location http://example.foo", grep="Available profiles") # will trigger unknown profile error -+c.add_invalid("--os-variant fedora29 --unattended profile=desktop,admin-password-file=%(ADMIN-PASSWORD-FILE)s --cdrom %(ISO-F29-LIVE)s", grep="media does not support") # live media doesn't support installscript - c.add_invalid("--os-variant msdos --unattended profile=desktop --location http://example.com") # msdos doesn't support unattended install - c.add_invalid("--os-variant winxp --unattended profile=desktop --cdrom %(ISO-WIN7)s") # winxp doesn't support expected injection method 'cdrom' - c.add_invalid("--connect %(URI-TEST-REMOTE)s --os-variant win7 --cdrom %(EXISTIMG1)s --unattended") # --unattended method=cdrom rejected for remote connections - - -- - ############################# - # Remote URI specific tests # - ############################# -@@ -1353,7 +1354,7 @@ _add_argcomplete_cmd("virt-install --ins - _add_argcomplete_cmd("virt-install --test-stub", None, - nogrep="--test-stub-command") - _add_argcomplete_cmd("virt-install --unattended ", "profile=") # will list all --unattended subprops --_add_argcomplete_cmd("virt-install --unattended a", "admin-password=") -+_add_argcomplete_cmd("virt-install --unattended a", "admin-password-file=") - _add_argcomplete_cmd("virt-clone --preserve", "--preserve-data") - _add_argcomplete_cmd("virt-xml --sound mode", "model") - _add_argcomplete_cmd("virt-convert --dest", "--destination") -Index: virt-manager-2.2.0/virtinst/cli.py -=================================================================== ---- virt-manager-2.2.0.orig/virtinst/cli.py -+++ virt-manager-2.2.0/virtinst/cli.py -@@ -1508,8 +1508,8 @@ class ParserUnattended(VirtCLIParser): - def _init_class(cls, **kwargs): - VirtCLIParser._init_class(**kwargs) - cls.add_arg("profile", "profile") -- cls.add_arg("admin-password", "admin_password") -- cls.add_arg("user-password", "user_password") -+ cls.add_arg("admin-password-file", "admin_password_file") -+ cls.add_arg("user-password-file", "user_password_file") - cls.add_arg("product-key", "product_key") - - -Index: virt-manager-2.2.0/virtinst/install/unattended.py -=================================================================== ---- virt-manager-2.2.0.orig/virtinst/install/unattended.py -+++ virt-manager-2.2.0/virtinst/install/unattended.py -@@ -39,23 +39,21 @@ def _make_installconfig(script, osobj, u - - # Set user-password. - # In case it's required and not passed, just raise a RuntimeError. -- if script.requires_user_password() and not unattended_data.user_password: -+ if (script.requires_user_password() and -+ not unattended_data.get_user_password()): - raise RuntimeError( - _("%s requires the user-password to be set.") % - osobj.name) -- config.set_user_password( -- unattended_data.user_password if unattended_data.user_password -- else "") -+ config.set_user_password(unattended_data.get_user_password() or "") - - # Set the admin-password: - # In case it's required and not passed, just raise a RuntimeError. -- if script.requires_admin_password() and not unattended_data.admin_password: -+ if (script.requires_admin_password() and -+ not unattended_data.get_admin_password()): - raise RuntimeError( - _("%s requires the admin-password to be set.") % - osobj.name) -- config.set_admin_password( -- unattended_data.admin_password if unattended_data.admin_password -- else "") -+ config.set_admin_password(unattended_data.get_admin_password() or "") - - # Set the target disk. - # virtiodisk is the preferred way, in case it's supported, otherwise -@@ -205,10 +203,22 @@ class OSInstallScript: - - class UnattendedData(): - profile = None -- admin_password = None -- user_password = None -+ admin_password_file = None -+ user_password_file = None - product_key = None - -+ def _get_password(self, pwdfile): -+ with open(pwdfile, "r") as fobj: -+ return fobj.readline().rstrip("\n\r") -+ -+ def get_user_password(self): -+ if self.user_password_file: -+ return self._get_password(self.user_password_file) -+ -+ def get_admin_password(self): -+ if self.admin_password_file: -+ return self._get_password(self.admin_password_file) -+ - - def _make_scriptmap(script_list): - """ diff --git a/virt-manager-2.2.0.tar.bz2 b/virt-manager-2.2.0.tar.bz2 deleted file mode 100644 index f1ed1732..00000000 --- a/virt-manager-2.2.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f32bd91e7a42a2ba2f66d5f6f72ec3342bb12606c5612750c6165544128d2db5 -size 1482123 diff --git a/virt-manager-2.2.1.tar.bz2 b/virt-manager-2.2.1.tar.bz2 new file mode 100644 index 00000000..19ca2b43 --- /dev/null +++ b/virt-manager-2.2.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1c28128eee24bc5fdd3f67a3b3e6713cac14ed9664619948f98f1ca71ec992f +size 1483469 diff --git a/virt-manager.changes b/virt-manager.changes index 46395c12..03847ae3 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Jul 5 08:54:18 MDT 2019 - carnold@suse.com + +- Update to virt-manager 2.2.1 (fate#326786) + virt-manager-2.2.1.tar.bz2 + * CVE-2019-10183: Replace –unattended user-password and admin-password with user-password-file and admin-password-file (Fabiano Fidêncio) + * Consistent –memballoon default across non-x86 (Andrea Bolognani) + * virt-install: add –numatune memnode.* (Athina Plaskasoviti) + * Drop hard dep on gtksourceview4, gtksourceview3 is fine as well +- Drop patches no longer needed + 033e9702-xmleditor-Handle-gtksourceview3-as-well-as-gtksourceview4.patch + 51d28f04-unattended-Dont-log-user-admin-passwords.patch + 5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch + 58c68764-unattended-Read-the-passwords-from-a-file.patch + ------------------------------------------------------------------- Wed Jul 3 12:07:53 MDT 2019 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index 8b57d24c..01f1205f 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -21,7 +21,7 @@ %global default_hvs "qemu,xen,lxc" Name: virt-manager -Version: 2.2.0 +Version: 2.2.1 Release: 0 Summary: Virtual Machine Manager License: GPL-2.0-or-later @@ -32,10 +32,6 @@ Source1: virt-install.rb Source2: virt-install.desktop Source3: virt-manager-supportconfig # Upstream Patches -Patch1: 033e9702-xmleditor-Handle-gtksourceview3-as-well-as-gtksourceview4.patch -Patch2: 5312a961-virt-install-Revive-wait-0-as-alias-for-noautoconsole.patch -Patch3: 58c68764-unattended-Read-the-passwords-from-a-file.patch -Patch4: 51d28f04-unattended-Dont-log-user-admin-passwords.patch # SUSE Only Patch70: virtman-desktop.patch Patch71: virtman-kvm.patch @@ -168,10 +164,6 @@ machine). %prep %setup -q # Upstream Patches -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 # SUSE Only %patch70 -p1 %patch71 -p1 diff --git a/virtinst-add-pvh-support.patch b/virtinst-add-pvh-support.patch index b22c55ef..13e41c19 100644 --- a/virtinst-add-pvh-support.patch +++ b/virtinst-add-pvh-support.patch @@ -1,10 +1,10 @@ References: fate#326698 - Add pvh support to virt-manager At this time support is disabled in this patch. -Index: virt-manager-2.2.0/virtManager/createvm.py +Index: virt-manager-2.2.1/virtManager/createvm.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/createvm.py -+++ virt-manager-2.2.0/virtManager/createvm.py +--- virt-manager-2.2.1.orig/virtManager/createvm.py ++++ virt-manager-2.2.1/virtManager/createvm.py @@ -796,6 +796,9 @@ class vmmCreateVM(vmmGObjectUI): for guest in guests: if not guest.domains: @@ -15,10 +15,10 @@ Index: virt-manager-2.2.0/virtManager/createvm.py gtype = guest.os_type dom = guest.domains[0] -Index: virt-manager-2.2.0/virtinst/domain/os.py +Index: virt-manager-2.2.1/virtinst/domain/os.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/domain/os.py -+++ virt-manager-2.2.0/virtinst/domain/os.py +--- virt-manager-2.2.1.orig/virtinst/domain/os.py ++++ virt-manager-2.2.1/virtinst/domain/os.py @@ -32,6 +32,8 @@ class DomainOs(XMLBuilder): return self.os_type == "hvm" def is_xenpv(self): @@ -28,11 +28,11 @@ Index: virt-manager-2.2.0/virtinst/domain/os.py def is_container(self): return self.os_type == "exe" -Index: virt-manager-2.2.0/virtinst/guest.py +Index: virt-manager-2.2.1/virtinst/guest.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/guest.py -+++ virt-manager-2.2.0/virtinst/guest.py -@@ -818,7 +818,7 @@ class Guest(XMLBuilder): +--- virt-manager-2.2.1.orig/virtinst/guest.py ++++ virt-manager-2.2.1/virtinst/guest.py +@@ -820,7 +820,7 @@ class Guest(XMLBuilder): usb_tablet = False usb_keyboard = False @@ -41,10 +41,10 @@ Index: virt-manager-2.2.0/virtinst/guest.py usb_tablet = self.osinfo.supports_usbtablet() if (self.os.is_arm_machvirt() or self.os.is_riscv_virt() or -Index: virt-manager-2.2.0/virtManager/object/domain.py +Index: virt-manager-2.2.1/virtManager/object/domain.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/object/domain.py -+++ virt-manager-2.2.0/virtManager/object/domain.py +--- virt-manager-2.2.1.orig/virtManager/object/domain.py ++++ virt-manager-2.2.1/virtManager/object/domain.py @@ -1150,6 +1150,8 @@ class vmmDomain(vmmLibvirtObject): return self.get_xmlobj().os.is_xenpv() def is_hvm(self): @@ -54,10 +54,10 @@ Index: virt-manager-2.2.0/virtManager/object/domain.py def get_uuid(self): if self._uuid is None: -Index: virt-manager-2.2.0/virtManager/connection.py +Index: virt-manager-2.2.1/virtManager/connection.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/connection.py -+++ virt-manager-2.2.0/virtManager/connection.py +--- virt-manager-2.2.1.orig/virtManager/connection.py ++++ virt-manager-2.2.1/virtManager/connection.py @@ -223,6 +223,8 @@ class vmmConnection(vmmGObject): label = "xen (paravirt)" elif gtype == "hvm": diff --git a/virtinst-s390x-disable-graphics.patch b/virtinst-s390x-disable-graphics.patch index 44a8f9d0..1e1efd85 100644 --- a/virtinst-s390x-disable-graphics.patch +++ b/virtinst-s390x-disable-graphics.patch @@ -1,9 +1,9 @@ Reference: bnc#869024 Disable graphics on s390x -Index: virt-manager-2.2.0/virtinst/guest.py +Index: virt-manager-2.2.1/virtinst/guest.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/guest.py -+++ virt-manager-2.2.0/virtinst/guest.py +--- virt-manager-2.2.1.orig/virtinst/guest.py ++++ virt-manager-2.2.1/virtinst/guest.py @@ -225,7 +225,10 @@ class Guest(XMLBuilder): self.skip_default_channel = False self.skip_default_sound = False @@ -14,9 +14,9 @@ Index: virt-manager-2.2.0/virtinst/guest.py + else: + self.skip_default_graphics = False self.skip_default_rng = False + self.disable_default_memballoon = False self.x86_cpu_default = self.cpu.SPECIAL_MODE_APP_DEFAULT - -@@ -479,7 +482,7 @@ class Guest(XMLBuilder): +@@ -480,7 +483,7 @@ class Guest(XMLBuilder): if not os_support: return False @@ -25,7 +25,7 @@ Index: virt-manager-2.2.0/virtinst/guest.py return True return False -@@ -858,7 +861,7 @@ class Guest(XMLBuilder): +@@ -860,7 +863,7 @@ class Guest(XMLBuilder): self.add_device(dev) def _add_default_video_device(self): @@ -34,7 +34,7 @@ Index: virt-manager-2.2.0/virtinst/guest.py return if self.devices.video: return -@@ -925,7 +928,7 @@ class Guest(XMLBuilder): +@@ -927,7 +930,7 @@ class Guest(XMLBuilder): return if self.os.is_container() and not self.conn.is_vz(): return diff --git a/virtinst-set-qemu-emulator.patch b/virtinst-set-qemu-emulator.patch index d07a0a77..3bc8a7bc 100644 --- a/virtinst-set-qemu-emulator.patch +++ b/virtinst-set-qemu-emulator.patch @@ -1,12 +1,12 @@ Use the correct qemu emulator based on the architecture. We want to get away from using the old qemu-dm emulator for Xen HVM guests so default to qemu-system-i386. -Index: virt-manager-2.2.0/virtinst/guest.py +Index: virt-manager-2.2.1/virtinst/guest.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/guest.py -+++ virt-manager-2.2.0/virtinst/guest.py -@@ -736,6 +736,10 @@ class Guest(XMLBuilder): - self._add_default_rng() +--- virt-manager-2.2.1.orig/virtinst/guest.py ++++ virt-manager-2.2.1/virtinst/guest.py +@@ -738,6 +738,10 @@ class Guest(XMLBuilder): + self._add_default_memballoon() self.clock.set_defaults(self) + if self.os.is_hvm() and self.type == "xen": diff --git a/virtinst-vol-default-nocow.patch b/virtinst-vol-default-nocow.patch index 2f69af42..28059bb2 100644 --- a/virtinst-vol-default-nocow.patch +++ b/virtinst-vol-default-nocow.patch @@ -4,11 +4,11 @@ issue on btrfs. Signed-off-by: Chunyan Liu -Index: virt-manager-2.2.0/virtinst/storage.py +Index: virt-manager-2.2.1/virtinst/storage.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/storage.py -+++ virt-manager-2.2.0/virtinst/storage.py -@@ -655,6 +655,11 @@ class StorageVolume(_StorageObject): +--- virt-manager-2.2.1.orig/virtinst/storage.py ++++ virt-manager-2.2.1/virtinst/storage.py +@@ -548,6 +548,11 @@ class StorageVolume(_StorageObject): return self._pool_xml.get_disk_type() file_type = property(_get_vol_type) @@ -20,10 +20,10 @@ Index: virt-manager-2.2.0/virtinst/storage.py ################## # XML properties # -Index: virt-manager-2.2.0/virtinst/support.py +Index: virt-manager-2.2.1/virtinst/support.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/support.py -+++ virt-manager-2.2.0/virtinst/support.py +--- virt-manager-2.2.1.orig/virtinst/support.py ++++ virt-manager-2.2.1/virtinst/support.py @@ -283,6 +283,7 @@ class SupportCache: conn_vnc_none_auth = _make(hv_version={"qemu": "2.9.0"}) conn_device_boot_order = _make(hv_version={"qemu": 0, "test": 0}) diff --git a/virtman-increase-setKeepAlive-count.patch b/virtman-increase-setKeepAlive-count.patch index a9626ff1..25581e64 100644 --- a/virtman-increase-setKeepAlive-count.patch +++ b/virtman-increase-setKeepAlive-count.patch @@ -2,11 +2,11 @@ References: bnc#892003 For very large memory VMs Xen takes a long time scrubbing memory which causes the libvirt connection to timeout. Upstream was not interested in making this a preferences option (4/11/2015) -Index: virt-manager-2.2.0/virtManager/connection.py +Index: virt-manager-2.2.1/virtManager/connection.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/connection.py -+++ virt-manager-2.2.0/virtManager/connection.py -@@ -1003,7 +1003,7 @@ class vmmConnection(vmmGObject): +--- virt-manager-2.2.1.orig/virtManager/connection.py ++++ virt-manager-2.2.1/virtManager/connection.py +@@ -1002,7 +1002,7 @@ class vmmConnection(vmmGObject): self._add_conn_events() try: