From 24200752c414ac20c7747c880abfb2c18e81bb170f93d2d0a5d8bf32dca3f7bd Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sun, 29 Aug 2021 06:01:55 +0000 Subject: [PATCH 1/3] Accepting request 914829 from home:Andreas_Schwab:Factory - test_faulthandler is still problematic under qemu linux-user emulation, disable it there - Reenable profileopt with qemu emulation, test_faulthandler is no longer run during profiling OBS-URL: https://build.opensuse.org/request/show/914829 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python38?expand=0&rev=78 --- python38.changes | 8 ++++++++ python38.spec | 7 +------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/python38.changes b/python38.changes index e49f0de..4a191f9 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Aug 26 12:00:25 UTC 2021 - Andreas Schwab + +- test_faulthandler is still problematic under qemu linux-user emulation, + disable it there +- Reenable profileopt with qemu emulation, test_faulthandler is no longer + run during profiling + ------------------------------------------------------------------- Tue Aug 10 00:25:26 UTC 2021 - Fusion Future diff --git a/python38.spec b/python38.spec index f297d45..797178f 100644 --- a/python38.spec +++ b/python38.spec @@ -80,12 +80,7 @@ # 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.8.11 Release: 0 @@ -506,7 +501,7 @@ EXCLUDE="$EXCLUDE test_faulthandler" %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 From db054e258d04800ea346afb1d68ccc983c759cef986c38b71e7353cf278329dc Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Mon, 30 Aug 2021 10:14:02 +0000 Subject: [PATCH 2/3] Accepting request 914696 from home:mcepl:python-libmpdec - Add decimal-3.8.patch to add building with --with-system-libmpdec option (bsc#1189356). OBS-URL: https://build.opensuse.org/request/show/914696 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python38?expand=0&rev=79 --- decimal-3.8.patch | 36 ++++++++++++++++++++++++++++++++++++ python38.changes | 6 ++++++ python38.spec | 19 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 decimal-3.8.patch diff --git a/decimal-3.8.patch b/decimal-3.8.patch new file mode 100644 index 0000000..cd10f4f --- /dev/null +++ b/decimal-3.8.patch @@ -0,0 +1,36 @@ +--- + 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 +@@ -3284,7 +3284,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) { +@@ -3293,7 +3293,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 +@@ -2051,7 +2051,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: diff --git a/python38.changes b/python38.changes index 4a191f9..dde7562 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 27 12:00:12 UTC 2021 - Matej Cepl + +- Add decimal-3.8.patch to add building with --with-system-libmpdec + option (bsc#1189356). + ------------------------------------------------------------------- Thu Aug 26 12:00:25 UTC 2021 - Andreas Schwab diff --git a/python38.spec b/python38.spec index 797178f..b37d5e8 100644 --- a/python38.spec +++ b/python38.spec @@ -75,6 +75,12 @@ %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 @@ -120,6 +126,10 @@ Patch03: SUSE-FEDORA-multilib.patch # PATCH-FEATURE-UPSTREAM distutils-reproducible-compile.patch gh#python/cpython#8057 mcepl@suse.com # Improve reproduceability Patch06: distutils-reproducible-compile.patch +# PATCH-FEATURE-UPSTREAM decimal-3.8.patch bsc#1189356 mcepl@suse.com +# fix building with mpdecimal +# https://www.bytereef.org/contrib/decimal-3.8.diff +Patch05: decimal-3.8.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 @@ -169,6 +179,9 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libnsl) BuildRequires: pkgconfig(libtirpc) %endif +%if %{with mpdecimal} +BuildRequires: mpdecimal-devel +%endif %if %{with doc} %if 0%{?suse_version} > 1500 BuildRequires: %{python_pkg_name}-Sphinx @@ -388,6 +401,9 @@ other applications. %if "%{_lib}" == "lib64" %patch03 -p1 %endif +%if %{with mpdecimal} +%patch05 -p1 +%endif %patch06 -p1 %patch07 -p1 @@ -459,6 +475,9 @@ sed -e 's/-fprofile-correction//' -i Makefile.pre.in --with-lto \ %if %{with profileopt} --enable-optimizations \ +%endif +%if %{with mpdecimal} + --with-system-libmpdec \ %endif --enable-loadable-sqlite-extensions From 708a7675a473a766391a1a2353d1e965ddac35f082895705ad70b7b03fd136bf Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 31 Aug 2021 15:13:54 +0000 Subject: [PATCH 3/3] Accepting request 915148 from home:fusionfuture:branches:devel:languages:python:Factory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to 3.8.12 * Complete list of changes is available at https://docs.python.org/release/3.8.12/whatsnew/changelog.html * Security - bpo-42278: Replaced usage of tempfile.mktemp() with TemporaryDirectory to avoid a potential race condition. - bpo-44394: Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 “Billion Laughs” vulnerability. This copy is most used on Windows and macOS. - bpo-43124: Made the internal putcmd function in smtplib sanitize input for presence of \r and \n characters to avoid (unlikely) command injection. - bpo-36384: ipaddress module no longer accepts any leading zeros in IPv4 address strings. Leading zeros are ambiguous and interpreted as octal notation by some libraries. For example the legacy function socket.inet_aton() treats leading zeros as octal notation. glibc implementation of modern inet_pton() does not accept any leading zeros. For a while the ipaddress module used to accept ambiguous leading zeros. - Refreshed patch: * decimal-3.8.patch OBS-URL: https://build.opensuse.org/request/show/915148 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python38?expand=0&rev=80 --- Python-3.8.11.tar.xz | 3 --- Python-3.8.11.tar.xz.asc | 16 ---------------- Python-3.8.12.tar.xz | 3 +++ Python-3.8.12.tar.xz.asc | 16 ++++++++++++++++ decimal-3.8.patch | 2 +- python38.changes | 26 ++++++++++++++++++++++++++ python38.spec | 2 +- 7 files changed, 47 insertions(+), 21 deletions(-) delete mode 100644 Python-3.8.11.tar.xz delete mode 100644 Python-3.8.11.tar.xz.asc create mode 100644 Python-3.8.12.tar.xz create mode 100644 Python-3.8.12.tar.xz.asc diff --git a/Python-3.8.11.tar.xz b/Python-3.8.11.tar.xz deleted file mode 100644 index 9d1aa80..0000000 --- a/Python-3.8.11.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb1a1114ebfe9e97199603c6083e20b236a0e007a2c51f29283ffb50c1420fb2 -size 18437648 diff --git a/Python-3.8.11.tar.xz.asc b/Python-3.8.11.tar.xz.asc deleted file mode 100644 index 3a69223..0000000 --- a/Python-3.8.11.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmDZq2IACgkQsmmV4xAl -BWi57w/+NQXLn1ZoFPuESty4LEIc6Oa7WQrfzMUazzglfocM/0SK248LdIpMYA15 -tMgcI3H/YCuftg1Q9Zbij4bhY1SrwEH6mh8/l1M9RUFSQRjDB5TzibX9I1Qix1Tc -hCEl/dt1D6HwN/U8W8qv71lwz3gcSAT85zU8UTG8GdbPnrZRyjHq6vj1T5Os/N9u -pAfMob+pn8EkW8bxYldV3+514vlR2vYJUH/ZV3t+UzwiVGRJuh9cWEoH31hy4XQF -pJJX43Qh6aGQwwi1a4IFv3MhlKBT6G7SDgfaAd1LrkCAtFNOS/0CqLesItJHsdGQ -jTLVsAo9XQ5tRN3CpDZ10/UqMpFrtzRvdG0kB7cL29szqeVm1sqUlW7WyNKZJwia -8Q/8J+Od/Z30SAaGb7rVmW46ijAJr4QeXimanYZeiHEprQMOKhPz61mNYXtPHBV/ -G9J5OEIk5GIUrIumh2btAwzx5/L8NI+RJdTV8RD7z0TLHuDt7ExxcREfLMUY3dqf -0wul7/tQQLqvTZXYgQb0zyKpatGw+q89xYe7Eh0h4rkPO7WRJ0/pCaHP3DQZf3fy -D14pEVeUlK4+A6S31wKwE0wpZfK8p1m7Kl/l+tKSFhNl6sslo993wZCaBCbHjSnx -Jw0TuVLeoxR6smL/W/EEHPQ0dgG6IaEU8HC+iXFG6b3uuJdG/1Q= -=sO6f ------END PGP SIGNATURE----- diff --git a/Python-3.8.12.tar.xz b/Python-3.8.12.tar.xz new file mode 100644 index 0000000..5151ab2 --- /dev/null +++ b/Python-3.8.12.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea +size 18443568 diff --git a/Python-3.8.12.tar.xz.asc b/Python-3.8.12.tar.xz.asc new file mode 100644 index 0000000..ed5925e --- /dev/null +++ b/Python-3.8.12.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmEtCqkACgkQsmmV4xAl +BWiX4A/+LBc42iF/V8rob0MGnUkLNe0zmfMwk4m0ji7ukH9o+2/Qttt1cWE8Mnhl +VanXlxfctk5v4MIWo+/p3iQqjoDBCQZTuHIJZ06ZXmKvgWABrPImT2NGaWz2jQip +s28VQTax2fQrJk8fiGA59ty5qMyvLefwYMPgvFPpkk+ToBgIDGFSuKYbPQ9X+CE1 +Hwbk1Z0HfEHIMoDJ10uM5I00wX38Dbt6QaSO6v/PSowajOnBE43pjqEINBGHT7/C +il/JecPQj1bamTrZWQy6DA2+WjmNMVlXZv8Nwix9Jw5vPt/BVLLuN6whP4UKvKmc +ib/EI53sDB4WstROMngslfyR4XBg/DtCIOGZfmfnTJKvQTQlOSt1P5w7jh0NKXM4 +syDClByOXkKSf/Buu8vW1hWFgdoXW55s47tusS6ExCuBdQyo9abyq7DjkAyYu88U +bqHQoFIH+ARyr/aWVErWPlfBfVUR2Ch4V1fkszPA7rcdyWVw82R66K7cwN235zcq +oqD23aNMJ26nd5d1Xw2xoybB652S2Q+PmuT0KQn+GHbLLIquTdMYFb80f1rQDRS8 +5bMGjYhlgXB9f2Wcg62m1J1OdKKasQUE8zMVHlArW8TRV7P4xRFzmYgP63Kl9oMP +Ux64wl5hs+LLFWTjH1f8608z70ijsgfaMdVpHzfD8Q0q5mPbE2Y= +=aijj +-----END PGP SIGNATURE----- diff --git a/decimal-3.8.patch b/decimal-3.8.patch index cd10f4f..70051d4 100644 --- a/decimal-3.8.patch +++ b/decimal-3.8.patch @@ -25,7 +25,7 @@ if (sep == NULL) { --- a/setup.py +++ b/setup.py -@@ -2051,7 +2051,7 @@ class PyBuildExt(build_ext): +@@ -2053,7 +2053,7 @@ class PyBuildExt(build_ext): undef_macros = [] if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): include_dirs = [] diff --git a/python38.changes b/python38.changes index dde7562..2274f17 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Aug 31 01:18:08 UTC 2021 - Fusion Future + +- Update to 3.8.12 + * Complete list of changes is available at + https://docs.python.org/release/3.8.12/whatsnew/changelog.html + * Security + - bpo-42278: Replaced usage of tempfile.mktemp() with + TemporaryDirectory to avoid a potential race condition. + - bpo-44394: Update the vendored copy of libexpat to 2.4.1 + (from 2.2.8) to get the fix for the CVE-2013-0340 “Billion + Laughs” vulnerability. This copy is most used on Windows and + macOS. + - bpo-43124: Made the internal putcmd function in smtplib + sanitize input for presence of \r and \n characters to avoid + (unlikely) command injection. + - bpo-36384: ipaddress module no longer accepts any leading + zeros in IPv4 address strings. Leading zeros are ambiguous + and interpreted as octal notation by some libraries. For + example the legacy function socket.inet_aton() treats leading + zeros as octal notation. glibc implementation of modern + inet_pton() does not accept any leading zeros. For a while + the ipaddress module used to accept ambiguous leading zeros. +- Refreshed patch: + * decimal-3.8.patch + ------------------------------------------------------------------- Fri Aug 27 12:00:12 UTC 2021 - Matej Cepl diff --git a/python38.spec b/python38.spec index b37d5e8..19914db 100644 --- a/python38.spec +++ b/python38.spec @@ -88,7 +88,7 @@ %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so %bcond_without profileopt Name: %{python_pkg_name}%{psuffix} -Version: 3.8.11 +Version: 3.8.12 Release: 0 Summary: Python 3 Interpreter License: Python-2.0