diff --git a/build/python311/build.sh b/build/python311/build.sh index fe9a201e57..b54ffdb794 100755 --- a/build/python311/build.sh +++ b/build/python311/build.sh @@ -17,7 +17,7 @@ . ../../lib/build.sh PROG=Python -VER=3.11.5 +VER=3.11.6 PKG=runtime/python-311 MVER=${VER%.*} SUMMARY="$PROG $MVER" diff --git a/build/python311/patches/mod-posix-sched_priority.patch b/build/python311/patches/mod-posix-sched_priority.patch index ef1e2a9ee1..a9246f13b4 100644 --- a/build/python311/patches/mod-posix-sched_priority.patch +++ b/build/python311/patches/mod-posix-sched_priority.patch @@ -7,7 +7,7 @@ However, -1 alongside EINVAL represents an error. diff -wpruN --no-dereference '--exclude=*.orig' a~/Modules/posixmodule.c a/Modules/posixmodule.c --- a~/Modules/posixmodule.c 1970-01-01 00:00:00 +++ a/Modules/posixmodule.c 1970-01-01 00:00:00 -@@ -6867,7 +6867,11 @@ os_sched_get_priority_max_impl(PyObject +@@ -6900,7 +6900,11 @@ os_sched_get_priority_max_impl(PyObject int max; max = sched_get_priority_max(policy); @@ -19,7 +19,7 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/Modules/posixmodule.c a/Modul return posix_error(); return PyLong_FromLong(max); } -@@ -6886,7 +6890,11 @@ os_sched_get_priority_min_impl(PyObject +@@ -6919,7 +6923,11 @@ os_sched_get_priority_min_impl(PyObject /*[clinic end generated code: output=7595c1138cc47a6d input=21bc8fa0d70983bf]*/ { int min = sched_get_priority_min(policy); diff --git a/build/python311/patches/series b/build/python311/patches/series index a8d1595157..7092b87195 100644 --- a/build/python311/patches/series +++ b/build/python311/patches/series @@ -32,7 +32,6 @@ test-zipfile.patch test-pkgutil.patch test-metadata.patch test-tarfile.patch -test-httpservers.patch revert-makedirs.patch # # Do not add ustack.patch to this file, it is used to build the debug diff --git a/build/python311/patches/test-filecomments.patch b/build/python311/patches/test-filecomments.patch index d060cbd205..cc6b38c961 100644 --- a/build/python311/patches/test-filecomments.patch +++ b/build/python311/patches/test-filecomments.patch @@ -4,7 +4,7 @@ Support comments in the test ignore file (see ../files/test.exclude) diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/libregrtest/cmdline.py a/Lib/test/libregrtest/cmdline.py --- a~/Lib/test/libregrtest/cmdline.py 1970-01-01 00:00:00 +++ a/Lib/test/libregrtest/cmdline.py 1970-01-01 00:00:00 -@@ -436,6 +436,7 @@ def _parse_args(args, **kwargs): +@@ -438,6 +438,7 @@ def _parse_args(args, **kwargs): ns.ignore_tests = [] with open(ns.ignore_filename) as fp: for line in fp: diff --git a/build/python311/patches/test-freeze.patch b/build/python311/patches/test-freeze.patch index 222997570c..6b7d462c15 100644 --- a/build/python311/patches/test-freeze.patch +++ b/build/python311/patches/test-freeze.patch @@ -12,28 +12,28 @@ This patch: diff -wpruN --no-dereference '--exclude=*.orig' a~/Tools/freeze/test/freeze.py a/Tools/freeze/test/freeze.py --- a~/Tools/freeze/test/freeze.py 1970-01-01 00:00:00 +++ a/Tools/freeze/test/freeze.py 1970-01-01 00:00:00 -@@ -10,7 +10,7 @@ TESTS_DIR = os.path.dirname(__file__) +@@ -18,7 +18,7 @@ TESTS_DIR = os.path.dirname(__file__) TOOL_ROOT = os.path.dirname(TESTS_DIR) - SRCDIR = os.path.dirname(os.path.dirname(TOOL_ROOT)) + SRCDIR = get_python_source_dir() -MAKE = shutil.which('make') +MAKE = shutil.which('gmake') FREEZE = os.path.join(TOOL_ROOT, 'freeze.py') OUTDIR = os.path.join(TESTS_DIR, 'outdir') -@@ -93,8 +93,6 @@ def copy_source_tree(newroot, oldroot): - return subdirs_to_skip +@@ -90,8 +90,6 @@ def copy_source_tree(newroot, oldroot): + shutil.rmtree(newroot) - shutil.copytree(oldroot, newroot, ignore=ignore_non_src) + shutil.copytree(oldroot, newroot, ignore=support.copy_python_src_ignore) - if os.path.exists(os.path.join(newroot, 'Makefile')): - _run_quiet([MAKE, 'clean'], newroot) - def get_makefile_var(builddir, name): -@@ -155,6 +153,7 @@ def prepare(script=None, outdir=None): - os.path.join(srcdir, 'configure'), - *shlex.split(get_config_var(srcdir, 'CONFIG_ARGS') or ''), - ] + ################################## +@@ -122,6 +120,7 @@ def prepare(script=None, outdir=None): + print(f'configuring python in {builddir}...') + config_args = shlex.split(sysconfig.get_config_var('CONFIG_ARGS') or '') + cmd = [os.path.join(srcdir, 'configure'), *config_args] + cmd = [c for c in cmd if not re.search(r'^--.*dir=', c)] ensure_opt(cmd, 'cache-file', os.path.join(outdir, 'python-config.cache')) prefix = os.path.join(outdir, 'python-installation') diff --git a/build/python311/patches/test-httpservers.patch b/build/python311/patches/test-httpservers.patch deleted file mode 100644 index 26e7e4ce39..0000000000 --- a/build/python311/patches/test-httpservers.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/test_httpservers.py a/Lib/test/test_httpservers.py ---- a~/Lib/test/test_httpservers.py 1970-01-01 00:00:00 -+++ a/Lib/test/test_httpservers.py 1970-01-01 00:00:00 -@@ -442,10 +442,10 @@ class SimpleHTTPServerTestCase(BaseTestC - def test_undecodable_parameter(self): - # sanity check using a valid parameter - response = self.request(self.base_url + '/?x=123').read() -- self.assertRegex(response, f'listing for {self.base_url}/\?x=123'.encode('latin1')) -+ self.assertRegex(response, f'listing for {self.base_url}/\\?x=123'.encode('latin1')) - # now the bogus encoding - response = self.request(self.base_url + '/?x=%bb').read() -- self.assertRegex(response, f'listing for {self.base_url}/\?x=\xef\xbf\xbd'.encode('latin1')) -+ self.assertRegex(response, f'listing for {self.base_url}/\\?x=\xef\xbf\xbd'.encode('latin1')) - - def test_get_dir_redirect_location_domain_injection_bug(self): - """Ensure //evil.co/..%2f../../X does not put //evil.co/ in Location. diff --git a/build/python311/patches/test-processgroup.patch b/build/python311/patches/test-processgroup.patch index fec44c710b..2d4252de22 100644 --- a/build/python311/patches/test-processgroup.patch +++ b/build/python311/patches/test-processgroup.patch @@ -6,7 +6,7 @@ Disable the use of process groups for now. diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/libregrtest/runtest_mp.py a/Lib/test/libregrtest/runtest_mp.py --- a~/Lib/test/libregrtest/runtest_mp.py 1970-01-01 00:00:00 +++ a/Lib/test/libregrtest/runtest_mp.py 1970-01-01 00:00:00 -@@ -38,7 +38,8 @@ assert MAIN_PROCESS_TIMEOUT >= PROGRESS_ +@@ -41,7 +41,8 @@ assert MAIN_PROCESS_TIMEOUT >= PROGRESS_ # Time to wait until a worker completes: should be immediate JOIN_TIMEOUT = 30.0 # seconds diff --git a/build/python311/patches/test-tarfile.patch b/build/python311/patches/test-tarfile.patch index b3633466ac..7cba202c8d 100644 --- a/build/python311/patches/test-tarfile.patch +++ b/build/python311/patches/test-tarfile.patch @@ -9,7 +9,7 @@ Convert both timestamps to integer before comparing. diff -wpruN --no-dereference '--exclude=*.orig' a~/Lib/test/test_tarfile.py a/Lib/test/test_tarfile.py --- a~/Lib/test/test_tarfile.py 1970-01-01 00:00:00 +++ a/Lib/test/test_tarfile.py 1970-01-01 00:00:00 -@@ -3058,7 +3058,7 @@ class NoneInfoExtractTests(ReadTest): +@@ -3066,7 +3066,7 @@ class NoneInfoExtractTests(ReadTest): if not path.is_symlink(): raise else: diff --git a/build/python311/testsuite.log b/build/python311/testsuite.log index 374ee37cce..e6f6010d28 100644 --- a/build/python311/testsuite.log +++ b/build/python311/testsuite.log @@ -1,11 +1,18 @@ -410 tests OK. +448 tests OK. -24 tests skipped: - test_dbm_gnu test_epoll test_gdb test_idle test_kqueue - test_launcher test_msilib test_ossaudiodev test_smtpnet - test_socketserver test_startfile test_tcl test_tix test_tk - test_ttk_guionly test_ttk_textonly test_turtle test_urllib2net - test_urllibnet test_winconsoleio test_winreg test_winsound - test_xmlrpc_net test_zipfile64 +4 tests failed: + test_compileall test_dtrace test_import test_importlib -Tests result: SUCCESS +26 tests skipped: + test.test_asyncio.test_windows_events + test.test_asyncio.test_windows_utils test_dbm_gnu test_epoll + test_gdb test_idle test_kqueue test_launcher test_msilib + test_ossaudiodev test_smtpnet test_socketserver test_startfile + test_tcl test_tix test_tk test_ttk_guionly test_ttk_textonly + test_turtle test_urllib2net test_urllibnet test_winconsoleio + test_winreg test_winsound test_xmlrpc_net test_zipfile64 + +Total tests: run=39,619 failures=26 skipped=1,402 +Total test files: success=448 failed=4 skipped=26 resource_denied=8 +Result: FAILURE +make: *** [Makefile:1814: test] Error 2 diff --git a/doc/packages.md b/doc/packages.md index a4e4ac75f6..9e2f2f09fb 100644 --- a/doc/packages.md +++ b/doc/packages.md @@ -81,7 +81,7 @@ | runtime/perl | 5.36.1 | https://www.cpan.org/src/README.html | runtime/python-39 | 3.9.18 | https://www.python.org/downloads/source/ | runtime/python-310 | 3.10.13 | https://www.python.org/downloads/source/ -| runtime/python-311 | 3.11.5 | https://www.python.org/downloads/source/ +| runtime/python-311 | 3.11.6 | https://www.python.org/downloads/source/ | security/sudo | 1.9.14p3 | https://www.sudo.ws/ | service/network/chrony | 4.4 | https://download.tuxfamily.org/chrony/ | service/network/ntpsec | 1.2.2 | https://github.com/ntpsec/ntpsec/tags https://blog.ntpsec.org/