Hello community,

here is the log from the commit of package libvirt-python for openSUSE:Factory 
checked in at 2016-09-13 22:25:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt-python (Old)
 and      /work/SRC/openSUSE:Factory/.libvirt-python.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvirt-python"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt-python/libvirt-python.changes    
2016-08-31 00:11:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt-python.new/libvirt-python.changes       
2016-09-13 22:25:49.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep  6 02:58:00 UTC 2016 - jfeh...@suse.com
+
+- Update to 2.2.0
+  - Add all new APIs and constants in libvirt 2.2.0
+
+-------------------------------------------------------------------

Old:
----
  libvirt-python-2.1.0.tar.gz
  libvirt-python-2.1.0.tar.gz.asc

New:
----
  libvirt-python-2.2.0.tar.gz
  libvirt-python-2.2.0.tar.gz.asc

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

Other differences:
------------------
++++++ libvirt-python.spec ++++++
--- /var/tmp/diff_new_pack.ZzQPdl/_old  2016-09-13 22:25:49.000000000 +0200
+++ /var/tmp/diff_new_pack.ZzQPdl/_new  2016-09-13 22:25:49.000000000 +0200
@@ -18,7 +18,7 @@
 
 Name:           libvirt-python
 Url:            http://libvirt.org/
-Version:        2.1.0
+Version:        2.2.0
 Release:        0
 Summary:        Library providing a simple virtualization API
 License:        LGPL-2.1+

++++++ libvirt-python-2.1.0.tar.gz -> libvirt-python-2.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/ChangeLog 
new/libvirt-python-2.2.0/ChangeLog
--- old/libvirt-python-2.1.0/ChangeLog  2016-08-02 10:36:15.000000000 +0200
+++ new/libvirt-python-2.2.0/ChangeLog  2016-09-02 15:32:38.000000000 +0200
@@ -1,3 +1,39 @@
+2016-08-24 Michal Privoznik  <mpriv...@redhat.com>
+    
+    PyArg_ParseTuple: Provide correct function names
+    At the end of the format string we put :virFunctionName where ':'
+    says "this is the end of argument list", and virFunctionName is
+    the prefix for error messages then.  However, in some cases we
+    have had wrong names there. Some of them are actually quite
+    funny: xmlRegisterErrorHandler.
+    
+    
+    
+2016-08-17 Jovanka Gulicoska  <jovanka.gulico...@gmail.com>
+    
+    event-test: support node device update callback
+    
+    
+2016-08-17 Jovanka Gulicoska  <jovanka.gulico...@gmail.com>
+    
+    Add support for node device update callback
+    
+    
+2016-08-02 Jovanka Gulicoska  <jovanka.gulico...@gmail.com>
+    
+    event-test: Add node device lifecycle event tests
+    
+    
+2016-08-02 Jovanka Gulicoska  <jovanka.gulico...@gmail.com>
+    
+    Python binding for node poll lifecycle events API
+    
+    
+2016-08-02 Cole Robinson  <crobi...@redhat.com>
+    
+    Post-release version bump to 2.2.0
+    
+    
 2016-07-28 Markus Rothe  <markusr...@gmail.com>
     
     allow pkg-config binary to be set by env
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/PKG-INFO 
new/libvirt-python-2.2.0/PKG-INFO
--- old/libvirt-python-2.1.0/PKG-INFO   2016-08-02 10:36:15.000000000 +0200
+++ new/libvirt-python-2.2.0/PKG-INFO   2016-09-02 15:32:38.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: libvirt-python
-Version: 2.1.0
+Version: 2.2.0
 Summary: The libvirt virtualization API
 Home-page: http://www.libvirt.org
 Author: Libvirt Maintainers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/examples/event-test.py 
new/libvirt-python-2.2.0/examples/event-test.py
--- old/libvirt-python-2.1.0/examples/event-test.py     2016-08-02 
10:26:59.000000000 +0200
+++ new/libvirt-python-2.2.0/examples/event-test.py     2016-09-02 
15:32:22.000000000 +0200
@@ -584,6 +584,23 @@
     print("myStoragePoolEventRefreshCallback: Storage pool %s" % pool.name())
 
 ##########################################################################
