[Python-modules-commits] r34399 - in packages/py3cairo/trunk/debian (4 files)

kitterman at users.alioth.debian.org kitterman at users.alioth.debian.org
Sun Sep 27 23:03:47 UTC 2015


    Date: Sunday, September 27, 2015 @ 23:03:46
  Author: kitterman
Revision: 34399

* Team upload.
* Add patches 80_fix-pickle.patch and 81_pickling-again.patch from Ubuntu
  to fix FTBFS (Closes: #800239)

Added:
  packages/py3cairo/trunk/debian/patches/80_fix-pickle.patch
  packages/py3cairo/trunk/debian/patches/81_pickling-again.patch
Modified:
  packages/py3cairo/trunk/debian/changelog
  packages/py3cairo/trunk/debian/patches/series

Modified: packages/py3cairo/trunk/debian/changelog
===================================================================
--- packages/py3cairo/trunk/debian/changelog	2015-09-27 23:00:14 UTC (rev 34398)
+++ packages/py3cairo/trunk/debian/changelog	2015-09-27 23:03:46 UTC (rev 34399)
@@ -1,3 +1,11 @@
+py3cairo (1.10.0+dfsg-5) unstable; urgency=medium
+
+  * Team upload.
+  * Add patches 80_fix-pickle.patch and 81_pickling-again.patch from Ubuntu
+    to fix FTBFS (Closes: #800239)
+
+ -- Scott Kitterman <scott at kitterman.com>  Sun, 27 Sep 2015 18:41:16 -0400
+
 py3cairo (1.10.0+dfsg-4) unstable; urgency=medium
 
   * debian/patches/70_dont-link-libpython.patch

Added: packages/py3cairo/trunk/debian/patches/80_fix-pickle.patch
===================================================================
--- packages/py3cairo/trunk/debian/patches/80_fix-pickle.patch	                        (rev 0)
+++ packages/py3cairo/trunk/debian/patches/80_fix-pickle.patch	2015-09-27 23:03:46 UTC (rev 34399)
@@ -0,0 +1,30 @@
+Description: During the build process, a Context instance is pickled, or at
+ least attempted to be.  This fails because self.node_class is assigned to a
+ class which is nested inside the __init__() method.  Because Python cannot
+ find this class at unpickling time (i.e. it cannot be imported), Python
+ refuses to pickle the Context instance, leading to a FTBFS.  Since there's no
+ obvious reason why the class has to be so nested, moving it to a module
+ global solves the build failure.
+Author: Barry Warsaw <barry at debian.org>
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=91561
+
+--- a/waflib/Context.py
++++ b/waflib/Context.py
+@@ -51,6 +51,8 @@
+ 		global classes
+ 		classes.insert(0,cls)
+ ctx=store_context('ctx',(object,),{})
++class node_class(waflib.Node.Node):
++    pass
+ class Context(ctx):
+ 	errors=Errors
+ 	tools={}
+@@ -60,8 +62,6 @@
+ 		except KeyError:
+ 			global run_dir
+ 			rd=run_dir
+-		class node_class(waflib.Node.Node):
+-			pass
+ 		self.node_class=node_class
+ 		self.node_class.__module__="waflib.Node"
+ 		self.node_class.__name__="Nod3"

Added: packages/py3cairo/trunk/debian/patches/81_pickling-again.patch
===================================================================
--- packages/py3cairo/trunk/debian/patches/81_pickling-again.patch	                        (rev 0)
+++ packages/py3cairo/trunk/debian/patches/81_pickling-again.patch	2015-09-27 23:03:46 UTC (rev 34399)
@@ -0,0 +1,37 @@
+Description: Follow up to 80_fix-pickle.patch.  Just disable pickling
+ altogether since the previous patch doesn't really fix the problem, and not
+ storing the pickle seems to have no adverse effects on the build, while
+ avoiding the observed traceback.
+Author: Barry Warsaw <barry at debian.org>
+Forwarded: no
+
+--- a/waflib/Build.py
++++ b/waflib/Build.py
+@@ -151,6 +151,7 @@
+ 				f.close()
+ 		self.init_dirs()
+ 	def store(self):
++		return
+ 		data={}
+ 		for x in SAVED_ATTRS:
+ 			data[x]=getattr(self,x)
+--- a/waflib/Context.py
++++ b/waflib/Context.py
+@@ -51,8 +51,6 @@
+ 		global classes
+ 		classes.insert(0,cls)
+ ctx=store_context('ctx',(object,),{})
+-class node_class(waflib.Node.Node):
+-    pass
+ class Context(ctx):
+ 	errors=Errors
+ 	tools={}
+@@ -62,6 +60,8 @@
+ 		except KeyError:
+ 			global run_dir
+ 			rd=run_dir
++		class node_class(waflib.Node.Node):
++			pass
+ 		self.node_class=node_class
+ 		self.node_class.__module__="waflib.Node"
+ 		self.node_class.__name__="Nod3"

Modified: packages/py3cairo/trunk/debian/patches/series
===================================================================
--- packages/py3cairo/trunk/debian/patches/series	2015-09-27 23:00:14 UTC (rev 34398)
+++ packages/py3cairo/trunk/debian/patches/series	2015-09-27 23:03:46 UTC (rev 34399)
@@ -3,3 +3,5 @@
 101_pycairo-region.patch
 60_python-config-without-interpreter.patch
 70_dont-link-libpython.patch
+80_fix-pickle.patch
+81_pickling-again.patch




More information about the Python-modules-commits mailing list