[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