[Python-modules-commits] r22435 - in packages/python-qt4/trunk/debian (3 files)
kitterman at users.alioth.debian.org
kitterman at users.alioth.debian.org
Sat Jul 14 05:56:02 UTC 2012
Date: Saturday, July 14, 2012 @ 05:56:00
Author: kitterman
Revision: 22435
Add debian/patches/pyuic_custom_widget.diff from upstream to fix custom
widget detection and prevent other packages from FTBFS (Closes: #680837)
Added:
packages/python-qt4/trunk/debian/patches/pyuic_custom_widget.diff
Modified:
packages/python-qt4/trunk/debian/changelog
packages/python-qt4/trunk/debian/patches/series
Modified: packages/python-qt4/trunk/debian/changelog
===================================================================
--- packages/python-qt4/trunk/debian/changelog 2012-07-14 00:18:14 UTC (rev 22434)
+++ packages/python-qt4/trunk/debian/changelog 2012-07-14 05:56:00 UTC (rev 22435)
@@ -1,3 +1,10 @@
+python-qt4 (4.9.3-3) unstable; urgency=low
+
+ * Add debian/patches/pyuic_custom_widget.diff from upstream to fix custom
+ widget detection and prevent other packages from FTBFS (Closes: #680837)
+
+ -- Scott Kitterman <scott at kitterman.com> Sat, 14 Jul 2012 00:51:49 -0400
+
python-qt4 (4.9.3-2) unstable; urgency=low
* Revert dropping of python:Provides for python-qt4 (Closes: #679819)
Added: packages/python-qt4/trunk/debian/patches/pyuic_custom_widget.diff
===================================================================
--- packages/python-qt4/trunk/debian/patches/pyuic_custom_widget.diff (rev 0)
+++ packages/python-qt4/trunk/debian/patches/pyuic_custom_widget.diff 2012-07-14 05:56:00 UTC (rev 22435)
@@ -0,0 +1,94 @@
+Description: Fixes a regression in pyuic's handling of custom widgets.
+Regression between PyQt4 4.9.1 and 4.9.3 which caused widgets not to be found
+and caused other packages to FTBFS. Patch author is the upstream developer
+and the fix will be part of the next upstream release (4.9.5).
+Author: Phil Thompson <phil at riverbankcomputing.com>
+Bug-Debian: http://bugs.debian.org/680837
+Origin: <upstream>
+Forwarded: <not-needed>
+Reviewed-By: Scott Kitterman <scott at kitterman.com>
+Last-Update: <2012-07-15>
+
+--- python-qt4-4.9.3.orig/pyuic/uic/objcreator.py
++++ python-qt4-4.9.3/pyuic/uic/objcreator.py
+@@ -102,19 +102,26 @@ class QObjectCreator(object):
+ self._modules.append(self._customWidgets)
+
+ def createQObject(self, classname, *args, **kwargs):
+- # Handle scoped names, typically static factory methods.
+- parts = classname.split('.')
+- factory = self.findQObjectType(parts[0])
+-
+- if factory is not None:
+- for part in parts[1:]:
+- factory = getattr(factory, part, None)
+- if factory is None:
+- break
+- else:
+- return self._cpolicy.instantiate(factory, *args, **kwargs)
++ # Handle regular and custom widgets.
++ factory = self.findQObjectType(classname)
+
+- raise NoSuchWidgetError(classname)
++ if factory is None:
++ # Handle scoped names, typically static factory methods.
++ parts = classname.split('.')
++
++ if len(parts) > 1:
++ factory = self.findQObjectType(parts[0])
++
++ if factory is not None:
++ for part in parts[1:]:
++ factory = getattr(factory, part, None)
++ if factory is None:
++ break
++
++ if factory is None:
++ raise NoSuchWidgetError(classname)
++
++ return self._cpolicy.instantiate(factory, *args, **kwargs)
+
+ def invoke(self, rname, method, args=()):
+ return self._cpolicy.invoke(rname, method, args)
+--- python-qt4-4.9.3.orig/pyuic/uic/Compiler/qobjectcreator.py
++++ python-qt4-4.9.3/pyuic/uic/Compiler/qobjectcreator.py
+@@ -1,6 +1,6 @@
+ #############################################################################
+ ##
+-## Copyright (C) 2011 Riverbank Computing Limited.
++## Copyright (C) 2012 Riverbank Computing Limited.
+ ## Copyright (C) 2006 Thorsten Marek.
+ ## All right reserved.
+ ##
+@@ -100,7 +100,6 @@ class _CustomWidgetLoader(object):
+ assert widgetClass not in self._widgets
+ self._widgets[widgetClass] = (baseClass, module)
+
+-
+ def _resolveBaseclass(self, baseClass):
+ try:
+ for x in range(0, 10):
+@@ -114,19 +113,17 @@ class _CustomWidgetLoader(object):
+ except KeyError:
+ raise ValueError("unknown baseclass %s" % baseClass)
+
+-
+ def search(self, cls):
+ try:
+- self._usedWidgets.add(cls)
+ baseClass = self._resolveBaseclass(self._widgets[cls][0])
+ DEBUG("resolved baseclass of %s: %s" % (cls, baseClass))
+-
+- return type(cls, (baseClass,),
+- {"module" : ""})
+-
+ except KeyError:
+ return None
+
++ self._usedWidgets.add(cls)
++
++ return type(cls, (baseClass, ), {"module" : ""})
++
+ def _writeImportCode(self):
+ imports = {}
+ for widget in self._usedWidgets:
Modified: packages/python-qt4/trunk/debian/patches/series
===================================================================
--- packages/python-qt4/trunk/debian/patches/series 2012-07-14 00:18:14 UTC (rev 22434)
+++ packages/python-qt4/trunk/debian/patches/series 2012-07-14 05:56:00 UTC (rev 22435)
@@ -1,2 +1,3 @@
qreal_float_support.diff
debian_configure_changes.diff
+pyuic_custom_widget.diff
More information about the Python-modules-commits
mailing list