Source: python-stdlib-extensions
Version: 2.7.15-1
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap

python-stdlib-extensions fails to cross build from source. There are
multiple reasons for that:

 * The Build-Depends need multiarchification.
 * setup.py builds for the build architecture. exporting PYTHONPATH
   fixes that.
 * setup.py attempts to import the built extensions, which cannot work
   during cross compilation.

The attached patch fixes all of these issues and makes
python-stdlib-extensions cross buildable. Please consider applying it.

Helmut
diff --minimal -Nru python-stdlib-extensions-2.7.15/debian/changelog 
python-stdlib-extensions-2.7.15/debian/changelog
--- python-stdlib-extensions-2.7.15/debian/changelog    2018-05-02 
10:47:10.000000000 +0200
+++ python-stdlib-extensions-2.7.15/debian/changelog    2018-11-10 
15:34:53.000000000 +0100
@@ -1,3 +1,13 @@
+python-stdlib-extensions (2.7.15-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Multiarchify Build-Depends.
+    + Set up PYTHONPATH for cross compilation.
+    + cross.patch: Don't import built modules.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sat, 10 Nov 2018 15:34:53 +0100
+
 python-stdlib-extensions (2.7.15-1) unstable; urgency=medium
 
   * Python 2.7.15 release.
diff --minimal -Nru python-stdlib-extensions-2.7.15/debian/control 
python-stdlib-extensions-2.7.15/debian/control
--- python-stdlib-extensions-2.7.15/debian/control      2018-05-02 
10:47:10.000000000 +0200
+++ python-stdlib-extensions-2.7.15/debian/control      2018-11-10 
15:34:53.000000000 +0100
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Matthias Klose <d...@debian.org>
 Build-Depends: debhelper (>= 9),
-  python-all-dev (>= 2.7.14-1~), python-all-dbg,
+  libpython-all-dev (>= 2.7.14-1~), python-all-dev:any (>= 2.7.14-1~), 
libpython-all-dbg, python-all-dbg:any,
   tk8.6-dev, blt-dev (>= 2.4z-9), libgdbm-dev
 Build-Conflicts: tcl8.4-dev, tk8.4-dev, tcl8.5-dev, tk8.5-dev
 XS-Python-Version: 2.7
diff --minimal -Nru python-stdlib-extensions-2.7.15/debian/patches/cross.patch 
python-stdlib-extensions-2.7.15/debian/patches/cross.patch
--- python-stdlib-extensions-2.7.15/debian/patches/cross.patch  1970-01-01 
01:00:00.000000000 +0100
+++ python-stdlib-extensions-2.7.15/debian/patches/cross.patch  2018-11-10 
15:34:53.000000000 +0100
@@ -0,0 +1,11 @@
+--- python-stdlib-extensions-2.7.15.orig/2.7/setup.py
++++ python-stdlib-extensions-2.7.15/2.7/setup.py
+@@ -288,6 +288,8 @@
+         ext_filename = os.path.join(
+             self.build_lib,
+             self.get_ext_filename(self.get_ext_fullname(ext.name)))
++        if "/plat-" in os.environ.get("PYTHONPATH", ""):
++            return # cross compiling
+         try:
+             imp.load_dynamic(ext.name, ext_filename)
+         except ImportError, why:
diff --minimal -Nru python-stdlib-extensions-2.7.15/debian/patches/series 
python-stdlib-extensions-2.7.15/debian/patches/series
--- python-stdlib-extensions-2.7.15/debian/patches/series       1970-01-01 
01:00:00.000000000 +0100
+++ python-stdlib-extensions-2.7.15/debian/patches/series       2018-11-10 
15:34:53.000000000 +0100
@@ -0,0 +1 @@
+cross.patch
diff --minimal -Nru python-stdlib-extensions-2.7.15/debian/rules 
python-stdlib-extensions-2.7.15/debian/rules
--- python-stdlib-extensions-2.7.15/debian/rules        2015-12-09 
13:34:08.000000000 +0100
+++ python-stdlib-extensions-2.7.15/debian/rules        2018-11-10 
15:34:53.000000000 +0100
@@ -13,7 +13,10 @@
 #pkgver        = 2.4.3-$(shell expr $(rel_ext) + 0)
 #pkgver        = 2.4.3-3ubuntu1
 
+include /usr/share/dpkg/architecture.mk
+
 PYVERS = $(shell pyversions -vs)
+export PYTHONPATH:=/usr/lib/python2.7/plat-$(DEB_HOST_MULTIARCH)$(if 
$(PYTHONPATH),:$(PYTHONPATH))
 
 p_tk   = python-tk
 p_gdbm = python-gdbm

Reply via email to