From 5476b7273f0e5e58b59da9bf6403366d08e6b585 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 8 Jul 2014 22:17:52 +0200 Subject: python: improve isolation of build environment and error handling This commit mainly fixes bug #7268 by improving the isolation of the build environment by making sure some host environment header paths do not leak into the target build. The investigation was done by David . This is done by not calling the add_multiarch_paths() function of setup.py when we're cross-compiling, a change made in the newly introduced python-013-dont-add-multiarch-path.patch. In addition to this, another patch is added to make sure the build is aborted when one of the Python module fails to build. This is done in python-014-abort-on-failed-modules.patch. Without this, the Python setup.py script simply logs which module failed to build, but doesn't abort, so it's hard to notice when there is a problem. [Peter: slightly reword commit message] Cc: David Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- .../python/python-014-abort-on-failed-modules.patch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 package/python/python-014-abort-on-failed-modules.patch (limited to 'package/python/python-014-abort-on-failed-modules.patch') diff --git a/package/python/python-014-abort-on-failed-modules.patch b/package/python/python-014-abort-on-failed-modules.patch new file mode 100644 index 0000000000..2031e2044d --- /dev/null +++ b/package/python/python-014-abort-on-failed-modules.patch @@ -0,0 +1,21 @@ +Abort on failed module build + +When building a Python module fails, the setup.py script currently +doesn't exit with an error, and simply continues. This is not a really +nice behavior, so this patch changes setup.py to abort with an error, +so that the build issue is clearly noticeable. + +Signed-off-by: Thomas Petazzoni + +Index: b/setup.py +=================================================================== +--- a/setup.py ++++ b/setup.py +@@ -281,6 +281,7 @@ + print "Failed to build these modules:" + print_three_column(failed) + print ++ sys.exit(1) + + def build_extension(self, ext): + -- cgit v1.2.3