Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virt-manager for openSUSE:Factory 
checked in at 2021-10-11 16:48:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
 and      /work/SRC/openSUSE:Factory/.virt-manager.new.2443 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-manager"

Mon Oct 11 16:48:39 2021 rev:225 rq:924117 version:3.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes        
2021-09-20 23:32:55.187156277 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new.2443/virt-manager.changes      
2021-10-11 16:48:46.126182326 +0200
@@ -1,0 +2,15 @@
+Thu Oct  7 14:53:51 MDT 2021 - carn...@suse.com
+
+- bsc#1191356 - virt-manager should not depend on gtk4
+  Modified files:
+    virt-manager.spec
+    virtman-dont-specify-gtksource-version.patch
+    virtman-dont-specify-vte-version.patch
+
+-------------------------------------------------------------------
+Mon Oct  4 15:58:01 MDT 2021 - carn...@suse.com
+
+- jsc#SLE-20856 Dev: KVM: Enable vfio-ccw and vfio-ap in virt-* tools
+  965480e8-virt-install-add-mediated-device.patch
+
+-------------------------------------------------------------------

New:
----
  965480e8-virt-install-add-mediated-device.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.i4fooy/_old  2021-10-11 16:48:47.138183935 +0200
+++ /var/tmp/diff_new_pack.i4fooy/_new  2021-10-11 16:48:47.138183935 +0200
@@ -39,6 +39,7 @@
 Patch5:         143c6bef-virtinst-fix-error-message-format-string.patch
 Patch6:         
fe8722e7-createnet-Remove-some-unnecessary-max_length-annotations.patch
 Patch7:         d9b5090e-Fix-forgetting-password-from-keyring.patch
+Patch8:         965480e8-virt-install-add-mediated-device.patch
 # SUSE Only
 Patch70:        virtman-desktop.patch
 Patch71:        virtman-kvm.patch
@@ -93,31 +94,23 @@
 %define verrel %{version}-%{release}
 Requires:       dbus-1-x11
 Requires:       dconf
-Requires:       gtk3 >= 3.22
-Requires:       python3-gobject-Gdk
+Requires:       gtk3
+Requires:       python3-gobject
 # For console widget
 Requires:       python3-cairo
 Requires:       python3-gobject-cairo
 Recommends:     python3-SpiceClientGtk
-Requires:       gtksourceview >= 3
 Requires:       virt-install
 Requires:       virt-manager-common = %{verrel}
+Requires:       typelib(GtkSource)
 
 %if %{with_guestfs}
 Requires:       python3-libguestfs
 %endif
 
-BuildRequires:  glib2-devel
-BuildRequires:  gtk3-tools
-BuildRequires:  intltool
-BuildRequires:  perl
+BuildRequires:  gettext
 BuildRequires:  python3-devel
 BuildRequires:  python3-docutils
-BuildRequires:  python3-gobject
-BuildRequires:  python3-libvirt-python >= 0.7.0
-BuildRequires:  python3-libxml2-python
-BuildRequires:  python3-requests
-BuildRequires:  typelib(Libosinfo)
 
 %description
 Virtual Machine Manager provides a graphical tool for administering virtual
@@ -178,6 +171,7 @@
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 # SUSE Only
 %patch70 -p1
 %patch71 -p1

++++++ 965480e8-virt-install-add-mediated-device.patch ++++++
Subject: virt-install: add mediated device
From: Shalini Chellathurai Saroja shal...@linux.ibm.com Wed Apr 14 17:18:55 
2021 +0200
Date: Tue May 18 18:36:03 2021 -0400:
Git: 965480e8bc85caf8a4f36b4a2f07963067b63cf6

Add support to install a virtual server with passed-through mediated
device. Mediated device can be created using vGPU attached to
vfio_pci driver or DASD attached to vfio_ccw driver or APQNs attached
to vfio_ap driver.

Reviewed-by: Cole Robinson <crobi...@redhat.com>
Signed-off-by: Shalini Chellathurai Saroja <shal...@linux.ibm.com>

Index: virt-manager-3.2.0/tests/data/cli/compare/virt-install-many-devices.xml
===================================================================
--- virt-manager-3.2.0.orig/tests/data/cli/compare/virt-install-many-devices.xml
+++ virt-manager-3.2.0/tests/data/cli/compare/virt-install-many-devices.xml
@@ -592,6 +592,25 @@
         <char>/dev/pty7</char>
       </source>
     </hostdev>
