kumquat-buildroot/package/python3
Thomas Petazzoni 56f3ed3fc1 package/{pkg-generic, python, python3}: add mechanism to exclude .py files from removal
When BR2_PACKAGE_PYTHON{,3}_PYC_ONLY=y, we force remove all .py files
from the system, as they have all been byte-compiled into their .pyc
variants.

However, it turns out that some packages (e.g: OpenCV) do some funky
things with a few .py files: they pass them through Python's
execfile() facility, which only works with .py files and not .pyc
files. It is used by OpenCV for example to read two small
configuration files.

In order to support such use cases, this commit introduces a very
simple mechanism by which packages can exclude some path patterns from
the .py removal: a per-package <pkg>_KEEP_PY_FILES variable that is
collected into a global PYTHON_KEEP_PY_FILES variable, then used by
the python/python3 target-finalize hooks.

This variable is intentionally not documented, this is really a hack
that we ideally would like to see go away, and we'd rather not see its
usage spread too much.

This is necessary to be able to fix bug #12171.

[Peter: check if PYTHON_KEEP_PY_FILES contains non-white space]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-11-30 09:46:27 +01:00
..
0001-Make-the-build-of-pyc-files-conditional.patch
0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch
0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch
0004-Adjust-library-header-paths-for-cross-compilation.patch
0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch
0006-Don-t-add-multiarch-paths.patch
0007-Abort-on-failed-module-build.patch
0008-Serial-ioctl-workaround.patch
0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch
0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch
0011-Override-system-locale-and-set-to-default-when-addin.patch
0012-Add-importlib-fix-for-PEP-3147-issue.patch
0013-Add-an-option-to-disable-installation-of-test-module.patch
0014-Add-an-option-to-disable-pydoc.patch
0015-Add-an-option-to-disable-lib2to3.patch
0016-Add-option-to-disable-the-sqlite3-module.patch
0017-Add-an-option-to-disable-the-tk-module.patch
0018-Add-an-option-to-disable-the-curses-module.patch
0019-Add-an-option-to-disable-expat.patch
0020-Add-an-option-to-disable-CJK-codecs.patch
0021-Add-an-option-to-disable-NIS.patch
0022-Add-an-option-to-disable-unicodedata.patch
0023-Add-an-option-to-disable-IDLE.patch
0024-Add-an-option-to-disable-decimal.patch
0025-Add-an-option-to-disable-the-ossaudiodev-module.patch
0026-Add-an-option-to-disable-openssl-support.patch
0027-Add-an-option-to-disable-the-readline-module.patch
0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch
0029-python-config.sh-don-t-reassign-prefix.patch
0030-Fix-cross-compiling-the-uuid-module.patch
0031-Add-an-option-to-disable-uuid-module.patch
0032-fix-building-on-older-distributions.patch
0033-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch
Config.in
Config.in.host
python3.hash
python3.mk package/{pkg-generic, python, python3}: add mechanism to exclude .py files from removal 2019-11-30 09:46:27 +01:00