index 77f91e72b1..0c809f3d8a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1528,6 +1528,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
+@@ -1550,6 +1550,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
fi
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST) -f \
-@@ -1555,6 +1556,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
+@@ -1577,6 +1578,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
index d60f05251a..1ee5a09588 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1112,6 +1112,12 @@ fi
+@@ -1121,6 +1121,12 @@ fi
AC_MSG_CHECKING(LDLIBRARY)
index 1ee5a09588..c2445edc88 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4175,7 +4175,7 @@ fi
+@@ -4210,7 +4210,7 @@ fi
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
index 0c809f3d8a..7c3dde8dd4 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -213,6 +213,8 @@ FILEMODE= 644
+@@ -216,6 +216,8 @@ FILEMODE= 644
# configure script arguments
CONFIG_ARGS= @CONFIG_ARGS@
# Subdirectories with code
SRCDIRS= @SRCDIRS@
-@@ -629,6 +631,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
+@@ -632,6 +634,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
esac; \
echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
-@@ -1674,7 +1677,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
+@@ -1696,7 +1699,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
index c2445edc88..73d66167de 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3052,6 +3052,8 @@ LIBS="$withval $LIBS"
+@@ -3081,6 +3081,8 @@ LIBS="$withval $LIBS"
PKG_PROG_PKG_CONFIG
index 770866bca7..b6c829b3a5 100644
--- a/setup.py
+++ b/setup.py
-@@ -43,7 +43,10 @@ from distutils.spawn import find_executable
+@@ -44,7 +44,10 @@ from distutils.spawn import find_executable
TEST_EXTENSIONS = True
# This global variable is used to hold the list of modules to be disabled.
index b6c829b3a5..ec3ba60607 100644
--- a/setup.py
+++ b/setup.py
-@@ -1056,12 +1056,9 @@ class PyBuildExt(build_ext):
+@@ -1041,12 +1041,9 @@ class PyBuildExt(build_ext):
pass # Issue 7384: Already linked against curses or tinfo.
elif curses_library:
readline_libs.append(curses_library)
index ec3ba60607..e27620035c 100644
--- a/setup.py
+++ b/setup.py
-@@ -749,10 +749,10 @@ class PyBuildExt(build_ext):
+@@ -734,10 +734,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')
index e27620035c..d3f0e663f2 100644
--- a/setup.py
+++ b/setup.py
-@@ -539,6 +539,7 @@ class PyBuildExt(build_ext):
+@@ -524,6 +524,7 @@ class PyBuildExt(build_ext):
print("Failed to build these modules:")
print_three_column(failed)
print()
index d3f0e663f2..926c16f58f 100644
--- a/setup.py
+++ b/setup.py
-@@ -695,7 +695,7 @@ class PyBuildExt(build_ext):
+@@ -680,7 +680,7 @@ class PyBuildExt(build_ext):
tmpfile = os.path.join(self.build_temp, 'ccpaths')
if not os.path.exists(self.build_temp):
os.makedirs(self.build_temp)
index 25a3f8c0e0..2cb9a9aa52 100644
--- a/Lib/importlib/_bootstrap_external.py
+++ b/Lib/importlib/_bootstrap_external.py
-@@ -313,8 +313,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
+@@ -373,8 +373,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'.
"""
if debug_override is not None:
_warnings.warn('the debug_override parameter is deprecated; use '
-@@ -326,10 +324,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
+@@ -386,10 +384,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('.')
if optimization is None:
if sys.flags.optimize == 0:
optimization = ''
-@@ -366,46 +361,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
+@@ -426,46 +421,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
head.lstrip(path_separators),
filename,
)
index 7c3dde8dd4..204f293d53 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1385,8 +1385,29 @@ maninstall: altmaninstall
+@@ -1406,8 +1406,29 @@ maninstall: altmaninstall
# Install the library
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
test/audiodata \
test/capath test/data \
test/cjkencodings test/decimaltestdata \
-@@ -1446,28 +1467,25 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
+@@ -1468,28 +1489,25 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
test/test_importlib/zipdata02 \
test/test_zoneinfo test/test_zoneinfo/data \
test/ziptestdata \
index 73d66167de..92e28d02ee 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3329,6 +3329,11 @@ if test "$posix_threads" = "yes"; then
+@@ -3358,6 +3358,11 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
index 204f293d53..63e3df0470 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1357,7 +1357,9 @@ bininstall: altbininstall
+@@ -1374,7 +1374,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(BINDIR)/idle3
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
-rm -f $(DESTDIR)$(BINDIR)/2to3
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
-@@ -1403,7 +1405,7 @@ LIBSUBDIRS= tkinter site-packages \
+@@ -1424,7 +1426,7 @@ LIBSUBDIRS= tkinter site-packages \
multiprocessing multiprocessing/dummy \
unittest \
venv venv/scripts venv/scripts/common venv/scripts/posix \
zoneinfo
TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
-@@ -1486,6 +1488,10 @@ ifeq (@TEST_MODULES@,yes)
+@@ -1508,6 +1510,10 @@ ifeq (@TEST_MODULES@,yes)
LIBSUBDIRS += $(TESTSUBDIRS)
endif
index 92e28d02ee..174ed85a7c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3329,6 +3329,12 @@ if test "$posix_threads" = "yes"; then
+@@ -3358,6 +3358,12 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
index 926c16f58f..1fc5fac90c 100644
--- a/setup.py
+++ b/setup.py
-@@ -2586,6 +2586,12 @@ def main():
+@@ -2565,6 +2565,12 @@ def main():
# turn off warnings when deprecated modules are imported
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
setup(# PyPI Metadata (PEP 301)
name = "Python",
version = sys.version.split()[0],
-@@ -2610,8 +2616,7 @@ def main():
+@@ -2589,8 +2595,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
index 63e3df0470..8b7de12999 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1361,7 +1361,9 @@ ifeq (@PYDOC@,yes)
+@@ -1378,7 +1378,9 @@ ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
endif
-rm -f $(DESTDIR)$(BINDIR)/2to3
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \
-@@ -1396,7 +1398,6 @@ LIBSUBDIRS= tkinter site-packages \
+@@ -1417,7 +1419,6 @@ LIBSUBDIRS= tkinter site-packages \
html json http dbm xmlrpc \
sqlite3 \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
distutils distutils/command $(XMLLIBSUBDIRS) \
-@@ -1473,9 +1474,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
+@@ -1495,9 +1496,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_email test/test_email/data \
test/test_json \
sqlite3/test \
ctypes/test \
idlelib/idle_test \
distutils/tests \
-@@ -1484,6 +1482,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
+@@ -1506,6 +1504,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_tools test/test_warnings test/test_warnings/data \
unittest/test unittest/test/testmock
ifeq (@TEST_MODULES@,yes)
LIBSUBDIRS += $(TESTSUBDIRS)
endif
-@@ -1584,10 +1590,12 @@ ifeq (@PYC_BUILD@,yes)
+@@ -1606,10 +1612,12 @@ ifeq (@PYC_BUILD@,yes)
-j0 -d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
endif
index 174ed85a7c..f1f5e9a7b0 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3341,6 +3341,12 @@ AC_ARG_ENABLE(test-modules,
+@@ -3370,6 +3370,12 @@ AC_ARG_ENABLE(test-modules,
AS_HELP_STRING([--disable-test-modules], [disable test modules]),
[ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
index 1fc5fac90c..4063d7ffa5 100644
--- a/setup.py
+++ b/setup.py
-@@ -2587,10 +2587,11 @@ def main():
+@@ -2566,10 +2566,11 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
index 8b7de12999..d826d8ac4b 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1396,7 +1396,6 @@ LIBSUBDIRS= tkinter site-packages \
+@@ -1417,7 +1417,6 @@ LIBSUBDIRS= tkinter site-packages \
email email/mime \
ensurepip ensurepip/_bundled \
html json http dbm xmlrpc \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
-@@ -1473,7 +1472,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
+@@ -1495,7 +1494,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_asyncio \
test/test_email test/test_email/data \
test/test_json \
ctypes/test \
idlelib/idle_test \
distutils/tests \
-@@ -1490,6 +1488,11 @@ TESTSUBDIRS += lib2to3/tests \
+@@ -1512,6 +1510,11 @@ TESTSUBDIRS += lib2to3/tests \
lib2to3/tests/data/fixers/myfixes
endif
index f1f5e9a7b0..8b5c65974c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3329,6 +3329,15 @@ if test "$posix_threads" = "yes"; then
+@@ -3358,6 +3358,15 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
index d826d8ac4b..dc84384680 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1390,7 +1390,7 @@ maninstall: altmaninstall
+@@ -1411,7 +1411,7 @@ maninstall: altmaninstall
# Install the library
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
asyncio \
collections concurrent concurrent/futures encodings \
email email/mime \
-@@ -1408,8 +1408,7 @@ LIBSUBDIRS= tkinter site-packages \
+@@ -1429,8 +1429,7 @@ LIBSUBDIRS= tkinter site-packages \
curses \
zoneinfo
test/audiodata \
test/capath test/data \
test/cjkencodings test/decimaltestdata \
-@@ -1480,6 +1479,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
+@@ -1502,6 +1501,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_tools test/test_warnings test/test_warnings/data \
unittest/test unittest/test/testmock
index 8b5c65974c..4c72dae960 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3338,6 +3338,15 @@ if test "$SQLITE3" = "no" ; then
+@@ -3367,6 +3367,15 @@ if test "$SQLITE3" = "no" ; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
fi
index dc84384680..2a82f3308f 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1405,7 +1405,6 @@ LIBSUBDIRS= site-packages \
+@@ -1426,7 +1426,6 @@ LIBSUBDIRS= site-packages \
multiprocessing multiprocessing/dummy \
unittest \
venv venv/scripts venv/scripts/common venv/scripts/posix \
zoneinfo
TESTSUBDIRS= test \
-@@ -1485,6 +1484,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
+@@ -1507,6 +1506,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
tkinter/test/test_ttk
endif
index 4c72dae960..acd98381a3 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3347,6 +3347,15 @@ if test "$TK" = "no"; then
+@@ -3376,6 +3376,15 @@ if test "$TK" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
fi
index 2a82f3308f..e678c8817e 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1399,7 +1399,7 @@ LIBSUBDIRS= site-packages \
+@@ -1420,7 +1420,7 @@ LIBSUBDIRS= site-packages \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
importlib \
turtledemo \
multiprocessing multiprocessing/dummy \
-@@ -1488,6 +1488,10 @@ ifeq (@CURSES@,yes)
+@@ -1510,6 +1510,10 @@ ifeq (@CURSES@,yes)
LIBSUBDIRS += curses
endif
index acd98381a3..9ef0ecd42f 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3055,13 +3055,21 @@ PKG_PROG_PKG_CONFIG
+@@ -3084,13 +3084,21 @@ PKG_PROG_PKG_CONFIG
AC_SUBST(DISABLED_EXTENSIONS)
# Check for use of the system expat library
index 4063d7ffa5..211a160f29 100644
--- a/setup.py
+++ b/setup.py
-@@ -1681,7 +1681,7 @@ class PyBuildExt(build_ext):
+@@ -1666,7 +1666,7 @@ class PyBuildExt(build_ext):
#
# More information on Expat can be found at www.libexpat.org.
#
index 9ef0ecd42f..18e6fd70a0 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3346,6 +3346,12 @@ if test "$SQLITE3" = "no" ; then
+@@ -3375,6 +3375,12 @@ if test "$SQLITE3" = "no" ; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
fi
index 18e6fd70a0..46d2a8131e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3352,6 +3352,12 @@ AC_ARG_ENABLE(codecs-cjk,
+@@ -3381,6 +3381,12 @@ AC_ARG_ENABLE(codecs-cjk,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022"
fi])
index 46d2a8131e..5844e3b73f 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3358,6 +3358,12 @@ AC_ARG_ENABLE(nis,
+@@ -3387,6 +3387,12 @@ AC_ARG_ENABLE(nis,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
fi])
index e678c8817e..1148bd8708 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -1355,7 +1355,9 @@ bininstall: altbininstall
+@@ -1372,7 +1372,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc)
-rm -f $(DESTDIR)$(BINDIR)/idle3
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
-@@ -1398,7 +1400,6 @@ LIBSUBDIRS= site-packages \
+@@ -1419,7 +1421,6 @@ LIBSUBDIRS= site-packages \
html json http dbm xmlrpc \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
distutils distutils/command \
importlib \
turtledemo \
-@@ -1492,6 +1493,10 @@ ifeq (@EXPAT@,yes)
+@@ -1514,6 +1515,10 @@ ifeq (@EXPAT@,yes)
LIBSUBDIRS += $(XMLLIBSUBDIRS)
endif
index 5844e3b73f..7bd4623ccd 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3400,6 +3400,12 @@ AC_ARG_ENABLE(lib2to3,
+@@ -3429,6 +3429,12 @@ AC_ARG_ENABLE(lib2to3,
AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
[ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
index 211a160f29..c4ee989ba3 100644
--- a/setup.py
+++ b/setup.py
-@@ -2587,11 +2587,13 @@ def main():
+@@ -2566,11 +2566,13 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
index 7bd4623ccd..e513ef6a20 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3106,13 +3106,20 @@ fi
+@@ -3135,13 +3135,20 @@ fi
AC_SUBST(LIBFFI_INCLUDEDIR)
# Check for use of the system libmpdec library
index c4ee989ba3..3d0c74bb7f 100644
--- a/setup.py
+++ b/setup.py
-@@ -2221,7 +2221,7 @@ class PyBuildExt(build_ext):
+@@ -2195,7 +2195,7 @@ class PyBuildExt(build_ext):
# Stefan Krah's _decimal module
extra_compile_args = []
undef_macros = []
index e513ef6a20..c07505e89e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3136,6 +3136,12 @@ fi
+@@ -3165,6 +3165,12 @@ fi
AC_MSG_RESULT($with_decimal_contextvar)
index c07505e89e..612e32faf5 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3377,6 +3377,12 @@ AC_ARG_ENABLE(unicodedata,
+@@ -3406,6 +3406,12 @@ AC_ARG_ENABLE(unicodedata,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata"
fi])
index 612e32faf5..2a6aaeff60 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3383,6 +3383,12 @@ AC_ARG_ENABLE(openssl,
+@@ -3412,6 +3412,12 @@ AC_ARG_ENABLE(openssl,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib"
fi])
index 2a6aaeff60..21479bbd7d 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3389,6 +3389,24 @@ AC_ARG_ENABLE(readline,
+@@ -3418,6 +3418,24 @@ AC_ARG_ENABLE(readline,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline"
fi])
index 3d0c74bb7f..c7be85f352 100644
--- a/setup.py
+++ b/setup.py
-@@ -1779,7 +1779,8 @@ class PyBuildExt(build_ext):
+@@ -1764,7 +1764,8 @@ class PyBuildExt(build_ext):
def detect_uuid(self):
# Build the _uuid module if possible
index 21479bbd7d..615c16aced 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3425,6 +3425,15 @@ if test "$CURSES" = "no"; then
+@@ -3454,6 +3454,15 @@ if test "$CURSES" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
fi
index 615c16aced..241298e6cf 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -718,7 +718,9 @@ then
+@@ -727,7 +727,9 @@ then
fi
index 72c1d86e82..8c3912d237 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3326,6 +3326,12 @@ if test "$UUID" = "no"; then
+@@ -3465,6 +3465,12 @@ if test "$UUID" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid"
fi
+++ /dev/null
-From 3c83eedcc2df3ecf6c4a17953ca24dff60c1378e Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Thu, 12 Nov 2020 00:16:18 +0100
-Subject: [PATCH] lib/crypt: uClibc-ng doesn't set errno when encryption method
- is not available
-
-Since commit [1] in cpython, an exception is raised when an encryption method
-is not available. This eception is handled only if errno is set to EINVAL by
-crypt() but uClibc-ng doesn't set errno in crypt() [2].
-
-Fixes:
-https://gitlab.com/buildroot.org/buildroot/-/jobs/830981961
-https://gitlab.com/buildroot.org/buildroot/-/jobs/830981979
-
-[1] https://github.com/python/cpython/commit/0d3fe8ae4961bf551e7d5e42559e2ede1a08fd7c
-[2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/libcrypt/crypt.c?h=v1.0.36#n29
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- Lib/crypt.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/Lib/crypt.py b/Lib/crypt.py
-index 33dbc46bb3..4692a5270c 100644
---- a/Lib/crypt.py
-+++ b/Lib/crypt.py
-@@ -94,7 +94,9 @@ def _add_method(name, *args, rounds=None):
- result = crypt('', salt)
- except OSError as e:
- # Not all libc libraries support all encryption methods.
-- if e.errno == errno.EINVAL:
-+ # Not all libc libraries set errno when encryption method is not
-+ # available.
-+ if e.errno == errno.EINVAL or e.errno == 0:
- return False
- raise
- if result and len(result) == method.total_size:
---
-2.25.4
-
--- /dev/null
+From 3c83eedcc2df3ecf6c4a17953ca24dff60c1378e Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Thu, 12 Nov 2020 00:16:18 +0100
+Subject: [PATCH] lib/crypt: uClibc-ng doesn't set errno when encryption method
+ is not available
+
+Since commit [1] in cpython, an exception is raised when an encryption method
+is not available. This eception is handled only if errno is set to EINVAL by
+crypt() but uClibc-ng doesn't set errno in crypt() [2].
+
+Fixes:
+https://gitlab.com/buildroot.org/buildroot/-/jobs/830981961
+https://gitlab.com/buildroot.org/buildroot/-/jobs/830981979
+
+[1] https://github.com/python/cpython/commit/0d3fe8ae4961bf551e7d5e42559e2ede1a08fd7c
+[2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/libcrypt/crypt.c?h=v1.0.36#n29
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ Lib/crypt.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Lib/crypt.py b/Lib/crypt.py
+index 33dbc46bb3..4692a5270c 100644
+--- a/Lib/crypt.py
++++ b/Lib/crypt.py
+@@ -94,7 +94,9 @@ def _add_method(name, *args, rounds=None):
+ result = crypt('', salt)
+ except OSError as e:
+ # Not all libc libraries support all encryption methods.
+- if e.errno == errno.EINVAL:
++ # Not all libc libraries set errno when encryption method is not
++ # available.
++ if e.errno == errno.EINVAL or e.errno == 0:
+ return False
+ raise
+ if result and len(result) == method.total_size:
+--
+2.25.4
+
-# From https://www.python.org/downloads/release/python-395/
-md5 71f7ada6bec9cdbf4538adc326120cfd Python-3.9.5.tar.xz
+# From https://www.python.org/downloads/release/python-396/
+md5 ecc29a7688f86e550d29dba2ee66cf80 Python-3.9.6.tar.xz
# Locally computed
-sha256 0c5a140665436ec3dbfbb79e2dfb6d192655f26ef4a29aeffcb6d1820d716d83 Python-3.9.5.tar.xz
+sha256 397920af33efc5b97f2e0b57e91923512ef89fc5b3c1d21dbfc8c4828ce0108a Python-3.9.6.tar.xz
sha256 599826df92bfdcd2702eac691072498bb096c55af04ee984cf90f70ed77b5a70 LICENSE
################################################################################
PYTHON3_VERSION_MAJOR = 3.9
-PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).5
+PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).6
PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz
PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION)
PYTHON3_LICENSE = Python-2.0, others