Compare commits

...

19 Commits

Author SHA1 Message Date
David Abdurachmanov 662a2d1c92
Increase tests timeout by 10x on riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-10-16 11:08:31 +03:00
David Abdurachmanov 5bdcdb9088
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-10-16 11:05:35 +03:00
Yaakov Selkowitz 1b480eac01 Use bundled libb2 in RHEL builds
Standalone libb2 is unwanted in RHEL.
2023-10-05 12:12:15 +02:00
Tomáš Hrnčiar 3254311fe9 Update to 3.11.6 2023-10-04 11:16:54 +02:00
Tomáš Hrnčiar 7d571986dc Temporarily skip test_check_probes in CI tests
See: https://github.com/python/cpython/issues/104280#issuecomment-1669249980
2023-08-29 15:54:08 +02:00
Tomáš Hrnčiar 32c38941f9 Update to 3.11.5 2023-08-29 15:50:12 +02:00
Charalampos Stratakis ee27ca470f Remove extra distro-applied CFLAGS passed to user-built C extensions
Only -fexceptions and -fcf-protection are preserved for binary
compatibility with user-built python C extension.

https://fedoraproject.org/wiki/Changes/Python_Extension_Flags_Reduction
2023-08-04 16:06:02 +02:00
Fedora Release Engineering 458f7d2d24 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 15:42:14 +00:00
Python Maint 5f98fe006c Rebuilt for Python 3.12 2023-06-13 15:09:02 +02:00
Tomáš Hrnčiar 8ca0a0a2d8 Update to 3.11.4 2023-06-08 08:36:11 +02:00
Charalampos Stratakis 64d93401a3 Fixup for CVE-2023-24329 patch name 2023-05-27 00:55:16 +02:00
Lumir Balhar 68ad779a6c Fix for CVE-2023-24329 2023-05-24 14:08:28 +02:00
Tomáš Hrnčiar 7b688dbf92 Update to 3.11.3 2023-04-05 13:51:34 +02:00
Tomáš Hrnčiar 0331299c7d Update to 3.11.2 2023-02-09 11:25:31 +01:00
Miro Hrončok db4f001692 Don't require pyproject-rpm-macros on RHEL
See also https://src.fedoraproject.org/rpms/pyproject-rpm-macros/pull-request/345
2023-01-20 20:54:07 +00:00
Fedora Release Engineering 85c6584975 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 18:45:09 +00:00
Miro Hrončok 01ddee3bb6 Remove any deprecation warnings in asyncio.get_event_loop()
The warnings were added in 3.11.1 and will be reverted in 3.11.2.
They make some Fedora packages fail to build, so we backport the revert.
2023-01-11 15:26:49 +01:00
Miro Hrončok 06ef941d95 Fix `asyncio` subprocess losing `stderr` and `stdout` output
Reported as a regression in https://bodhi.fedoraproject.org/updates/FEDORA-2022-dbb811d203
2023-01-09 13:19:27 +00:00
Miro Hrončok ec7d75e3d1 Opt-out from https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/6TQYCHMX4FZLF27U5BCEC7IFV6XNBKJP/
for rationale, namely https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/ZVDEXGPU6JQFXB3XHYZ4IXVQNNR3YM3V/

Summary: Python is currently slower with frame pointers
due to a slowdown in _PyEval_EvalFrameDefault,
but we expect this to be solved in Python 3.12.

Tracking bugzilla: https://bugzilla.redhat.com/2158729

This change does not require a release bump.
It is only needed to be here to prevent the next builds from including frame pointers.
2023-01-06 12:05:28 +01:00
4 changed files with 80 additions and 17 deletions

View File

