123456789101112131415161718192021222324252627282930313233343536 |
- Add distutils fix for PEP 3147 issue
- Python 3 has a new standard for installing .pyc file, called PEP
- 3147. Unfortunately, this standard requires both the .py and .pyc
- files to be installed for a Python module to be found. This is quite
- annoying on space-constrained embedded systems, since the .py file is
- technically not required for execution.
- For the Python standard library, our Python 3 package already contains
- a patch named python3-004-old-stdlib-cache.patch, which allows to
- disable the PEP 3147 installation.
- But that lives the distutils/setuptools package an unsolved
- problem. This patch therefore adds a new patch to Python, which makes
- distutils package use the traditional installation path when byte
- compiling, rather than the PEP 3147 installation path. Since
- setuptools relies on distutils internally, it also fixes setuptools
- based packages.
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Index: b/Lib/distutils/util.py
- ===================================================================
- --- a/Lib/distutils/util.py
- +++ b/Lib/distutils/util.py
- @@ -437,7 +437,9 @@
- # Terminology from the py_compile module:
- # cfile - byte-compiled file
- # dfile - purported source filename (same as 'file' by default)
- - if optimize >= 0:
- + if "_python_sysroot" in os.environ:
- + cfile = file + (__debug__ and "c" or "o")
- + elif optimize >= 0:
- cfile = importlib.util.cache_from_source(
- file, debug_override=not optimize)
- else:
|