python3: bump to 3.7.0

Other changes include:

 - Refreshing all necessary patches for 3.7.0

 - Add a hash for the license file.

 - Python no longer has it's own internal libffi, as such, host-libffi
   is now required to build host-python3, and is added as a
   dependency.

 - Drop PYTHON3_LIBTOOL_PATCH = NO, since there is no longer any
   internal libffi copy that was causing the libtool patching process
   to fail.

 - A new core module "uuid" is now is added in the Config.in file, and
   relies on util-linux's uuid library.

 - Also, a new patch: 0030-Fix-cross-compiling-the-uuid-module.patch
   is required to fix compiling the uuid module, because the include
   directory search path for uuid.h is hardcoded to /usr/include/uuid,
   which causes an "unsafe for cross-compilation" error during
   compiling if the host pc has uuid headers installed.

 - 0031-Add-an-option-to-disable-uuid-module.patch is added to allow
   disabling the Python3 UUID module, so that when
   BR2_PACKAGE_PYTHON3_UUID is disabled by the UUID library is
   present, the uuid Python module is not built, as expected.

 - 0032-fix-building-on-older-distributions.patch is added to change
   os.replace by os.rename in the update_file.py script to fix
   building on older Linux distributions that have older versions of
   python that don't include os.replace.

   os.rename acts in the same way as os.replace, but is cross-platform
   compatible. Because Buildroot is guaranteed to be built in a POSIX
   environment, it is safe to change replace to rename.

Tested on CentOS6 and Fedora28, All test results passed:
             br-arm-full [1/6]: OK
  br-arm-cortex-a9-glibc [2/6]: OK
   br-arm-cortex-m4-full [3/6]: SKIPPED
          br-x86-64-musl [4/6]: OK
      br-arm-full-static [5/6]: SKIPPED
armv5-ctng-linux-gnueabi [6/6]: OK
6 builds, 2 skipped, 0 build failed, 0 legal-info failed

Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Thomas:
 - remove PYTHON3_LIBTOOL_PATCH = NO
 - improve the solution in patch 0030-Fix-cross-compiling-the-uuid-module
 - add patch 0031-Add-an-option-to-disable-uuid-module]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018.11.x
Adam Duskett 2018-07-20 12:10:21 -04:00 committed by Thomas Petazzoni
parent 90a9709796
commit 6e7e733f3b
34 changed files with 246 additions and 117 deletions

View File

@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 82e830727e..b38bd79121 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1311,6 +1311,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
@@ -1385,6 +1385,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
fi
@ -26,7 +26,7 @@ index 82e830727e..b38bd79121 100644
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-d $(LIBDEST) -f \
@@ -1338,6 +1339,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
@@ -1412,6 +1413,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
-d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
@ -38,7 +38,7 @@ diff --git a/configure.ac b/configure.ac
index 962006704f..a76b5444df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1113,6 +1113,12 @@ fi
@@ -1107,6 +1107,12 @@ fi
AC_MSG_CHECKING(LDLIBRARY)

View File

@ -13,7 +13,7 @@ diff --git a/configure.ac b/configure.ac
index a76b5444df..5f87c4db5a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3939,7 +3939,7 @@ fi
@@ -3985,7 +3985,7 @@ fi
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)

View File

@ -47,7 +47,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index b38bd79121..4ce917ab8d 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -190,6 +190,8 @@ FILEMODE= 644
@@ -196,6 +196,8 @@ FILEMODE= 644
# configure script arguments
CONFIG_ARGS= @CONFIG_ARGS@
@ -56,15 +56,15 @@ index b38bd79121..4ce917ab8d 100644
# Subdirectories with code
SRCDIRS= @SRCDIRS@
@@ -575,6 +577,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
@@ -609,6 +611,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
esac; \
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
@@ -1436,7 +1439,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
@@ -1508,7 +1511,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
@ -78,7 +78,7 @@ diff --git a/configure.ac b/configure.ac
index 5f87c4db5a..d5ee2aedfb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2810,6 +2810,8 @@ LIBS="$withval $LIBS"
@@ -2902,6 +2902,8 @@ LIBS="$withval $LIBS"
PKG_PROG_PKG_CONFIG

View File

