Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python39 for openSUSE:Factory checked in at 2021-09-11 22:24:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python39 (Old) and /work/SRC/openSUSE:Factory/.python39.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python39" Sat Sep 11 22:24:13 2021 rev:21 rq:917360 version:3.9.7 Changes: -------- --- /work/SRC/openSUSE:Factory/python39/python39.changes 2021-08-12 09:01:58.914120800 +0200 +++ /work/SRC/openSUSE:Factory/.python39.new.1899/python39.changes 2021-09-11 22:24:20.783375719 +0200 @@ -1,0 +2,236 @@ +Tue Aug 31 10:17:28 UTC 2021 - Matej Cepl <mc...@suse.com> + +- Update to 3.9.7: + - Security + - Replaced usage of tempfile.mktemp() with TemporaryDirectory + to avoid a potential race condition. + - Add auditing events to the marshal module, and stop raising + code.__init__ events for every unmarshalled code object. + Directly instantiated code objects will continue to raise + an event, and audit event handlers should inspect or + collect the raw marshal data. This reduces a significant + performance overhead when loading from .pyc files. + - Made the internal putcmd function in smtplib sanitize input + for presence of \r and \n characters to avoid (unlikely) + command injection. + - Core and Builtins + - Fixed pickling of range iterators that iterated for over + 2**32 times. + - Fix a race in WeakKeyDictionary, WeakValueDictionary and + WeakSet when two threads attempt to commit the last pending + removal. This fixes asyncio.create_task and fixes a data + loss in asyncio.run where shutdown_asyncgens is not run + - Fixed a corner case bug where the result of + float.fromhex('0x.8p-1074') was rounded the wrong way. + - Refine the syntax error for trailing commas in import + statements. Patch by Pablo Galindo. + - Restore behaviour of complex exponentiation with + integer-valued exponent of type float or complex. + - Correct the ast locations of f-strings with format specs + and repeated expressions. Patch by Pablo Galindo + - Use new trashcan macros (Py_TRASHCAN_BEGIN/END) in + frameobject.c instead of the old ones + (Py_TRASHCAN_SAFE_BEGIN/END). + - Fix segmentation fault with deep recursion when cleaning + method objects. Patch by Augusto Goulart and Pablo Galindo. + - Fix bug where PyErr_SetObject hangs when the current + exception has a cycle in its context chain. + - Fix reference leaks in the error paths of update_bases() + and __build_class__. Patch by Pablo Galindo. + - Fix undefined behaviour in complex object exponentiation. + - Remove uses of PyObject_GC_Del() in error path when + initializing types.GenericAlias. + - Remove the pass-through for hash() of weakref.proxy objects + to prevent unintended consequences when the original + referred object dies while the proxy is part of a hashable + object. Patch by Pablo Galindo. + - Fix ltrace functionality when exceptions are raised. Patch + by Pablo Galindo + - Fix a crash at Python exit when a deallocator function + removes the last strong reference to a heap type. Patch by + Victor Stinner. + - Fix crash when using passing a non-exception to + a generator???s throw() method. Patch by Noah Oxer + - Library + - run() now always return a TestResult instance. Previously + it returned None if the test class or method was decorated + with a skipping decorator. + - Fix bugs in cleaning up classes and modules in unittest: + - Functions registered with addModuleCleanup() were not + called unless the user defines tearDownModule() in + their test module. + - Functions registered with addClassCleanup() were not + called if tearDownClass is set to None. + - Buffering in TestResult did not work with functions + registered with addClassCleanup() and + addModuleCleanup(). + - Errors in functions registered with addClassCleanup() + and addModuleCleanup() were not handled correctly in + buffered and debug modes. + - Errors in setUpModule() and functions registered with + addModuleCleanup() were reported in wrong order. + - And several lesser bugs. + - Made email date parsing more robust against malformed + input, namely a whitespace-only Date: header. Patch by + Wouter Bolsterlee. + - Fix a crash in the signal handler of the faulthandler + module: no longer modify the reference count of frame + objects. Patch by Victor Stinner. + - Method stopTestRun() is now always called in pair with + method startTestRun() for TestResult objects implicitly + created in run(). Previously it was not called for test + methods and classes decorated with a skipping decorator. + - argparse.BooleanOptionalAction???s default value is no longer + printed twice when used with + argparse.ArgumentDefaultsHelpFormatter. + - Upgrade bundled pip to 21.2.3 and setuptools to 57.4.0 + - Fix the os.set_inheritable() function on FreeBSD 14 for + file descriptor opened with the O_PATH flag: ignore the + EBADF error on ioctl(), fallback on the fcntl() + implementation. Patch by Victor Stinner. + - The @functools.total_ordering() decorator now works with + metaclasses. + - sqlite3 user-defined functions and aggregators returning + strings with embedded NUL characters are no longer + truncated. Patch by Erlend E. Aasland. + - Always show loop= arg deprecations in asyncio.gather() and + asyncio.sleep() + - Non-protocol subclasses of typing.Protocol ignore now the + __init__ method inherited from protocol base classes. + - The tokenize.tokenize() doesn???t incorrectly generate + a NEWLINE token if the source doesn???t end with a new line + character but the last line is a comment, as the function + is already generating a NL token. Patch by Pablo Galindo + - Fix http.client.HTTPSConnection fails to download >2GiB + data. + - rcompleter does not call getattr() on property objects to + avoid the side-effect of evaluating the corresponding + method. + - weakref.proxy objects referencing non-iterators now raise + TypeError rather than dereferencing the null tp_iternext + slot and crashing. + - The implementation of collections.abc.Set._hash() now + matches that of frozenset.__hash__(). + - Fixed issue in compileall.compile_file() when sys.stdout is + redirected. Patch by Stefan H??lzl. + - Give priority to using the current class constructor in + inspect.signature(). Patch by Weipeng Hong. + - Fix memory leak in _tkinter._flatten() if it is called with + a sequence or set, but not list or tuple. + - Update shutil.copyfile() to raise FileNotFoundError instead + of confusing IsADirectoryError when a path ending with + a os.path.sep does not exist; shutil.copy() and + shutil.copy2() are also affected. + - handle StopIteration subclass raised from + @contextlib.contextmanager generator + - Make the implementation consistency of indexOf() between + C and Python versions. Patch by Dong-hee Na. + - Fixes TypedDict to work with typing.get_type_hints() and + postponed evaluation of annotations across modules. + - Fix bug with pdb???s handling of import error due to + a package which does not have a __main__ module + - Fixed an exception thrown while parsing a malformed + multipart email by email.message.EmailMessage. + - pathlib.PureWindowsPath.is_reserved() now identifies + a greater range of reserved filenames, including those with + trailing spaces or colons. + - Handle exceptions from parsing the arg of pdb???s run/restart + command. + - The sqlite3 context manager now performs a rollback (thus + releasing the database lock) if commit failed. Patch by + Luca Citi and Erlend E. Aasland. + - Improved string handling for sqlite3 user-defined functions + and aggregates: + - It is now possible to pass strings with embedded null + characters to UDFs + - Conversion failures now correctly raise MemoryError + - Patch by Erlend E. Aasland. + - Handle RecursionError in TracebackException???s constructor, + so that long exceptions chains are truncated instead of + causing traceback formatting to fail. + - Fix email.message.EmailMessage.set_content() when called + with binary data and 7bit content transfer encoding. + - The compresslevel and preset keyword arguments of + tarfile.open() are now both documented and tested. + - Fixed a Y2k38 bug in the compileall module where it would + fail to compile files with a modification time after the + year 2038. + - Fix test___all__ on platforms lacking a shared memory + implementation. + - Pass multiprocessing BaseProxy argument manager_owned + through AutoProxy. + - email.utils.getaddresses() now accepts email.header.Header + objects along with string values. Patch by Zackery Spytz. + - lib2to3 now recognizes async generators everywhere. + - Fix TypeError when required subparsers without dest do not + receive arguments. Patch by Anthony Sottile. + - Documentation + - Removed the othergui.rst file, any references to it, and + the list of GUI frameworks in the FAQ. In their place I???ve + added links to the Python Wiki page on GUI frameworks. + - Update the definition of __future__ in the glossary by + replacing the confusing word ???pseudo-module??? with a more + accurate description. + - Add typical examples to os.path.splitext docs + - Clarify that shutil.make_archive() is not thread-safe due + to reliance on changing the current working directory. + - Update of three expired hyperlinks in + Doc/distributing/index.rst: ???Project structure???, ???Building + and packaging the project???, and ???Uploading the project to + the Python Packaging Index???. + - Updated the docstring and docs of filecmp.cmp() to be more + accurate and less confusing especially in respect to + shallow arg. + - Match the docstring and python implementation of countOf() + to the behavior of its c implementation. + - List all kwargs for textwrap.wrap(), textwrap.fill(), and + textwrap.shorten(). Now, there are nav links to attributes + of TextWrap, which makes navigation much easier while + minimizing duplication in the documentation. + - Clarify that atexit uses equality comparisons internally. + - Documentation of csv.Dialect is more descriptive. + - Fix documentation for the return type of + sysconfig.get_path(). + - Add a ???Security Considerations??? index which links to + standard library modules that have explicitly documented + security considerations. + - Remove the unqualified claim that tkinter is threadsafe. It ++++ 39 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/python39/python39.changes ++++ and /work/SRC/openSUSE:Factory/.python39.new.1899/python39.changes Old: ---- Python-3.9.6.tar.xz Python-3.9.6.tar.xz.asc New: ---- Python-3.9.7.tar.xz Python-3.9.7.tar.xz.asc decimal.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python39.spec ++++++ --- /var/tmp/diff_new_pack.gAP9fK/_old 2021-09-11 22:24:21.771376693 +0200 +++ /var/tmp/diff_new_pack.gAP9fK/_new 2021-09-11 22:24:21.775376697 +0200 @@ -53,7 +53,7 @@ # Will do the /usr/bin/python3 and all the core links %define primary_interpreter 0 # We don't process beta signs well -%define folderversion 3.9.6 +%define folderversion 3.9.7 %define tarname Python-%{tarversion} %define sitedir %{_libdir}/python%{python_version} # three possible ABI kinds: m - pymalloc, d - debug build; see PEP 3149 @@ -76,19 +76,20 @@ %if "%{_arch}" == "arm" %define armsuffix hf %endif +# Decide whether we want to use mpdecimal +%if 0%{?suse_version} >= 1550 +%bcond_without mpdecimal +%else +%bcond_with mpdecimal +%endif # pyexpat.cpython-35m-x86_64-linux-gnu # pyexpat.cpython-35m-powerpc64le-linux-gnu # pyexpat.cpython-35m-armv7-linux-gnueabihf # _md5.cpython-38m-x86_64-linux-gnu.so %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so -# deadlocks on test_faulthandler and blocks the build -%if 0%{?qemu_user_space_build} -%bcond_with profileopt -%else %bcond_without profileopt -%endif Name: %{python_pkg_name}%{psuffix} -Version: 3.9.6 +Version: 3.9.7 Release: 0 Summary: Python 3 Interpreter License: Python-2.0 @@ -110,7 +111,8 @@ # 3. mkdir Vendor && mv usr/include/* Vendor/ # 4. tar cJf bluez-devel-vendor.tar.xz Vendor/ Source21: bluez-devel-vendor.tar.xz -Source99: https://www.python.org/static/files/pubkeys.txt#/python.keyring +# https://keybase.io/ambv/pgp_keys.asc?fingerprint=e3ff2839c048b25c084debe9b26995e310250568 +Source99: python.keyring # The following files are not used in the build. # They are listed here to work around missing functionality in rpmbuild, # which would otherwise exclude them from distributed src.rpm files. @@ -125,6 +127,10 @@ # PATCH-FEATURE-UPSTREAM distutils-reproducible-compile.patch gh#python/cpython#8057 mc...@suse.com # Improve reproduceability Patch06: distutils-reproducible-compile.patch +# PATCH-FEATURE-UPSTREAM decimal.patch bsc#1189356 mc...@suse.com +# fix building with mpdecimal +# https://www.bytereef.org/contrib/decimal.diff +Patch05: decimal.patch # support finding packages in /usr/local, install to /usr/local by default Patch07: python-3.3.0b1-localpath.patch # replace DATE, TIME and COMPILER by fixed definitions to aid reproducible builds @@ -164,10 +170,16 @@ BuildRequires: pkgconfig(libnsl) BuildRequires: pkgconfig(libtirpc) %endif +%if %{with mpdecimal} +BuildRequires: mpdecimal-devel +%endif %if %{with doc} +%if 0%{?suse_version} >= 1550 BuildRequires: %{python_pkg_name}-Sphinx -%if 0%{?suse_version} >= 1500 BuildRequires: %{python_pkg_name}-python-docs-theme +%else +BuildRequires: python3-Sphinx +BuildRequires: python3-python-docs-theme %endif %endif %if %{with general} @@ -391,6 +403,9 @@ %if 0%{?sle_version} && 0%{?sle_version} <= 150300 %patch34 -p1 %endif +%if %{with mpdecimal} +%patch05 -p1 +%endif # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac @@ -453,6 +468,9 @@ %if %{with profileopt} --enable-optimizations \ %endif +%if %{with mpdecimal} + --with-system-libmpdec \ +%endif --enable-loadable-sqlite-extensions # prevent make from trying to rebuild PYTHON_FOR_GEN stuff @@ -494,7 +512,7 @@ %endif # some tests break in QEMU %if 0%{?qemu_user_space_build} -EXCLUDE="$EXCLUDE test_multiprocessing_forkserver test_multiprocessing_spawn test_os test_posix test_signal test_socket test_subprocess" +EXCLUDE="$EXCLUDE test_faulthandler test_multiprocessing_forkserver test_multiprocessing_spawn test_os test_posix test_signal test_socket test_subprocess" %endif # This test (part of test_uuid) requires real network interfaces ++++++ Python-3.9.6.tar.xz -> Python-3.9.7.tar.xz ++++++ /work/SRC/openSUSE:Factory/python39/Python-3.9.6.tar.xz /work/SRC/openSUSE:Factory/.python39.new.1899/Python-3.9.7.tar.xz differ: char 25, line 1 ++++++ decimal.patch ++++++ --- Modules/_decimal/_decimal.c | 4 ++-- setup.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) --- a/Modules/_decimal/_decimal.c +++ b/Modules/_decimal/_decimal.c @@ -3279,7 +3279,7 @@ dec_format(PyObject *dec, PyObject *args } else { size_t n = strlen(spec.dot); - if (n > 1 || (n == 1 && !isascii((uchar)spec.dot[0]))) { + if (n > 1 || (n == 1 && !isascii((unsigned char)spec.dot[0]))) { /* fix locale dependent non-ascii characters */ dot = dotsep_as_utf8(spec.dot); if (dot == NULL) { @@ -3288,7 +3288,7 @@ dec_format(PyObject *dec, PyObject *args spec.dot = PyBytes_AS_STRING(dot); } n = strlen(spec.sep); - if (n > 1 || (n == 1 && !isascii((uchar)spec.sep[0]))) { + if (n > 1 || (n == 1 && !isascii((unsigned char)spec.sep[0]))) { /* fix locale dependent non-ascii characters */ sep = dotsep_as_utf8(spec.sep); if (sep == NULL) { --- a/setup.py +++ b/setup.py @@ -2201,7 +2201,7 @@ class PyBuildExt(build_ext): undef_macros = [] if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): include_dirs = [] - libraries = [':libmpdec.so.2'] + libraries = ['mpdec'] sources = ['_decimal/_decimal.c'] depends = ['_decimal/docstrings.h'] else: ++++++ python.keyring ++++++ ++++ 12550 lines (skipped) ++++ between python.keyring ++++ and /work/SRC/openSUSE:Factory/.python39.new.1899/python.keyring