summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3/check_build_completeness.py
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2019-02-06 17:26:34 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-08 10:57:19 +0000
commite2c3247c233876ab090c9ce3d5325a6d46ab350f (patch)
treecf38957a3510be612cde924f6184a5251b968a43 /meta/recipes-devtools/python/python3/check_build_completeness.py
parentcd6c61a26177296e24b442e2eda1514b5f931c0a (diff)
downloadpoky-e2c3247c233876ab090c9ce3d5325a6d46ab350f.tar.gz
python3: upgrade to 3.7.2
I took the same approach as the recent perl upgrade: write recipe from scratch, taking the pieces from the old recipe only when they were proven to be necessary. The pgo, manifest and ptest features are all preserved. New features: - native and target recipes are now unified into one recipe - check_build_completeness.py runs right after do_compile() and verifies that all optional modules have been built (a notorious source of regressions) - a new approach to sysconfig.py and distutils/sysconfig.py returning values appropriate for native or target builds: we copy the configuration file to a separate folder, add that folder to sys.path (through environment variable that differs between native and target builds), and point python to the file through another environment variable. There were a few other patches where it was difficult to decide if the patch is still relevant, and how to test that it works correctly; please add those as-needed by testing the new python. (From OE-Core rev: 02714c105426b0d687620913c1a7401b386428b6) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python3/check_build_completeness.py')
-rwxr-xr-xmeta/recipes-devtools/python/python3/check_build_completeness.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python3/check_build_completeness.py b/meta/recipes-devtools/python/python3/check_build_completeness.py
new file mode 100755
index 0000000000..a1eace3f57
--- /dev/null
+++ b/meta/recipes-devtools/python/python3/check_build_completeness.py
@@ -0,0 +1,17 @@
1#!/usr/bin/env python3
2import sys
3logfile = open(sys.argv[1]).read()
4
5necessary_bits = logfile.find("The necessary bits to build these optional modules were not found")
6to_find_bits = logfile.find("To find the necessary bits, look in setup.py in detect_modules() for the module's name.")
7if necessary_bits != -1:
8 print("%s" %(logfile[necessary_bits:to_find_bits]))
9
10failed_to_build = logfile.find("Failed to build these modules:")
11if failed_to_build != -1:
12 failed_to_build_end = logfile.find("\n\n", failed_to_build)
13 print("%s" %(logfile[failed_to_build:failed_to_build_end]))
14
15if necessary_bits != -1 or failed_to_build != -1:
16 sys.exit(1)
17