@ -16,9 +16,9 @@ LEVELS = (None, 1, 2)
# list of globs of test and other files that we expect not to have bytecode
not_compiled = [
'/usr/bin/*',
'*/test/bad_coding.py',
'*/test/bad_coding2.py',
'*/test/badsyntax_*.py',
'*/test/*/bad_coding.py',
'*/test/*/bad_coding2.py',
'*/test/*/badsyntax_*.py',
'*/lib2to3/tests/data/*.py',
'*/lib2to3/tests/data/*/*.py',
'*/lib2to3/tests/data/*/*/*.py',

View File

@ -13,11 +13,11 @@ URL: https://www.python.org/
# WARNING When rebasing to a new Python version,
# remember to update the python3-docs package as well
%global general_version %{pybasever}.1
%global general_version %{pybasever}.6
#global prerel ...
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 2.1.riscv64%{?dist}
Release: 2.0.riscv64%{?dist}
License: Python-2.0.1
@ -67,7 +67,7 @@ License: Python-2.0.1
# If the rpmwheels condition is disabled, we use the bundled wheel packages
# from Python with the versions below.
# This needs to be manually updated when we update Python.
%global pip_version 22.3.1
%global pip_version 23.2.1
%global setuptools_version 65.5.0
# Expensive optimizations (mainly, profile-guided optimizations)
@ -175,6 +175,12 @@ Obsoletes: python%{pybasever}%{?1:-%{1}}\
%define unversioned_obsoletes_of_python3_X_if_main() %{nil}
%endif
# Opt-out from https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
# Python is slower with frame pointers, but we expect to remove this in Python 3.12+
# See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/6TQYCHMX4FZLF27U5BCEC7IFV6XNBKJP/
# Tracking bugzilla: https://bugzilla.redhat.com/2158729
%undefine _include_frame_pointers
# =======================
# Build-time requirements
# =======================
@ -199,7 +205,9 @@ BuildRequires: glibc-devel
BuildRequires: gmp-devel
BuildRequires: gnupg2
BuildRequires: libappstream-glib
%if %{undefined rhel}
BuildRequires: libb2-devel
%endif
BuildRequires: libffi-devel
BuildRequires: libnsl2-devel
BuildRequires: libtirpc-devel
@ -428,6 +436,8 @@ This package contains /usr/bin/python - the "python" command that runs Python 3.
%package -n %{pkgname}-libs
Summary: Python runtime libraries
# Bundled libb2 is CC0, covered by grandfathering exception
License: Python-2.0.1 AND CC0-1.0
%if %{with rpmwheels}
Requires: %{python_wheel_pkg_prefix}-setuptools-wheel
@ -439,6 +449,10 @@ Provides: bundled(python3dist(setuptools)) = %{setuptools_version}
%unversioned_obsoletes_of_python3_X_if_main libs
# Bundled internal headers are used even when building with system libb2
# last updated by https://github.com/python/cpython/pull/6286
Provides: bundled(libb2) = 0.98.1
# There are files in the standard library that have python shebang.
# We've filtered the automatic requirement out so libs are installable without
# the main package. This however makes it pulled in by default.
@ -468,7 +482,11 @@ Requires: %{pkgname}-libs%{?_isa} = %{version}-%{release}
# But we want them when packages BuildRequire python3-devel
Requires: (python-rpm-macros if rpm-build)
Requires: (python3-rpm-macros if rpm-build)
Requires: (pyproject-rpm-macros if rpm-build)
# We omit this dependency on RHEL to avoid pulling the macros to AppStream:
# RHEL users can use the minimal implementation of %%pyproject_buildrequires
# from pyproject-srpm-macros instead.
# On Fedora, we keep this to avoid one additional round of %%generate_buildrequires.
%{!?rhel:Requires: (pyproject-rpm-macros if rpm-build)}
%unversioned_obsoletes_of_python3_X_if_main devel
@ -660,14 +678,15 @@ topdir=$(pwd)
# Standard library built here will still use the %%build_...flags,
# Fedora packages utilizing %%py3_build will use them as well
# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
export CFLAGS="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags_Reduction
export CFLAGS="%{extension_cflags}"
export CFLAGS_NODIST="%{build_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
export CXXFLAGS="%{extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv"
export CXXFLAGS="%{extension_cxxflags}"
export CPPFLAGS="$(pkg-config --cflags-only-I libffi)"
export OPT="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
export OPT="%{extension_cflags}"
export LINKCC="gcc"
export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)"
export LDFLAGS="%{extension_ldflags} -g $(pkg-config --libs-only-L openssl)"
export LDFLAGS="%{extension_ldflags} $(pkg-config --libs-only-L openssl)"
export LDFLAGS_NODIST="%{build_ldflags} -g $(pkg-config --libs-only-L openssl)"
# We can build several different configurations of Python: regular and debug.
@ -1068,6 +1087,9 @@ CheckPython() {
# test_freeze_simple_script is skipped, because it fails when bundled wheels
# are removed in Fedora.
# upstream report: https://bugs.python.org/issue45783
# test_check_probes is failing since it was introduced in 3.12.0rc1,
# the test is skipped until it is fixed in upstream.
# see: https://github.com/python/cpython/issues/104280#issuecomment-1669249980
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \
-wW --slowest -j0 \
@ -1077,6 +1099,7 @@ CheckPython() {
--timeout=18000 \
%endif
-i test_freeze_simple_script \
-i test_check_probes \
%if %{with bootstrap}
-x test_distutils \
%endif
@ -1438,6 +1461,7 @@ CheckPython optimized
%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so
%{dynload_dir}/_testcapi.%{SOABI_optimized}.so
%{dynload_dir}/_testclinic.%{SOABI_optimized}.so
%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so
%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so
%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so
@ -1566,6 +1590,7 @@ CheckPython optimized
%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so
%{dynload_dir}/_testbuffer.%{SOABI_debug}.so
%{dynload_dir}/_testcapi.%{SOABI_debug}.so
%{dynload_dir}/_testclinic.%{SOABI_debug}.so
%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so
%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so
%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so
@ -1596,8 +1621,46 @@ CheckPython optimized
# ======================================================
%changelog
* Fri Jan 06 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.1-2.0.riscv64
- Increase test timeout on riscv64
* Mon Oct 16 2023 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.6-2.0.riscv64
- Increase tests timeout by 10x on riscv64
* Tue Oct 03 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.11.6-2
- Use bundled libb2 in RHEL builds
* Tue Oct 03 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.6-1
- Update to 3.11.6
* Mon Aug 28 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.5-1
- Update to 3.11.5
* Wed Aug 02 2023 Charalampos Stratakis <cstratak@redhat.com> - 3.11.4-4
- Remove extra distro-applied CFLAGS passed to user built C extensions
- https://fedoraproject.org/wiki/Changes/Python_Extension_Flags_Reduction
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 3.11.4-2
- Rebuilt for Python 3.12
* Wed Jun 07 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.4-1
- Update to 3.11.4
* Wed May 24 2023 Lumír Balhar <lbalhar@redhat.com> - 3.11.3-2
- Fix for CVE-2023-24329
* Wed Apr 05 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.3-1
- Update to 3.11.3
* Wed Feb 08 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.2-1
- Update to 3.11.2
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jan 06 2023 Miro Hrončok <mhroncok@redhat.com> - 3.11.1-3
- Fix `asyncio` subprocess losing `stderr` and `stdout` output
- Remove any deprecation warnings in asyncio.get_event_loop()
* Mon Dec 19 2022 Miro Hrončok <mhroncok@redhat.com> - 3.11.1-2
- No longer patch the default bytecode cache invalidation policy

View File

@ -1,2 +1,2 @@
SHA512 (Python-3.11.1.tar.xz) = 5edd70c881e083c96199c60471f18f9ebc4c97a2d45dc66f89e16d7c3638d8a5d2cbf2e84b1be3d7f1178ce9f7fa4197884385c1ee3618ff66a538f872f318ed
SHA512 (Python-3.11.1.tar.xz.asc) = 81ed05c2adf38552bdc5ac761704f2720a646d56681a919a6bfa51f1a4b42cd14edb9c84d58664dbc8e7b561cd78d82ae6b10dda423e1fae543bc7fa4bf3f78e
SHA512 (Python-3.11.6.tar.xz) = 94b1038f6f53de0c44f99f72ed0f2e0791fd9d2a325ae00ba145b2b2c332c27b300b3ea3473017518089478f15e01867b1bb203c16610039cce36f8366de341a
SHA512 (Python-3.11.6.tar.xz.asc) = 510f0b1393948c1490f81fbd90987e6f6b048b9f4d9df5814168097f5d9ac96e3682ff9bdc82d35b351eff5a4cc75015c28253b1dbbb2d94780411157c8beb25

View File

@ -30,10 +30,10 @@
run: "PYTHON=python{{ pybasever }}d TOX=false VERSION={{ pybasever }} ./venv.sh"
- selftest:
dir: python/selftest
run: "VERSION={{ pybasever }} X='' ./parallel.sh"
run: "VERSION={{ pybasever }} X='-i test_check_probes' ./parallel.sh"
- debugtest:
dir: python/selftest
run: "VERSION={{ pybasever }} PYTHON=python{{ pybasever }}d X='' ./parallel.sh"
run: "VERSION={{ pybasever }} PYTHON=python{{ pybasever }}d X='-i test_check_probes' ./parallel.sh"
- debugflags:
dir: python/flags
run: "python{{ pybasever }}d ./assertflags.py -O0"