+    <hostdev mode="subsystem" type="mdev" managed="no" model="vfio-ccw">
+      <address type="ccw" cssid="0xfe" ssid="0x1" devno="0x0008"/>
+      <source>
+        <address uuid="8e37ee90-2b51-45e3-9b25-bf8283c03110"/>
+      </source>
+    </hostdev>
+    <hostdev mode="subsystem" type="mdev" managed="no" model="vfio-ap">
+      <source>
+        <address uuid="11f92c9d-b0b0-4016-b306-a8071277f8b9"/>
+      </source>
+    </hostdev>
+    <hostdev mode="subsystem" type="mdev" managed="yes" model="vfio-pci" 
display="off" ramfb="off">
+      <address type="pci" domain="0" bus="1" slot="1" function="0">
+        <zpci uid="0x0001" fid="0x00000001"/>
+      </address>
+      <source>
+        <address uuid="4b20d080-1b54-4048-85b3-a6a62d165c01"/>
+      </source>
+    </hostdev>
     <redirdev bus="usb" type="spicevmc"/>
     <redirdev bus="usb" type="tcp">
       <source host="localhost" service="4000"/>
Index: virt-manager-3.2.0/tests/data/testdriver/testdriver.xml
===================================================================
--- virt-manager-3.2.0.orig/tests/data/testdriver/testdriver.xml
+++ virt-manager-3.2.0/tests/data/testdriver/testdriver.xml
@@ -3645,5 +3645,45 @@ ba</description>
   </capability>
 </device>
 
+<device>
+  <name>mdev_8e37ee90_2b51_45e3_9b25_bf8283c03110</name>
+  <path>/sys/devices/css0/0.0.0023/8e37ee90-2b51-45e3-9b25-bf8283c03110</path>
+  <parent>css_0_0_0023</parent>
+  <driver>
+    <name>vfio_mdev</name>
+  </driver>
+  <capability type='mdev'>
+    <type id='vfio_ccw-io'/>
+    <iommuGroup number='0'/>
+  </capability>
+</device>
+
+<device>
+  <name>mdev_11f92c9d_b0b0_4016_b306_a8071277f8b9</name>
+  <path>/sys/devices/vfio_ap/matrix/11f92c9d-b0b0-4016-b306-a8071277f8b9</path>
+  <parent>ap_matrix</parent>
+  <driver>
+    <name>vfio_mdev</name>
+  </driver>
+  <capability type='mdev'>
+    <type id='vfio_ap-passthrough'/>
+    <iommuGroup number='2'/>
+    <attr name='assign_adapter' value='1'/>
+    <attr name='assign_domain' value='2'/>
+  </capability>
+</device>
+
+<device>
+  <name>mdev_4b20d080_1b54_4048_85b3_a6a62d165c01</name>
+  
<path>/sys/devices/pci0000:00/0000:00:02.0/4b20d080-1b54-4048-85b3-a6a62d165c01</path>
+  <parent>pci_0000_06_00_0</parent>
+  <driver>
+    <name>vfio_mdev</name>
+  </driver>
+ <capability type='mdev'>
+    <type id='nvidia-11'/>
+    <iommuGroup number='12'/>
+  </capability>
+</device>
 
 </node>
Index: virt-manager-3.2.0/tests/test_cli.py
===================================================================
--- virt-manager-3.2.0.orig/tests/test_cli.py
+++ virt-manager-3.2.0/tests/test_cli.py
@@ -675,6 +675,9 @@ source.reservations.managed=no,source.re
 --hostdev wlan0,type=net
 --hostdev /dev/vdz,type=storage
 --hostdev /dev/pty7,type=misc
+--hostdev 
mdev_8e37ee90_2b51_45e3_9b25_bf8283c03110,address.type=ccw,address.cssid=0xfe,address.ssid=0x1,address.devno=0x0008
+--hostdev mdev_11f92c9d_b0b0_4016_b306_a8071277f8b9
+--hostdev 
mdev_4b20d080_1b54_4048_85b3_a6a62d165c01,address.type=pci,address.domain=0x0000,address.bus=0x01,address.slot=0x01,address.function=0x0,address.zpci.uid=0x0001,address.zpci.fid=0x00000001
 
 
 --filesystem 
