Hello community, here is the log from the commit of package python-gobject for openSUSE:Factory checked in at 2013-09-23 10:56:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gobject (Old) and /work/SRC/openSUSE:Factory/.python-gobject.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gobject" Changes: -------- --- /work/SRC/openSUSE:Factory/python-gobject/python-gobject.changes 2013-09-12 16:46:20.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-gobject.new/python-gobject.changes 2013-09-23 11:17:50.000000000 +0200 @@ -1,0 +2,9 @@ +Mon Sep 16 16:45:06 UTC 2013 - [email protected] + +- Update to version 3.9.92: + + bgo#703873: Fix union argument regression when marshaling from + python. + + bgo#707904: Fix GLib.Source sub-classing with initializer args. + + Copy __doc__ when wrapping function. + +------------------------------------------------------------------- python3-gobject.changes: same change Old: ---- pygobject-3.9.91.tar.xz New: ---- pygobject-3.9.92.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gobject.spec ++++++ --- /var/tmp/diff_new_pack.Kcw061/_old 2013-09-23 11:17:51.000000000 +0200 +++ /var/tmp/diff_new_pack.Kcw061/_new 2013-09-23 11:17:51.000000000 +0200 @@ -37,7 +37,7 @@ Summary: Python bindings for GObject License: LGPL-2.1+ Group: Development/Libraries/Python -Version: 3.9.91 +Version: 3.9.92 Release: 0 Url: http://ftp.gnome.org/pub/GNOME/sources/pygobject/ Source: http://download.gnome.org/sources/pygobject/3.9/%{_name}-%{version}.tar.xz python3-gobject.spec: same change ++++++ pygobject-3.9.91.tar.xz -> pygobject-3.9.92.tar.xz ++++++ ++++ 1752 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/ChangeLog new/pygobject-3.9.92/ChangeLog --- old/pygobject-3.9.91/ChangeLog 2013-09-02 14:39:02.000000000 +0200 +++ new/pygobject-3.9.92/ChangeLog 2013-09-16 17:10:51.000000000 +0200 @@ -1,3 +1,66 @@ +commit 506f1e35a9375be80a6a79421bf8272165fdd90a +Author: Simon Feltman <[email protected]> +Date: Mon Sep 16 01:23:49 2013 -0700 + + Update current maintainers list in README + + README | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ef120498e060e88a1efcb82de385a23c1fa9c7da +Author: Simon Feltman <[email protected]> +Date: Tue Sep 10 17:11:21 2013 -0700 + + Fix union argument regression when marshaling from python + + Check for union members when marshaling boxed types from Python. + This is a regression caused by stricter type checking added when + merging code from pygi-argument.c. + Re-add pyg_boxed_check to the same bit of code in addition to + __gtype__ checking to avoid a double regression. + + https://bugzilla.gnome.org/show_bug.cgi?id=703873 + + gi/pygi-marshal-from-py.c | 53 + ++++++++++++++++++++++++++--------------------- + 1 file changed, 29 insertions(+), 24 deletions(-) + +commit 59a2964141e963d2961e55d4b84a777927b4f21b +Author: Simon Feltman <[email protected]> +Date: Wed Sep 11 05:05:33 2013 -0700 + + Fix GLib.Source sub-classing with initializer args + + Add variable args and keyword args to the GLib.Source.__new__ + method to support sub-classes which want to implement __init__. + + https://bugzilla.gnome.org/show_bug.cgi?id=707904 + + gi/overrides/GLib.py | 2 +- + tests/test_source.py | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +commit afa42ab95327da1de0cf86005974cd8ab0d46872 +Author: Vratislav Podzimek <[email protected]> +Date: Wed Sep 4 14:17:31 2013 +0200 + + Copy __doc__ when wrapping function + + Signed-off-by: Vratislav Podzimek <[email protected]> + Signed-off-by: Martin Pitt <[email protected]> + + gi/overrides/__init__.py | 1 + + 1 file changed, 1 insertion(+) + +commit 7914a6828a533d8c579a5b422351e18b9f9afc8c +Author: Martin Pitt <[email protected]> +Date: Mon Sep 2 14:56:24 2013 +0200 + + configure.ac: post-release bump to 3.9.92 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit ad8b7d1a89eb2d030a504d521f7589a4c1d835fb Author: Martin Pitt <[email protected]> Date: Mon Sep 2 14:38:41 2013 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/NEWS new/pygobject-3.9.92/NEWS --- old/pygobject-3.9.91/NEWS 2013-09-02 14:38:21.000000000 +0200 +++ new/pygobject-3.9.92/NEWS 2013-09-16 17:10:26.000000000 +0200 @@ -1,3 +1,10 @@ +3.9.92 16-Sep-2013 + - Fix union argument regression when marshaling from python + (Simon Feltman) (#703873) + - Fix GLib.Source sub-classing with initializer args (Simon Feltman) + (#707904) + - Copy __doc__ when wrapping function (Vratislav Podzimek) + 3.9.91 02-Sep-2013 - Fix GObject signal methods to work with new annotations (Simon Feltman) (#707280) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/PKG-INFO new/pygobject-3.9.92/PKG-INFO --- old/pygobject-3.9.91/PKG-INFO 2013-09-02 14:26:17.000000000 +0200 +++ new/pygobject-3.9.92/PKG-INFO 2013-09-04 10:08:04.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: PyGObject -Version: 3.9.91 +Version: 3.9.92 Summary: Python bindings for GObject Home-page: http://www.pygtk.org/ Author: James Henstridge @@ -8,7 +8,7 @@ Maintainer: Johan Dahlin Maintainer-email: [email protected] License: GNU LGPL -Download-url: ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.91.tar.gz +Download-url: ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.92.tar.gz Description: Python bindings for GLib and GObject Platform: POSIX, Windows Classifier: Development Status :: 5 - Production/Stable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/README new/pygobject-3.9.92/README --- old/pygobject-3.9.91/README 2013-07-05 07:51:22.000000000 +0200 +++ new/pygobject-3.9.92/README 2013-09-16 14:19:05.000000000 +0200 @@ -8,7 +8,8 @@ Paolo Borelli <[email protected]> Ignacio Casal Quinteiro <[email protected]> Sebastian Pölsterl <[email protected]> - + Simon Feltman <[email protected]> + This archive contains bindings for the GLib, and GObject, to be used in Python. It is a fairly complete set of bindings, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/configure.ac new/pygobject-3.9.92/configure.ac --- old/pygobject-3.9.91/configure.ac 2013-08-19 17:13:17.000000000 +0200 +++ new/pygobject-3.9.92/configure.ac 2013-09-02 14:53:36.000000000 +0200 @@ -18,7 +18,7 @@ dnl the pygobject version number m4_define(pygobject_major_version, 3) m4_define(pygobject_minor_version, 9) -m4_define(pygobject_micro_version, 91) +m4_define(pygobject_micro_version, 92) m4_define(pygobject_version, pygobject_major_version.pygobject_minor_version.pygobject_micro_version) dnl versions of packages we require ... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/gi/overrides/GLib.py new/pygobject-3.9.92/gi/overrides/GLib.py --- old/pygobject-3.9.91/gi/overrides/GLib.py 2013-07-05 07:51:22.000000000 +0200 +++ new/pygobject-3.9.92/gi/overrides/GLib.py 2013-09-11 15:48:33.000000000 +0200 @@ -536,7 +536,7 @@ class Source(GLib.Source): - def __new__(cls): + def __new__(cls, *args, **kwargs): # use our custom pyg_source_new() here as g_source_new() is not # bindable source = source_new() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/gi/overrides/__init__.py new/pygobject-3.9.92/gi/overrides/__init__.py --- old/pygobject-3.9.91/gi/overrides/__init__.py 2013-07-29 06:37:00.000000000 +0200 +++ new/pygobject-3.9.92/gi/overrides/__init__.py 2013-09-05 06:40:24.000000000 +0200 @@ -64,6 +64,7 @@ def wrapper(*args, **kwargs): return func(*args, **kwargs) wrapper.__name__ = func.__name__ + wrapper.__doc__ = func.__doc__ setattr(self.module, func.__name__, wrapper) return wrapper diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/gi/pygi-marshal-from-py.c new/pygobject-3.9.92/gi/pygi-marshal-from-py.c --- old/pygobject-3.9.91/gi/pygi-marshal-from-py.c 2013-09-02 08:25:01.000000000 +0200 +++ new/pygobject-3.9.92/gi/pygi-marshal-from-py.c 2013-09-16 14:19:05.000000000 +0200 @@ -1780,6 +1780,8 @@ gboolean copy_reference, gboolean is_foreign) { + gboolean is_union = FALSE; + if (py_arg == Py_None) { arg->v_pointer = NULL; return TRUE; @@ -1806,41 +1808,27 @@ return (success == Py_None); } else if (!PyObject_IsInstance (py_arg, py_type)) { /* first check to see if this is a member of the expected union */ - if (!_is_union_member (interface_info, py_arg)) { - if (!PyErr_Occurred()) { - gchar *type_name = _pygi_g_base_info_get_fullname (interface_info); - PyObject *module = PyObject_GetAttrString(py_arg, "__module__"); - - PyErr_Format (PyExc_TypeError, "argument %s: Expected %s, but got %s%s%s", - arg_name ? arg_name : "self", - type_name, - module ? PYGLIB_PyUnicode_AsString(module) : "", - module ? "." : "", - py_arg->ob_type->tp_name); - if (module) - Py_DECREF (module); - g_free (type_name); - } - - return FALSE; + is_union = _is_union_member (interface_info, py_arg); + if (!is_union) { + goto type_error; } } if (g_type_is_a (g_type, G_TYPE_BOXED)) { - /* Use pyg_type_from_object to pull the stashed __gtype__ attribute - * off of the input argument instead of checking PyGBoxed.gtype - * with pyg_boxed_check. This is needed to work around type discrepancies - * in cases with aliased (typedef) types. e.g. GtkAllocation, GdkRectangle. + /* Additionally use pyg_type_from_object to pull the stashed __gtype__ + * attribute off of the input argument for type checking. This is needed + * to work around type discrepancies in cases with aliased (typedef) types. + * e.g. GtkAllocation, GdkRectangle. * See: https://bugzilla.gnomethere are .org/show_bug.cgi?id=707140 */ - if (g_type_is_a (pyg_type_from_object (py_arg), g_type)) { + if (is_union || pyg_boxed_check (py_arg, g_type) || + g_type_is_a (pyg_type_from_object (py_arg), g_type)) { arg->v_pointer = pyg_boxed_get (py_arg, void); if (transfer == GI_TRANSFER_EVERYTHING) { arg->v_pointer = g_boxed_copy (g_type, arg->v_pointer); } } else { - PyErr_Format (PyExc_TypeError, "wrong boxed type"); - return FALSE; + goto type_error; } } else if (g_type_is_a (g_type, G_TYPE_POINTER) || @@ -1862,4 +1850,21 @@ return FALSE; } return TRUE; + +type_error: + { + gchar *type_name = _pygi_g_base_info_get_fullname (interface_info); + PyObject *module = PyObject_GetAttrString(py_arg, "__module__"); + + PyErr_Format (PyExc_TypeError, "argument %s: Expected %s, but got %s%s%s", + arg_name ? arg_name : "self", + type_name, + module ? PYGLIB_PyUnicode_AsString(module) : "", + module ? "." : "", + py_arg->ob_type->tp_name); + if (module) + Py_DECREF (module); + g_free (type_name); + return FALSE; + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pygobject-3.9.91/tests/test_source.py new/pygobject-3.9.92/tests/test_source.py --- old/pygobject-3.9.91/tests/test_source.py 2013-03-01 11:04:41.000000000 +0100 +++ new/pygobject-3.9.92/tests/test_source.py 2013-09-11 15:48:33.000000000 +0200 @@ -214,6 +214,17 @@ del source self.assertTrue(self.finalized) + def test_extra_init_args(self): + class SourceWithInitArgs(GLib.Source): + def __init__(self, arg, kwarg=None): + super(SourceWithInitArgs, self).__init__() + self.arg = arg + self.kwarg = kwarg + + source = SourceWithInitArgs(1, kwarg=2) + self.assertEqual(source.arg, 1) + self.assertEqual(source.kwarg, 2) + class TestUserData(unittest.TestCase): def test_idle_no_data(self): -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