+# Node device events
+##########################################################################
+def nodeDeviceEventToString(event):
+    nodeDeviceEventStrings = ( "Created",
+                               "Deleted",
+    )
+    return nodeDeviceEventStrings[event]
+
+def myNodeDeviceEventLifecycleCallback(conn, dev, event, detail, opaque):
+    print("myNodeDeviceEventLifecycleCallback: Node device  %s %s %d" % 
(dev.name(),
+                                                                          
nodeDeviceEventToString(event),
+                                                                          
detail))
+
+def myNodeDeviceEventUpdateCallback(conn, dev, opaque):
+    print("myNodeDeviceEventUpdateCallback: Node device %s" % dev.name())
+
+##########################################################################
 # Set up and run the program
 ##########################################################################
 
@@ -678,6 +695,9 @@
     vc.storagePoolEventRegisterAny(None, 
libvirt.VIR_STORAGE_POOL_EVENT_ID_LIFECYCLE, 
myStoragePoolEventLifecycleCallback, None)
     vc.storagePoolEventRegisterAny(None, 
libvirt.VIR_STORAGE_POOL_EVENT_ID_REFRESH, myStoragePoolEventRefreshCallback, 
None)
 
+    vc.nodeDeviceEventRegisterAny(None, 
libvirt.VIR_NODE_DEVICE_EVENT_ID_LIFECYCLE, myNodeDeviceEventLifecycleCallback, 
None)
+    vc.nodeDeviceEventRegisterAny(None, 
libvirt.VIR_NODE_DEVICE_EVENT_ID_UPDATE, myNodeDeviceEventUpdateCallback, None)
+
     vc.setKeepAlive(5, 3)
 
     # The rest of your app would go here normally, but for sake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/generator.py 
new/libvirt-python-2.2.0/generator.py
--- old/libvirt-python-2.1.0/generator.py       2016-07-01 11:12:55.000000000 
+0200
+++ new/libvirt-python-2.2.0/generator.py       2016-09-02 15:32:22.000000000 
+0200
@@ -525,6 +525,8 @@
     'virConnectNetworkEventDeregisterAny', # overridden in virConnect.py
     'virConnectStoragePoolEventRegisterAny',   # overridden in virConnect.py
     'virConnectStoragePoolEventDeregisterAny', # overridden in virConnect.py
+    'virConnectNodeDeviceEventRegisterAny',   # overridden in virConnect.py
+    'virConnectNodeDeviceEventDeregisterAny', # overridden in virConnect.py
     'virSaveLastError', # We have our own python error wrapper
     'virFreeError', # Only needed if we use virSaveLastError
     'virConnectListAllDomains', # overridden in virConnect.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/libvirt-override-virConnect.py 
new/libvirt-python-2.2.0/libvirt-override-virConnect.py
--- old/libvirt-python-2.1.0/libvirt-override-virConnect.py     2016-07-01 
11:12:55.000000000 +0200
+++ new/libvirt-python-2.2.0/libvirt-override-virConnect.py     2016-09-02 
15:32:22.000000000 +0200
@@ -347,6 +347,51 @@
         self.storagePoolEventCallbackID[ret] = opaque
         return ret
 
