poky/meta/recipes-devtools/python/python3/check_build_completeness.py
Alexander Kanavin e2c3247c23 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>
2019-02-08 10:57:19 +00:00

18 lines
657 B
Python
Executable File

#!/usr/bin/env python3
import sys
logfile = open(sys.argv[1]).read()
necessary_bits = logfile.find("The necessary bits to build these optional modules were not found")
to_find_bits = logfile.find("To find the necessary bits, look in setup.py in detect_modules() for the module's name.")
if necessary_bits != -1:
print("%s" %(logfile[necessary_bits:to_find_bits]))
failed_to_build = logfile.find("Failed to build these modules:")
if failed_to_build != -1:
failed_to_build_end = logfile.find("\n\n", failed_to_build)
print("%s" %(logfile[failed_to_build:failed_to_build_end]))
if necessary_bits != -1 or failed_to_build != -1:
sys.exit(1)