@ -61,7 +61,7 @@ index 2bcd1dd288..422c13fa4f 100644
+ BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
# Path to the base directory of the project. On Windows the binary may
# live in project/PCBuild/win32 or project/PCBuild/amd64.
# live in project/PCbuild/win32 or project/PCbuild/amd64.
--
2.13.5

View File

@ -12,7 +12,7 @@ diff --git a/setup.py b/setup.py
index 86643ae8bf..cd00fbdbda 100644
--- a/setup.py
+++ b/setup.py
@@ -786,12 +786,9 @@ class PyBuildExt(build_ext):
@@ -850,12 +850,9 @@ class PyBuildExt(build_ext):
pass # Issue 7384: Already linked against curses or tinfo.
elif curses_library:
readline_libs.append(curses_library)

View File

@ -20,7 +20,7 @@ diff --git a/setup.py b/setup.py
index cd00fbdbda..c956fa08d1 100644
--- a/setup.py
+++ b/setup.py
@@ -497,10 +497,10 @@ class PyBuildExt(build_ext):
@@ -547,10 +547,10 @@ class PyBuildExt(build_ext):
if not cross_compiling:
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')

View File

@ -17,7 +17,7 @@ diff --git a/setup.py b/setup.py
index c956fa08d1..b3add2be76 100644
--- a/setup.py
+++ b/setup.py
@@ -312,6 +312,7 @@ class PyBuildExt(build_ext):
@@ -358,6 +358,7 @@ class PyBuildExt(build_ext):
print("Failed to build these modules:")
print_three_column(failed)
print()

View File

@ -18,7 +18,7 @@ diff --git a/Modules/termios.c b/Modules/termios.c
index b78d33e688..58b0444565 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
@@ -9,7 +9,9 @@
@@ -15,7 +15,9 @@
#endif
#include <termios.h>

View File

@ -21,40 +21,47 @@ Submitted upstream: http://bugs.python.org/issue22907
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
Misc/python-config.sh.in | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
Misc/python-config.sh.in | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
index 30c6927871..f905a7132f 100644
index d1d3275..9e259c0 100644
--- a/Misc/python-config.sh.in
+++ b/Misc/python-config.sh.in
@@ -29,12 +29,12 @@ prefix_real=$(installed_prefix "$0")
@@ -24,18 +24,19 @@ installed_prefix ()
echo $RESULT
}
+prefix_build="@prefix@"
prefix_real=$(installed_prefix "$0")
# Use sed to fix paths from their built-to locations to their installed-to
# locations.
-prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
# locations. Keep prefix & exec_prefix using their original values in case
# they are referenced in other configure variables, to prevent double
# substitution, issue #22140.
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
+prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#")
exec_prefix_build="@exec_prefix@"
-exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
-includedir=$(echo "@includedir@" | sed "s#$prefix_build#$prefix_real#")
-libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#")
-CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#")
+exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#")
exec_prefix_real=${prefix_real}
-includedir=$(echo "@includedir@" | sed "s#$prefix#$prefix_real#")
-libdir=$(echo "@libdir@" | sed "s#$prefix#$prefix_real#")
-CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix#$prefix_real#")
+includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#")
+libdir=$(echo "@libdir@" | sed "s#^$prefix_build#$prefix_real#")
+CFLAGS=$(echo "@CFLAGS@" | sed "s#^$prefix_build#$prefix_real#")
VERSION="@VERSION@"
LIBM="@LIBM@"
LIBC="@LIBC@"
@@ -48,7 +48,7 @@ OPT="@OPT@"
@@ -49,7 +50,7 @@ OPT="@OPT@"
PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
LDVERSION="@LDVERSION@"
LIBDEST=${prefix}/lib/python${VERSION}
-LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#")
LIBDEST=${prefix_real}/lib/python${VERSION}
-LIBPL=$(echo "@LIBPL@" | sed "s#$prefix#$prefix_real#")
+LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#")
SO="@EXT_SUFFIX@"
PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}"
--
2.13.5
2.14.3

View File