+    def _dispatchNodeDeviceEventLifecycleCallback(self, dev, event, detail, 
cbData):
+        """Dispatches events to python user node device
+           lifecycle event callbacks
+        """
+        cb = cbData["cb"]
+        opaque = cbData["opaque"]
+
+        cb(self, virNodeDevice(self, _obj=dev), event, detail, opaque)
+        return 0
+
+    def _dispatchNodeDeviceEventGenericCallback(self, dev, cbData):
+        """Dispatches events to python user node device
+           generic event callbacks
+        """
+        cb = cbData["cb"]
+        opaque = cbData["opaque"]
+
+        cb(self, virNodeDevice(self, _obj=dev), opaque)
+        return 0
+
+    def nodeDeviceEventDeregisterAny(self, callbackID):
+        """Removes a Node Device Event Callback. De-registering for a
+           node device callback will disable delivery of this event type"""
+        try:
+            ret = libvirtmod.virConnectNodeDeviceEventDeregisterAny(self._o, 
callbackID)
+            if ret == -1: raise libvirtError 
('virConnectNodeDeviceEventDeregisterAny() failed', conn=self)
+            del self.nodeDeviceEventCallbackID[callbackID]
+        except AttributeError:
+            pass
+
+    def nodeDeviceEventRegisterAny(self, dev, eventID, cb, opaque):
+        """Adds a Node Device Event Callback. Registering for a node device
+           callback will enable delivery of the events"""
+        if not hasattr(self, 'nodeDeviceEventCallbackID'):
+            self.nodeDeviceEventCallbackID = {}
+        cbData = { "cb": cb, "conn": self, "opaque": opaque }
+        if dev is None:
+            ret = libvirtmod.virConnectNodeDeviceEventRegisterAny(self._o, 
None, eventID, cbData)
+        else:
+            ret = libvirtmod.virConnectNodeDeviceEventRegisterAny(self._o, 
dev._o, eventID, cbData)
+        if ret == -1:
+            raise libvirtError ('virConnectNodeDeviceEventRegisterAny() 
failed', conn=self)
+        self.nodeDeviceEventCallbackID[ret] = opaque
+        return ret
+
     def listAllDomains(self, flags=0):
         """List all domains and returns a list of domain objects"""
         ret = libvirtmod.virConnectListAllDomains(self._o, flags)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/libvirt-override.c 
new/libvirt-python-2.2.0/libvirt-override.c
--- old/libvirt-python-2.1.0/libvirt-override.c 2016-08-02 10:26:59.000000000 
+0200
+++ new/libvirt-python-2.2.0/libvirt-override.c 2016-09-02 15:32:22.000000000 
+0200
@@ -1510,7 +1510,7 @@
     int i_retval;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainPinVcpu",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainPinEmulator",
                           &pyobj_domain, &pycpumap, &flags))
         return NULL;
 
@@ -1577,7 +1577,7 @@
     int ret;
     int cpunum;
 
-    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainEmulatorPinInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetEmulatorPinInfo",
                           &pyobj_domain, &flags))
         return NULL;
 
@@ -1907,7 +1907,7 @@
     PyObject *pyobj_f;
     PyObject *pyobj_ctx;
 
-    if (!PyArg_ParseTuple(args, (char *) "OO:xmlRegisterErrorHandler",
+    if (!PyArg_ParseTuple(args, (char *) "OO:virRegisterErrorHandler",
                           &pyobj_f, &pyobj_ctx))
         return NULL;
 
@@ -2091,7 +2091,7 @@
     unsigned long libVer, typeVer = 0;
     int c_retval;
 
-    if (!PyArg_ParseTuple(args, (char *) "|s", &type))
+    if (!PyArg_ParseTuple(args, (char *) "|s:virGetVersion", &type))
         return NULL;
 
     LIBVIRT_BEGIN_ALLOW_THREADS;
@@ -2712,7 +2712,7 @@
     const char *path;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainGetInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainGetBlockInfo",
                           &pyobj_domain, &path, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -2750,7 +2750,7 @@
     PyObject *pyobj_conn;
     virNodeInfo info;
 
-    if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetInfo", &pyobj_conn))
+    if (!PyArg_ParseTuple(args, (char *)"O:virNodeGetInfo", &pyobj_conn))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
 
@@ -2865,7 +2865,7 @@
     virSecurityLabel *labels = NULL;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetSecurityLabel",
+    if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetSecurityLabelList",
                           &pyobj_dom))
         return NULL;
 
@@ -7338,7 +7338,7 @@
     virConnectPtr conn;
     int ret = 0;
 
