c3d65a4dad
Packages built with automake use a `py-compile` helper to byte-compile Python source files. This script uses the "py_compile" module from the standard library. In turn, the compile() function in the "py_compile" module invokes the cache_from_source() function provided by importlib. This commit adds a new patch named "020-importlib-no-pep3147.patch" that changes cache_from_source() and source_from_cache() in importlib to get rid of the "__pycache__" directory. This commit fixes the following import error in kmod when the module is built for Python 3: >>> from kmod import Kmod Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name 'Kmod' Moreover, this commit removes two patches that are no longer necessary since modifying cache_from_source() and source_from_cache() disables PEP 3147 for the standard library and distutils / setuptools. * 004-old-stdlib-cache.patch * 016-distutils-no-pep3147.patch Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
61 lines
2.1 KiB
Diff
61 lines
2.1 KiB
Diff
Index: b/Makefile.pre.in
|
|
===================================================================
|
|
--- a/Makefile.pre.in
|
|
+++ b/Makefile.pre.in
|
|
@@ -1248,24 +1248,32 @@
|
|
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
|
|
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
|
|
fi
|
|
+ifeq (@PYC_BUILD@,yes)
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
|
|
-d $(LIBDEST) -f \
|
|
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
|
$(DESTDIR)$(LIBDEST)
|
|
+endif
|
|
+ifeq (@PYO_BUILD@,yes)
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
|
-d $(LIBDEST) -f \
|
|
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
|
$(DESTDIR)$(LIBDEST)
|
|
+endif
|
|
+ifeq (@PYC_BUILD@,yes)
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
|
|
-d $(LIBDEST)/site-packages -f \
|
|
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
|
+endif
|
|
+ifeq (@PYO_BUILD@,yes)
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
|
-d $(LIBDEST)/site-packages -f \
|
|
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
|
+endif
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
|
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
Index: b/configure.ac
|
|
===================================================================
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -939,6 +939,18 @@
|
|
|
|
AC_MSG_CHECKING(LDLIBRARY)
|
|
|
|
+AC_SUBST(PYC_BUILD)
|
|
+
|
|
+AC_ARG_ENABLE(pyc-build,
|
|
+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]),
|
|
+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ])
|
|
+
|
|
+AC_SUBST(PYO_BUILD)
|
|
+
|
|
+AC_ARG_ENABLE(pyo-build,
|
|
+ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]),
|
|
+ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ])
|
|
+
|
|
# MacOSX framework builds need more magic. LDLIBRARY is the dynamic
|
|
# library that we build, but we do not want to link against it (we
|
|
# will find it with a -framework option). For this reason there is an
|