@ -23,7 +23,7 @@ diff --git a/setup.py b/setup.py
index b3add2be76..29bfd174d2 100644
--- a/setup.py
+++ b/setup.py
@@ -457,7 +457,7 @@ class PyBuildExt(build_ext):
@@ -514,7 +514,7 @@ class PyBuildExt(build_ext):
tmpfile = os.path.join(self.build_temp, 'gccpaths')
if not os.path.exists(self.build_temp):
os.makedirs(self.build_temp)

View File

@ -28,7 +28,7 @@ diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_ext
index 9feec50842..3550013d58 100644
--- a/Lib/importlib/_bootstrap_external.py
+++ b/Lib/importlib/_bootstrap_external.py
@@ -275,8 +275,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
@@ -283,8 +283,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
a True value is the same as setting 'optimization' to the empty string
while a False value is equivalent to setting 'optimization' to '1'.
@ -37,7 +37,7 @@ index 9feec50842..3550013d58 100644
"""
if debug_override is not None:
_warnings.warn('the debug_override parameter is deprecated; use '
@@ -288,10 +286,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
@@ -296,10 +294,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
path = _os.fspath(path)
head, tail = _path_split(path)
base, sep, rest = tail.rpartition('.')
@ -49,7 +49,7 @@ index 9feec50842..3550013d58 100644
if optimization is None:
if sys.flags.optimize == 0:
optimization = ''
@@ -302,40 +297,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
@@ -310,40 +305,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
if not optimization.isalnum():
raise ValueError('{!r} is not alphanumeric'.format(optimization))
almost_filename = '{}.{}{}'.format(almost_filename, _OPT, optimization)

View File

@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 4ce917ab8d..4110fff4ac 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1194,8 +1194,28 @@ maninstall: altmaninstall
@@ -1251,8 +1251,28 @@ maninstall: altmaninstall
# Install the library
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
@ -50,10 +50,14 @@ index 4ce917ab8d..4110fff4ac 100644
test/audiodata \
test/capath test/data \
test/cjkencodings test/decimaltestdata test/xmltestdata \
@@ -1229,29 +1249,26 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
test/test_importlib/namespace_pkgs/project3/parent/child \
test/test_importlib/namespace_pkgs/module_and_namespace_package \
test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 1ff2362..194dbfc 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1326,26 +1326,24 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_importlib/source \
test/test_importlib/zipdata01 \
test/test_importlib/zipdata02 \
- asyncio \
test/test_asyncio \
- collections concurrent concurrent/futures encodings \
@ -72,13 +76,10 @@ index 4ce917ab8d..4110fff4ac 100644
- ctypes ctypes/test ctypes/macholib \
- idlelib idlelib/Icons idlelib/idle_test \
- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
- importlib test/test_importlib test/test_importlib/builtin \
+ ctypes/test \
+ idlelib/idle_test \
+ distutils/tests \
+ test/test_importlib test/test_importlib/builtin \
test/test_importlib/extension test/test_importlib/frozen \
test/test_importlib/import_ test/test_importlib/source \
test/test_tools test/test_warnings test/test_warnings/data \
- turtledemo \
- multiprocessing multiprocessing/dummy \
@ -98,8 +99,8 @@ diff --git a/configure.ac b/configure.ac
index d5ee2aedfb..f924937fe1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3112,6 +3112,11 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_atfork)
@@ -3162,6 +3162,11 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
+AC_SUBST(TEST_MODULES)

View File

@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 4110fff4ac..badb2af35d 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1164,7 +1164,9 @@ bininstall: altbininstall
@@ -1221,7 +1221,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(BINDIR)/idle3
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
@ -30,7 +30,7 @@ index 4110fff4ac..badb2af35d 100644
-rm -f $(DESTDIR)$(BINDIR)/2to3
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
-rm -f $(DESTDIR)$(BINDIR)/pyvenv
@@ -1212,7 +1214,7 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1269,7 +1271,7 @@ LIBSUBDIRS= tkinter site-packages \
multiprocessing multiprocessing/dummy \
unittest \
venv venv/scripts venv/scripts/common venv/scripts/posix \
@ -39,7 +39,7 @@ index 4110fff4ac..badb2af35d 100644
TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
tkinter/test/test_ttk test \
@@ -1269,6 +1271,10 @@ ifeq (@TEST_MODULES@,yes)
@@ -1344,6 +1346,10 @@ ifeq (@TEST_MODULES@,yes)
LIBSUBDIRS += $(TESTSUBDIRS)
endif
@ -54,8 +54,8 @@ diff --git a/configure.ac b/configure.ac
index f924937fe1..1621fa1611 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3112,6 +3112,12 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_atfork)
@@ -3162,6 +3162,12 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
+AC_SUBST(PYDOC)
@ -71,7 +71,7 @@ diff --git a/setup.py b/setup.py
index 29bfd174d2..94dd337fef 100644
--- a/setup.py
+++ b/setup.py
@@ -2281,6 +2281,12 @@ def main():
@@ -2332,6 +2332,12 @@ def main():
# turn off warnings when deprecated modules are imported
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
@ -84,7 +84,7 @@ index 29bfd174d2..94dd337fef 100644
setup(# PyPI Metadata (PEP 301)
name = "Python",
version = sys.version.split()[0],
@@ -2305,8 +2311,7 @@ def main():
@@ -2356,8 +2362,7 @@ def main():
# If you change the scripts installed here, you also need to
# check the PyBuildScripts command above, and change the links
# created by the bininstall target in Makefile.pre.in

View File

@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index badb2af35d..931cc3ed07 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1168,7 +1168,9 @@ ifeq (@PYDOC@,yes)
@@ -1225,7 +1225,9 @@ ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
endif
-rm -f $(DESTDIR)$(BINDIR)/2to3
@ -30,7 +30,7 @@ index badb2af35d..931cc3ed07 100644
-rm -f $(DESTDIR)$(BINDIR)/pyvenv
(cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv)
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
@@ -1205,7 +1207,6 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1262,7 +1264,6 @@ LIBSUBDIRS= tkinter site-packages \
html json http dbm xmlrpc \
sqlite3 \
logging csv wsgiref urllib \
@ -38,7 +38,7 @@ index badb2af35d..931cc3ed07 100644
ctypes ctypes/macholib \
idlelib idlelib/Icons \
distutils distutils/command $(XMLLIBSUBDIRS) \
@@ -1255,9 +1256,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1332,9 +1333,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_email test/test_email/data \
test/test_json \
sqlite3/test \
@ -48,7 +48,7 @@ index badb2af35d..931cc3ed07 100644
ctypes/test \
idlelib/idle_test \
distutils/tests \
@@ -1267,6 +1265,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1342,6 +1340,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_tools test/test_warnings test/test_warnings/data \
unittest/test unittest/test/testmock
@ -63,7 +63,7 @@ index badb2af35d..931cc3ed07 100644
ifeq (@TEST_MODULES@,yes)
LIBSUBDIRS += $(TESTSUBDIRS)
endif
@@ -1366,10 +1372,12 @@ ifeq (@PYC_BUILD@,yes)
@@ -1441,10 +1447,12 @@ ifeq (@PYC_BUILD@,yes)
-d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
endif
@ -75,12 +75,12 @@ index badb2af35d..931cc3ed07 100644
+endif
python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
# Substitution happens here, as the completely-expanded BINDIR
@ # Substitution happens here, as the completely-expanded BINDIR
diff --git a/configure.ac b/configure.ac
index 1621fa1611..13b2edf8b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3124,6 +3124,12 @@ AC_ARG_ENABLE(test-modules,
@@ -3174,6 +3174,12 @@ AC_ARG_ENABLE(test-modules,
AS_HELP_STRING([--disable-test-modules], [disable test modules]),
[ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
@ -97,7 +97,7 @@ diff --git a/setup.py b/setup.py
index 94dd337fef..76429e1326 100644
--- a/setup.py
+++ b/setup.py
@@ -2282,10 +2282,11 @@ def main():
@@ -2333,10 +2333,11 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)

View File

@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 931cc3ed07..a1ce0712cd 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1205,7 +1205,6 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1262,7 +1262,6 @@ LIBSUBDIRS= tkinter site-packages \
email email/mime \
ensurepip ensurepip/_bundled \
html json http dbm xmlrpc \
@ -24,7 +24,7 @@ index 931cc3ed07..a1ce0712cd 100644
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
@@ -1255,7 +1254,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1332,7 +1331,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_asyncio \
test/test_email test/test_email/data \
test/test_json \
@ -32,7 +32,7 @@ index 931cc3ed07..a1ce0712cd 100644
ctypes/test \
idlelib/idle_test \
distutils/tests \
@@ -1273,6 +1271,11 @@ TESTSUBDIRS += lib2to3/tests \
@@ -1348,6 +1346,11 @@ TESTSUBDIRS += lib2to3/tests \
lib2to3/tests/data/fixers/myfixes
endif
@ -48,8 +48,8 @@ diff --git a/configure.ac b/configure.ac
index 13b2edf8b7..d7582cfea4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3112,6 +3112,15 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_atfork)
@@ -3162,6 +3162,15 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
+AC_SUBST(SQLITE3)

View File

@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index a1ce0712cd..dc1e917cc3 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1199,7 +1199,7 @@ maninstall: altmaninstall
@@ -1256,7 +1256,7 @@ maninstall: altmaninstall
# Install the library
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
@ -25,7 +25,7 @@ index a1ce0712cd..dc1e917cc3 100644
asyncio \
collections concurrent concurrent/futures encodings \
email email/mime \
@@ -1216,8 +1216,7 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1273,8 +1273,7 @@ LIBSUBDIRS= tkinter site-packages \
venv venv/scripts venv/scripts/common venv/scripts/posix \
curses
@ -35,7 +35,7 @@ index a1ce0712cd..dc1e917cc3 100644
test/audiodata \
test/capath test/data \
test/cjkencodings test/decimaltestdata test/xmltestdata \
@@ -1263,6 +1262,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1338,6 +1337,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_tools test/test_warnings test/test_warnings/data \
unittest/test unittest/test/testmock
@ -52,7 +52,7 @@ diff --git a/configure.ac b/configure.ac
index d7582cfea4..6a56a5b0c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3121,6 +3121,15 @@ if test "$SQLITE3" = "no" ; then
@@ -3171,6 +3171,15 @@ if test "$SQLITE3" = "no" ; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
fi

View File

@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index dc1e917cc3..6a6bc082cd 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1213,8 +1213,7 @@ LIBSUBDIRS= site-packages \
@@ -1270,8 +1270,7 @@ LIBSUBDIRS= site-packages \
turtledemo \
multiprocessing multiprocessing/dummy \
unittest \
@ -26,7 +26,7 @@ index dc1e917cc3..6a6bc082cd 100644
TESTSUBDIRS= test \
test/audiodata \
@@ -1268,6 +1267,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
@@ -1343,6 +1342,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
tkinter/test/test_ttk
endif
@ -41,7 +41,7 @@ diff --git a/configure.ac b/configure.ac
index 6a56a5b0c1..5896b39ff9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3130,6 +3130,15 @@ if test "$TK" = "no"; then
@@ -3180,6 +3180,15 @@ if test "$TK" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
fi

View File

@ -23,7 +23,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 6a6bc082cd..dc4b92b6fe 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1208,7 +1208,7 @@ LIBSUBDIRS= site-packages \
@@ -1265,7 +1265,7 @@ LIBSUBDIRS= site-packages \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
@ -32,7 +32,7 @@ index 6a6bc082cd..dc4b92b6fe 100644
importlib \
turtledemo \
multiprocessing multiprocessing/dummy \
@@ -1271,6 +1271,10 @@ ifeq (@CURSES@,yes)
@@ -1346,6 +1346,10 @@ ifeq (@CURSES@,yes)
LIBSUBDIRS += curses
endif
@ -47,7 +47,7 @@ diff --git a/configure.ac b/configure.ac
index 5896b39ff9..6f21482207 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2813,13 +2813,21 @@ PKG_PROG_PKG_CONFIG
@@ -2905,13 +2905,21 @@ PKG_PROG_PKG_CONFIG
AC_SUBST(DISABLED_EXTENSIONS)
# Check for use of the system expat library
@ -78,7 +78,7 @@ diff --git a/setup.py b/setup.py
index 76429e1326..38aa5e605e 100644
--- a/setup.py
+++ b/setup.py
@@ -1495,7 +1495,7 @@ class PyBuildExt(build_ext):
@@ -1485,7 +1485,7 @@ class PyBuildExt(build_ext):
#
# More information on Expat can be found at www.libexpat.org.
#
@ -86,7 +86,7 @@ index 76429e1326..38aa5e605e 100644
+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"):
expat_inc = []
define_macros = []
expat_lib = ['expat']
extra_compile_args = []
--
2.13.5

View File

@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac
index 6f21482207..c7742faf41 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3129,6 +3129,12 @@ if test "$SQLITE3" = "no" ; then
@@ -3179,6 +3179,12 @@ if test "$SQLITE3" = "no" ; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
fi

View File

@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac
index c7742faf41..42a871bb09 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3135,6 +3135,12 @@ AC_ARG_ENABLE(codecs-cjk,
@@ -3185,6 +3185,12 @@ AC_ARG_ENABLE(codecs-cjk,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022"
fi])

View File

@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac
index 42a871bb09..1d610e132b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3141,6 +3141,12 @@ AC_ARG_ENABLE(nis,
@@ -3191,6 +3191,12 @@ AC_ARG_ENABLE(nis,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
fi])

View File

@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index dc4b92b6fe..3e43066d90 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1162,7 +1162,9 @@ bininstall: altbininstall
@@ -1219,7 +1219,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(LIBPC)/python3.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc)
-rm -f $(DESTDIR)$(BINDIR)/idle3
@ -29,7 +29,7 @@ index dc4b92b6fe..3e43066d90 100644
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
@@ -1207,7 +1209,6 @@ LIBSUBDIRS= site-packages \
@@ -1264,7 +1266,6 @@ LIBSUBDIRS= site-packages \
html json http dbm xmlrpc \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
@ -37,7 +37,7 @@ index dc4b92b6fe..3e43066d90 100644
distutils distutils/command \
importlib \
turtledemo \
@@ -1275,6 +1276,10 @@ ifeq (@EXPAT@,yes)
@@ -1350,6 +1351,10 @@ ifeq (@EXPAT@,yes)
LIBSUBDIRS += $(XMLLIBSUBDIRS)
endif
@ -52,7 +52,7 @@ diff --git a/configure.ac b/configure.ac
index 1d610e132b..2699e7ceb1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3183,6 +3183,12 @@ AC_ARG_ENABLE(lib2to3,
@@ -3233,6 +3233,12 @@ AC_ARG_ENABLE(lib2to3,
AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
[ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
@ -69,7 +69,7 @@ diff --git a/setup.py b/setup.py
index 38aa5e605e..d642825c1e 100644
--- a/setup.py
+++ b/setup.py
@@ -2282,11 +2282,13 @@ def main():
@@ -2333,11 +2333,13 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)

View File

@ -9,6 +9,8 @@ Python whether we want to use the system libmpdec (already installed),
the libmpdec builtin the Python sources, or no libmpdec at all.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[aduskett@gmail.com: Update for python 3.7.0]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
configure.ac | 17 ++++++++++++-----
setup.py | 2 +-
@ -18,8 +20,8 @@ diff --git a/configure.ac b/configure.ac
index 2699e7ceb1..e2c3b6f25c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2862,13 +2862,20 @@ AC_SUBST(LIBFFI_INCLUDEDIR)
AC_MSG_RESULT($with_system_ffi)
@@ -2956,13 +2956,20 @@ fi
AC_SUBST(LIBFFI_INCLUDEDIR)
# Check for use of the system libmpdec library
-AC_MSG_CHECKING(for --with-system-libmpdec)
@ -48,7 +50,7 @@ diff --git a/setup.py b/setup.py
index d642825c1e..5b98255857 100644
--- a/setup.py
+++ b/setup.py
@@ -2058,7 +2058,7 @@ class PyBuildExt(build_ext):
@@ -2010,7 +2010,7 @@ class PyBuildExt(build_ext):
def _decimal_ext(self):
extra_compile_args = []
undef_macros = []

View File

@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac
index e2c3b6f25c..8e3dded25e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2877,6 +2877,12 @@ else
@@ -2971,6 +2971,12 @@ else
fi
AC_SUBST(MPDEC)

View File

@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac
index 8e3dded25e..28bcdabd67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3160,6 +3160,12 @@ AC_ARG_ENABLE(unicodedata,
@@ -3210,6 +3210,12 @@ AC_ARG_ENABLE(unicodedata,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata"
fi])

View File

@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac
index 28bcdabd67..484f6ebaca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3166,6 +3166,12 @@ AC_ARG_ENABLE(openssl,
@@ -3216,6 +3216,12 @@ AC_ARG_ENABLE(openssl,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib"
fi])

View File

@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac
index 484f6ebaca..79538df0cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3172,6 +3172,24 @@ AC_ARG_ENABLE(readline,
@@ -3222,6 +3222,24 @@ AC_ARG_ENABLE(readline,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline"
fi])

View File

@ -23,31 +23,31 @@ dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b627
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
Misc/python-config.sh.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Misc/python-config.sh.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
index f905a71..e06be0f 100644
index 9e259c0..8b249d9 100644
--- a/Misc/python-config.sh.in
+++ b/Misc/python-config.sh.in
@@ -29,7 +29,7 @@ prefix_real=$(installed_prefix "$0")
# Use sed to fix paths from their built-to locations to their installed-to
# locations.
@@ -31,7 +31,7 @@ prefix_real=$(installed_prefix "$0")
# locations. Keep prefix & exec_prefix using their original values in case
# they are referenced in other configure variables, to prevent double
# substitution, issue #22140.
-prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#")
+prefix=$prefix_build
exec_prefix_build="@exec_prefix@"
exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#")
exec_prefix_real=${prefix_real}
includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#")
@@ -47,7 +46,7 @@ LINKFORSHARED="@LINKFORSHARED@"
@@ -49,7 +49,7 @@ LINKFORSHARED="@LINKFORSHARED@"
OPT="@OPT@"
PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
LDVERSION="@LDVERSION@"
-LIBDEST=${prefix}/lib/python${VERSION}
-LIBDEST=${prefix_real}/lib/python${VERSION}
+LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#")
LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#")
SO="@EXT_SUFFIX@"
PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
--
1.8.3.1
2.14.3

View File

@ -0,0 +1,38 @@
From ad4537a75c798341824ab18bd1dc622f8dc2bc3a Mon Sep 17 00:00:00 2001
From: Adam Duskett <aduskett@gmail.com>
Date: Fri, 20 Jul 2018 10:17:39 -0400
Subject: [PATCH] Fix cross compiling the uuid module
Python 3.7 has a new _uuid module, however, the include directory
search path for uuid.h is hardcoded to /usr/include/uuid, which should
not be used when cross-compiling.
To fix this, use the same solution as the one used by the NIS
detection: append "uuid" to each of the include directories in
"inc_dirs", instead of hardcoding /usr/include/uuid.
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Thomas: drop STAGING_DIR based solution, use a solution similar to
the one used for the NIS detection.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
setup.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 1a7085c5c4..f33d0b57b8 100644
--- a/setup.py
+++ b/setup.py
@@ -1627,7 +1627,8 @@ class PyBuildExt(build_ext):
missing.append('_tkinter')
# Build the _uuid module if possible
- uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])
+ uuid_incs = find_file("uuid.h", inc_dirs,
+ [os.path.join(inc_dir, 'uuid') for inc_dir in inc_dirs])
if uuid_incs is not None:
if self.compiler.find_library_file(lib_dirs, 'uuid'):
uuid_libs = ['uuid']
--
2.14.4

View File

@ -0,0 +1,33 @@
From 1fe33c7bee9e6410f56c956ea19efd2f617176ae Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sat, 18 Aug 2018 10:54:56 +0200
Subject: [PATCH] Add an option to disable uuid module
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
configure.ac | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/configure.ac b/configure.ac
index b022460e73..505b7c9be0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3258,6 +3258,15 @@ if test "$CURSES" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
fi
+AC_SUBST(UUID)
+AC_ARG_ENABLE(uuid,
+ AS_HELP_STRING([--disable-uuid], [disable uuid]),
+ [ UUID="${enableval}" ], [ UUID=yes ])
+
+if test "$UUID" = "no"; then
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid"
+fi
+
AC_SUBST(PYDOC)
AC_ARG_ENABLE(pydoc,
--
2.14.4

View File

@ -0,0 +1,38 @@
From ba10bac420398270a0b992e85d93383373d5fcac Mon Sep 17 00:00:00 2001
From: Adam Duskett <aduskett@greenlots.com>
Date: Thu, 16 Aug 2018 14:52:37 -0700
Subject: [PATCH] fix building on older distributions
Python > 3.6.3 calls os.replace in the update_file.py script, during the
regen-importlib phase of the build process.
According to Doc/whatsnew/3.3.rst line 1631, os.replace acts in the same
way as os.rename, however, it is now cross-platform compatible for Windows.
Because BuildRoot is guaranteed only to be built in POSIX environment, it is
safe to change os.replace back to os.rename.
This change fixes building on older systems such as CentOS7, that only come
with python 2.
Signed-off-by: Adam Duskett <aduskett@greenlots.com>
---
Tools/scripts/update_file.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Tools/scripts/update_file.py b/Tools/scripts/update_file.py
index 224585c69b..ef458c0c63 100644
--- a/Tools/scripts/update_file.py
+++ b/Tools/scripts/update_file.py
@@ -16,7 +16,7 @@ def main(old_path, new_path):
with open(new_path, 'rb') as f:
new_contents = f.read()
if old_contents != new_contents:
- os.replace(new_path, old_path)
+ os.rename(new_path, old_path)
else:
os.unlink(new_path)
--
2.14.4

View File

@ -88,6 +88,16 @@ config BR2_PACKAGE_PYTHON3_UNICODEDATA
Unicode character database (used by stringprep module)
(large).
config BR2_PACKAGE_PYTHON3_UUID
bool "uuid module"
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
This module provides immutable UUID objects (the UUID class)
and the functions uuid1(), uuid3(), uuid4(), uuid5() for
generating version 1, 3, 4, and 5 UUIDs as specified in RFC
4122.
config BR2_PACKAGE_PYTHON3_SQLITE
bool "sqlite module"
select BR2_PACKAGE_SQLITE

View File

@ -1,4 +1,5 @@
# From https://www.python.org/downloads/release/python-363/
md5 b9c2c36c33fb89bda1fefd37ad5af9be Python-3.6.3.tar.xz
# From https://www.python.org/downloads/release/python-370/
md5 eb8c2a6b1447d50813c02714af4681f3 Python-3.7.0.tar.xz
# Locally computed
sha256 cda7d967c9a4bfa52337cdf551bcc5cff026b6ac50a8834e568ce4a794ca81da Python-3.6.3.tar.xz
sha256 0382996d1ee6aafe59763426cf0139ffebe36984474d0ec4126dd1c40a8b3549 Python-3.7.0.tar.xz
sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 LICENSE

View File

@ -4,20 +4,13 @@
#
################################################################################
PYTHON3_VERSION_MAJOR = 3.6
PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).3
PYTHON3_VERSION_MAJOR = 3.7
PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).0
PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz
PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION)
PYTHON3_LICENSE = Python-2.0, others
PYTHON3_LICENSE_FILES = LICENSE
# Python itself doesn't use libtool, but it includes the source code
# of libffi, which uses libtool. Unfortunately, it uses a beta version
# of libtool for which we don't have a matching patch. However, this
# is not a problem, because we don't use the libffi copy included in
# the Python sources, but instead use an external libffi library.
PYTHON3_LIBTOOL_PATCH = NO
# This host Python is installed in $(HOST_DIR), as it is needed when
# cross-compiling third-party Python modules.
@ -47,7 +40,7 @@ HOST_PYTHON3_CONF_ENV += \
PYTHON3_DEPENDENCIES = host-python3 libffi
HOST_PYTHON3_DEPENDENCIES = host-expat host-zlib
HOST_PYTHON3_DEPENDENCIES = host-expat host-zlib host-libffi
PYTHON3_INSTALL_STAGING = YES
@ -101,6 +94,12 @@ ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y)
PYTHON3_CONF_OPTS += --disable-unicodedata
endif
ifeq ($(BR2_PACKAGE_PYTHON3_UUID),y)
PYTHON3_DEPENDENCIES += util-linux
else
PYTHON3_CONF_OPTS += --disable-uuid
endif
ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y)
PYTHON3_DEPENDENCIES += bzip2
else