/source,/target,alias.name=testfsalias,driver.ats=on,driver.iommu=off,driver.packed=on
Index: virt-manager-3.2.0/tests/test_nodedev.py
===================================================================
--- virt-manager-3.2.0.orig/tests/test_nodedev.py
+++ virt-manager-3.2.0/tests/test_nodedev.py
@@ -126,6 +126,36 @@ def testDRMDevice():
     assert dev.get_devnode("frob")
 
 
+def testDASDMdev():
+    conn = utils.URIs.open_testdriver_cached()
+    devname = "mdev_8e37ee90_2b51_45e3_9b25_bf8283c03110"
+    dev = _nodeDevFromName(conn, devname)
+    assert dev.name == devname
+    assert dev.parent == "css_0_0_0023"
+    assert dev.device_type == "mdev"
+    assert dev.type_id == "vfio_ccw-io"
+
+
+def testAPQNMdev():
+    conn = utils.URIs.open_testdriver_cached()
+    devname = "mdev_11f92c9d_b0b0_4016_b306_a8071277f8b9"
+    dev = _nodeDevFromName(conn, devname)
+    assert dev.name == devname
+    assert dev.parent == "ap_matrix"
+    assert dev.device_type == "mdev"
+    assert dev.type_id == "vfio_ap-passthrough"
+
+
+def testPCIMdev():
+    conn = utils.URIs.open_testdriver_cached()
+    devname = "mdev_4b20d080_1b54_4048_85b3_a6a62d165c01"
+    dev = _nodeDevFromName(conn, devname)
+    assert dev.name == devname
+    assert dev.parent == "pci_0000_06_00_0"
+    assert dev.device_type == "mdev"
+    assert dev.type_id == "nvidia-11"
+
+
 # NodeDevice 2 Device XML tests
 
 def testNodeDev2USB1():
Index: virt-manager-3.2.0/virtinst/devices/hostdev.py
===================================================================
--- virt-manager-3.2.0.orig/virtinst/devices/hostdev.py
+++ virt-manager-3.2.0/virtinst/devices/hostdev.py
@@ -4,6 +4,8 @@
 # This work is licensed under the GNU GPLv2 or later.
 # See the COPYING file in the top-level directory.
 
+import re
+
 from .device import Device
 from ..nodedev import NodeDevice
 from ..xmlbuilder import XMLProperty
@@ -53,16 +55,45 @@ class DeviceHostdev(Device):
             self.scsi_unit = nodedev.lun
             self.managed = False
 
+        elif nodedev.device_type == nodedev.CAPABILITY_TYPE_MDEV:
+            self.type = "mdev"
+
+            if nodedev.type_id == "vfio_ccw-io":
+                self.model = "vfio-ccw"
+                self.managed = "no"
+
+            elif nodedev.type_id == "vfio_ap-passthrough":
+                self.model = "vfio-ap"
+                self.managed = "no"
+
+            elif (re.match("^nvidia-[0-9]{2}", nodedev.type_id) or
+                  re.match("^i915-GVTg_V[0-9]_[0-9]", nodedev.type_id)):
+                self.model = "vfio-pci"
+                self.managed = "yes"
+                self.display = "off"
+                self.ramfb = "off"
+
+            else:
+                raise ValueError(  # pragma: no cover
+                        _("Don't know how to generate nodedev for mdev type id 
'%s'") %
+                        nodedev.type_id)
+
+            self.uuid = nodedev.name[5:].replace('_', '-')
+
         else:
             raise ValueError(_("Unknown node device type %s") % nodedev)
 
 
     _XML_PROP_ORDER = ["mode", "type", "managed", "vendor", "product",
-                       "domain", "bus", "slot", "function"]
+                       "domain", "bus", "slot", "function", "model",
+                       "display", "ramfb"]
 
     mode = XMLProperty("./@mode")
     type = XMLProperty("./@type")
     managed = XMLProperty("./@managed", is_yesno=True)
+    model = XMLProperty("./@model")
+    display = XMLProperty("./@display")
+    ramfb = XMLProperty("./@ramfb")
 
     vendor = XMLProperty("./source/vendor/@id")
     product = XMLProperty("./source/product/@id")