-    if (!PyArg_ParseTuple(args, (char *) "O:virConnectDomainEventUnregister",
+    if (!PyArg_ParseTuple(args, (char *) "O:virConnectUnregisterCloseCallback",
                           &pyobj_conn))
         return NULL;
 
@@ -7482,7 +7482,7 @@
     Py_ssize_t datalen;
     int ret;
 
-    if (!PyArg_ParseTuple(args, (char *) "OO:virStreamRecv",
+    if (!PyArg_ParseTuple(args, (char *) "OO:virStreamSend",
                           &pyobj_stream, &pyobj_data))
         return NULL;
 
@@ -8311,7 +8311,7 @@
     char *mac = NULL;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *) "OzI:virNetworkDHCPLeasePtr",
+    if (!PyArg_ParseTuple(args, (char *) "OzI:virNetworkGetDHCPLeases",
                           &pyobj_network, &mac, &flags))
         return NULL;
 
@@ -8610,7 +8610,7 @@
     size_t j;
     PyObject *py_retval = NULL;
 
-    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainFSInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetFSInfo",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -8952,7 +8952,7 @@
     virConnectPtr conn;
     int ret = 0;
 
-    if (!PyArg_ParseTuple(args, (char *) 
"Oi:virConnectStoragePoolEventDeregister",
+    if (!PyArg_ParseTuple(args, (char *) 
"Oi:virConnectStoragePoolEventDeregisterAny",
                           &pyobj_conn, &callbackID))
         return NULL;
 
@@ -9003,6 +9003,209 @@
 }
 #endif /* LIBVIR_CHECK_VERSION(2, 0, 0)*/
 
+#if LIBVIR_CHECK_VERSION(2, 2, 0)
+static void
+libvirt_virConnectNodeDeviceEventFreeFunc(void *opaque)
+{
+    PyObject *pyobj_conn = (PyObject*)opaque;
+    LIBVIRT_ENSURE_THREAD_STATE;
+    Py_DECREF(pyobj_conn);
+    LIBVIRT_RELEASE_THREAD_STATE;
+}
+
+static int
+libvirt_virConnectNodeDeviceEventLifecycleCallback(virConnectPtr conn 
ATTRIBUTE_UNUSED,
+                                                   virNodeDevicePtr dev,
+                                                   int event,
+                                                   int detail,
+                                                   void *opaque)
+{
+    PyObject *pyobj_cbData = (PyObject*)opaque;
+    PyObject *pyobj_dev;
+    PyObject *pyobj_ret = NULL;
+    PyObject *pyobj_conn;
+    PyObject *dictKey;
+    int ret = -1;
+
+    LIBVIRT_ENSURE_THREAD_STATE;
+
+    if (!(dictKey = libvirt_constcharPtrWrap("conn")))
+        goto cleanup;
+    pyobj_conn = PyDict_GetItem(pyobj_cbData, dictKey);
+    Py_DECREF(dictKey);
+
+    /* Create a python instance of this virNodeDevicePtr */
+    virNodeDeviceRef(dev);
+    if (!(pyobj_dev = libvirt_virNodeDevicePtrWrap(dev))) {
+        virNodeDeviceFree(dev);
+        goto cleanup;
+    }
+    Py_INCREF(pyobj_cbData);
+
+    /* Call the Callback Dispatcher */
+    pyobj_ret = PyObject_CallMethod(pyobj_conn,
+                                    
(char*)"_dispatchNodeDeviceEventLifecycleCallback",
+                                    (char*)"OiiO",
+                                    pyobj_dev,
+                                    event,
+                                    detail,
+                                    pyobj_cbData);
+
+    Py_DECREF(pyobj_cbData);
+    Py_DECREF(pyobj_dev);
+
+ cleanup:
+    if (!pyobj_ret) {
+        DEBUG("%s - ret:%p\n", __FUNCTION__, pyobj_ret);
+        PyErr_Print();
+    } else {
+        Py_DECREF(pyobj_ret);
+        ret = 0;
+    }
+
+    LIBVIRT_RELEASE_THREAD_STATE;
+    return ret;
+}
+
+static int
+libvirt_virConnectNodeDeviceEventGenericCallback(virConnectPtr conn 
ATTRIBUTE_UNUSED,
+                                                 virNodeDevicePtr dev,
+                                                 void *opaque)
+{
+    PyObject *pyobj_cbData = (PyObject*)opaque;
+    PyObject *pyobj_dev;
+    PyObject *pyobj_ret = NULL;
+    PyObject *pyobj_conn;
+    PyObject *dictKey;
+    int ret = -1;
+
+    LIBVIRT_ENSURE_THREAD_STATE;
+
+    if (!(dictKey = libvirt_constcharPtrWrap("conn")))
+        goto cleanup;
+    pyobj_conn = PyDict_GetItem(pyobj_cbData, dictKey);
+    Py_DECREF(dictKey);
+
+    /* Create a python instance of this virNodeDevicePtr */
+    virNodeDeviceRef(dev);
+    if (!(pyobj_dev = libvirt_virNodeDevicePtrWrap(dev))) {
+        virNodeDeviceFree(dev);
+        goto cleanup;
+    }
+    Py_INCREF(pyobj_cbData);
+
+    /* Call the Callback Dispatcher */
+    pyobj_ret = PyObject_CallMethod(pyobj_conn,
+                                    
(char*)"_dispatchNodeDeviceEventGenericCallback",
+                                    (char*)"OO",
+                                    pyobj_dev,
+                                    pyobj_cbData);
+
+    Py_DECREF(pyobj_cbData);
+    Py_DECREF(pyobj_dev);
+
+ cleanup:
+    if (!pyobj_ret) {
+        DEBUG("%s - ret:%p\n", __FUNCTION__, pyobj_ret);
+        PyErr_Print();
+    } else {
+        Py_DECREF(pyobj_ret);
+        ret = 0;
+    }
+
+    LIBVIRT_RELEASE_THREAD_STATE;
+    return ret;
+}
+
+static PyObject *
+libvirt_virConnectNodeDeviceEventRegisterAny(PyObject *self ATTRIBUTE_UNUSED,
+                                             PyObject *args)
+{
+    PyObject *pyobj_conn;       /* virConnectPtr */
+    PyObject *pyobj_dev;
+    PyObject *pyobj_cbData;     /* hash of callback data */
+    int eventID;
+    virConnectPtr conn;
+    int ret = 0;
+    virConnectNodeDeviceEventGenericCallback cb = NULL;
+    virNodeDevicePtr dev;
+
+    if (!PyArg_ParseTuple(args,
+                          (char *) "OOiO:virConnectNodeDeviceEventRegisterAny",
+                          &pyobj_conn, &pyobj_dev, &eventID, &pyobj_cbData))
+        return NULL;
+
+    DEBUG("libvirt_virConnectNodeDeviceEventRegister(%p %p %d %p) called\n",
+          pyobj_conn, pyobj_dev, eventID, pyobj_cbData);
+    conn = PyvirConnect_Get(pyobj_conn);
+    if (pyobj_dev == Py_None)
+        dev = NULL;
+    else
+        dev = PyvirNodeDevice_Get(pyobj_dev);
+
+    switch ((virNodeDeviceEventID) eventID) {
+    case VIR_NODE_DEVICE_EVENT_ID_LIFECYCLE:
+        cb = 
VIR_NODE_DEVICE_EVENT_CALLBACK(libvirt_virConnectNodeDeviceEventLifecycleCallback);
+        break;
+
+    case VIR_NODE_DEVICE_EVENT_ID_UPDATE:
+        cb = 
VIR_NODE_DEVICE_EVENT_CALLBACK(libvirt_virConnectNodeDeviceEventGenericCallback);
+        break;
+
+    case VIR_NODE_DEVICE_EVENT_ID_LAST:
+        break;
+    }
+
+    if (!cb) {
+        return VIR_PY_INT_FAIL;
+    }
+
+    Py_INCREF(pyobj_cbData);
+
+    LIBVIRT_BEGIN_ALLOW_THREADS;
+    ret = virConnectNodeDeviceEventRegisterAny(conn,
+                                               dev,
+                                               eventID,
+                                               cb,
+                                               pyobj_cbData,
+                                               
libvirt_virConnectNodeDeviceEventFreeFunc);
+    LIBVIRT_END_ALLOW_THREADS;
+
+    if (ret < 0) {
+        Py_DECREF(pyobj_cbData);
+    }
+
+    return libvirt_intWrap(ret);
+}
+
+static PyObject *
+libvirt_virConnectNodeDeviceEventDeregisterAny(PyObject *self ATTRIBUTE_UNUSED,
+                                               PyObject *args)
+{
+    PyObject *pyobj_conn;
+    int callbackID;
+    virConnectPtr conn;
+    int ret = 0;
+
+    if (!PyArg_ParseTuple(args, (char *) 
"Oi:virConnectNodeDeviceEventDeregister",
+                          &pyobj_conn, &callbackID))
+        return NULL;
+
+    DEBUG("libvirt_virConnectNodeDeviceEventDeregister(%p) called\n",
+          pyobj_conn);
+
+    conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+
+    LIBVIRT_BEGIN_ALLOW_THREADS;
+
+    ret = virConnectNodeDeviceEventDeregisterAny(conn, callbackID);
+
+    LIBVIRT_END_ALLOW_THREADS;
+
+    return libvirt_intWrap(ret);
+}
+
+#endif /* LIBVIR_CHECK_VERSION(2, 2, 0)*/
 
 /************************************************************************
  *                                                                     *
@@ -9216,6 +9419,10 @@
     {(char *) "virConnectStoragePoolEventDeregisterAny", 
libvirt_virConnectStoragePoolEventDeregisterAny, METH_VARARGS, NULL},
     {(char *) "virDomainGetGuestVcpus", libvirt_virDomainGetGuestVcpus, 
METH_VARARGS, NULL},
 #endif /* LIBVIR_CHECK_VERSION(2, 0, 0) */
+#if LIBVIR_CHECK_VERSION(2, 2, 0)
+    {(char *) "virConnectNodeDeviceEventRegisterAny", 
libvirt_virConnectNodeDeviceEventRegisterAny, METH_VARARGS, NULL},
+    {(char *) "virConnectNodeDeviceEventDeregisterAny", 
libvirt_virConnectNodeDeviceEventDeregisterAny, METH_VARARGS, NULL},
+#endif /* LIBVIR_CHECK_VERSION(2, 2, 0) */
     {NULL, NULL, 0, NULL}
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/libvirt-python.spec 
new/libvirt-python-2.2.0/libvirt-python.spec
--- old/libvirt-python-2.1.0/libvirt-python.spec        2016-08-02 
10:36:15.000000000 +0200
+++ new/libvirt-python-2.2.0/libvirt-python.spec        2016-09-02 
15:32:38.000000000 +0200
@@ -6,7 +6,7 @@
 
 Summary: The libvirt virtualization API python2 binding
 Name: libvirt-python
-Version: 2.1.0
+Version: 2.2.0
 Release: 1%{?dist}%{?extra_release}
 Source0: http://libvirt.org/sources/python/%{name}-%{version}.tar.gz
 Url: http://libvirt.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/libvirt-qemu-override.c 
new/libvirt-python-2.2.0/libvirt-qemu-override.c
--- old/libvirt-python-2.1.0/libvirt-qemu-override.c    2016-07-01 
11:12:55.000000000 +0200
+++ new/libvirt-python-2.2.0/libvirt-qemu-override.c    2016-09-02 
15:32:22.000000000 +0200
@@ -270,7 +270,8 @@
     virDomainPtr dom;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *) "OOzOI", &pyobj_conn, &pyobj_dom,
+    if (!PyArg_ParseTuple(args, (char *) 
"OOzOI:virConnectDomainQemuMonitorEventRegister",
+                          &pyobj_conn, &pyobj_dom,
                           &event, &pyobj_cbData, &flags))
         return NULL;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/sanitytest.py 
new/libvirt-python-2.2.0/sanitytest.py
--- old/libvirt-python-2.1.0/sanitytest.py      2016-07-01 11:12:55.000000000 
+0200
+++ new/libvirt-python-2.2.0/sanitytest.py      2016-09-02 15:32:22.000000000 
+0200
@@ -176,6 +176,9 @@
     if (name.startswith("virConnectStoragePoolEvent") and
         name.endswith("Callback")):
         continue
+    if (name.startswith("virConnectNodeDeviceEvent") and
+        name.endswith("Callback")):
+        continue
 
 
     # virEvent APIs go into main 'libvirt' namespace not any class
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-2.1.0/setup.py 
new/libvirt-python-2.2.0/setup.py
--- old/libvirt-python-2.1.0/setup.py   2016-08-02 10:26:59.000000000 +0200
+++ new/libvirt-python-2.2.0/setup.py   2016-09-02 15:32:22.000000000 +0200
@@ -307,7 +307,7 @@
 _c_modules, _py_modules = get_module_lists()
 
 setup(name = 'libvirt-python',
-      version = '2.1.0',
+      version = '2.2.0',
       url = 'http://www.libvirt.org',
       maintainer = 'Libvirt Maintainers',
       maintainer_email = 'libvir-l...@redhat.com',


Reply via email to