@@ -92,6 +123,9 @@ class DeviceHostdev(Device):
     # type=misc handling
     storage_block = XMLProperty("./source/block")
 
+    # type=mdev
+    uuid = XMLProperty("./source/address/@uuid")
+
 
     ##################
     # Default config #
Index: virt-manager-3.2.0/virtinst/nodedev.py
===================================================================
--- virt-manager-3.2.0.orig/virtinst/nodedev.py
+++ virt-manager-3.2.0/virtinst/nodedev.py
@@ -40,6 +40,7 @@ class NodeDevice(XMLBuilder):
     CAPABILITY_TYPE_SCSIBUS = "scsi_host"
     CAPABILITY_TYPE_SCSIDEV = "scsi"
     CAPABILITY_TYPE_DRM = "drm"
+    CAPABILITY_TYPE_MDEV = "mdev"
 
     @staticmethod
     def lookupNodedevFromString(conn, idstring):
@@ -168,6 +169,9 @@ class NodeDevice(XMLBuilder):
         if len(self.devnodes) > 0:
             return self.devnodes[0]
 
+    # type='mdev' options
+    type_id = XMLProperty("./capability/type/@id")
+
 
 def _AddressStringToHostdev(conn, addrstr):
     from .devices import DeviceHostdev
++++++ virtman-dont-specify-gtksource-version.patch ++++++
--- /var/tmp/diff_new_pack.i4fooy/_old  2021-10-11 16:48:47.326184234 +0200
+++ /var/tmp/diff_new_pack.i4fooy/_new  2021-10-11 16:48:47.326184234 +0200
@@ -1,8 +1,8 @@
-Index: virt-manager-3.0.0/virtManager/xmleditor.py
+Index: virt-manager-3.2.0/virtManager/xmleditor.py
 ===================================================================
---- virt-manager-3.0.0.orig/virtManager/xmleditor.py
-+++ virt-manager-3.0.0/virtManager/xmleditor.py
-@@ -7,12 +7,12 @@ import gi
+--- virt-manager-3.2.0.orig/virtManager/xmleditor.py
++++ virt-manager-3.2.0/virtManager/xmleditor.py
+@@ -7,12 +7,7 @@ import gi
  from virtinst import log
  
  # We can use either gtksourceview3 or gtksourceview4
@@ -12,12 +12,7 @@
 -except ValueError:  # pragma: no cover
 -    gi.require_version("GtkSource", "3.0")
 -    log.debug("Using GtkSource 3.0")
-+#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")
++gi.require_version("GtkSource", "3.0")
  from gi.repository import GtkSource
  
  from .lib import uiutil

++++++ virtman-dont-specify-vte-version.patch ++++++
--- /var/tmp/diff_new_pack.i4fooy/_old  2021-10-11 16:48:47.334184246 +0200
+++ /var/tmp/diff_new_pack.i4fooy/_new  2021-10-11 16:48:47.338184253 +0200
@@ -2,11 +2,11 @@
 version of vte is really allowed. Vte 2.91 is installed on the
 host but the RPM is built requiring 2.90.
 
-Index: virt-manager-3.0.0/virtManager/details/serialcon.py
+Index: virt-manager-3.2.0/virtManager/details/serialcon.py
 ===================================================================
---- virt-manager-3.0.0.orig/virtManager/details/serialcon.py
-+++ virt-manager-3.0.0/virtManager/details/serialcon.py
-@@ -12,12 +12,12 @@ from gi.repository import Gtk
+--- virt-manager-3.2.0.orig/virtManager/details/serialcon.py
++++ virt-manager-3.2.0/virtManager/details/serialcon.py
+@@ -12,12 +12,7 @@ from gi.repository import Gtk
  from virtinst import log
  
  # We can use either 2.91 or 2.90. This is just to silence runtime warnings
@@ -16,12 +16,7 @@
 -except ValueError:  # pragma: no cover
 -    gi.require_version("Vte", "2.90")
 -    log.debug("Using VTE API 2.90")
-+#try:
-+#    gi.require_version("Vte", "2.91")
-+#    log.debug("Using VTE API 2.91")
-+#except ValueError:  # pragma: no cover
-+#    gi.require_version("Vte", "2.90")
-+#    log.debug("Using VTE API 2.90")
++gi.require_version("Vte", "2.91")
  from gi.repository import Vte
  
  import libvirt

Reply via email to