# tests which may fail because of builder environment limitations (no /proc or /dev/pts)
%define nobuilder_tests -u-network -x test_resource -x test_openpty -x test_socket -x test_nis -x test_posix -x test_locale -x test_pty -x test_asyncio -x test_os -x test_readline -x test_normalization
-# tests which fail because of some unknown/unresolved reason (this list should be %{nil})
+# tests which fail because of some unknown/unresolved reason (this list should be %%{nil})
# test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib...
# test_gdb: fails, as the gdb uses old python version
# test_time: test_AsTimeval (test.test_time.TestCPyTime), rounding error
%define broken_tests_x32 -x test_time
%undefine with_optimizations
%endif
-%define broken_tests -x test_embed -x test_nntplib -x test_gdb -x test_site -x test_distutils -x test_bdist_rpm -x test_ssl %{?broken_tests_x32}
+%define broken_tests -x test_embed -x test_nntplib -x test_gdb -x test_site -x test_ssl %{?broken_tests_x32}
%ifarch armv6hl armv7hl armv7hnl
%define _python_target_abi %{?_gnu}hf
%define _python_target_abi %{?_gnu}
%endif
-%define py_ver 3.10
+%define py_ver 3.12
%define py_abi %{py_ver}
%define py_platform %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_python_target_abi}
%define py_prefix %{_prefix}
Summary(tr.UTF-8): X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
Summary(uk.UTF-8): Мова програмування дуже високого рівня з X-інтерфейсом
Name: python3
-Version: %{py_ver}.9
-Release: 2
+Version: %{py_ver}.2
+Release: 0.1
Epoch: 1
License: PSF
Group: Development/Languages/Python
Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
-# Source0-md5: dc8c0f274b28ee9e95923d20cfc364c9
+# Source0-md5: e7c178b97bf8f7ccd677b94d614f7b3c
Source1: pyconfig.h.in
Patch0: %{name}-pythonpath.patch
-Patch1: %{name}-ac_fixes.patch
+
Patch2: %{name}-multilib.patch
Patch3: %{name}-no_cmdline_tests.patch
Patch4: %{name}-BLDLIBRARY.patch
Patch5: %{name}-config.patch
-Patch7: %{name}-db.patch
+
Patch9: %{name}-tests_with_pythonpath.patch
-Patch10: %{name}-bdist_rpm.patch
+
Patch11: %{name}-installcompile.patch
Patch13: %{name}-no-randomize-tests.patch
BuildRequires: openssl-devel >= 0.9.7
BuildRequires: pkgconfig
BuildRequires: readline-devel >= 5.0
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-pythonprov
BuildRequires: sed >= 4.0
BuildRequires: sqlite3-devel >= 3.3.5
%{?with_info:BuildRequires: tetex-makeindex}
%{?with_tkinter:BuildRequires: tix-devel >= 1:8.1.4-4}
%{?with_tkinter:BuildRequires: tk-devel >= 8.4.3}
+BuildRequires: xz
BuildRequires: xz-devel
BuildRequires: zlib-devel
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
%prep
%setup -q -n Python-%{version}
%patch0 -p1
-%patch1 -p1
+
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch7 -p1
+
%patch9 -p1
-%patch10 -p1
+
%patch11 -p1
%patch13 -p1
%{__rm} -r Modules/expat
-for SUBDIR in darwin libffi_osx; do
- %{__rm} -r Modules/_ctypes/$SUBDIR/*
-done
-
%if "%{pld_release}" == "ac"
files="md5module.c sha1module.c"
files="$files sha256module.c sha512module.c"
sed -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
Tools/gdb/libpython.py \
- Tools/pynche/pynche \
- Tools/pynche/pynche.pyw \
- Tools/scripts/2to3
sed -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
Tools/scripts/idle3 \
+ Tools/scripts/2to3 \
Tools/scripts/pydoc3
find . -name '*.py' | xargs -r grep -El '^#! */usr/bin/env python3?' | xargs %{__sed} -i -e '1s,^#! */usr/bin/env python3\?,#!/usr/bin/python3,'
sed -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
+ Tools/build/regen-configure.sh \
Tools/c-analyzer/must-resolve.sh
%build
install -p Tools/i18n/pygettext.py $RPM_BUILD_ROOT%{_bindir}/pygettext%{py_ver}
# reindent python code
-install -p Tools/scripts/reindent.py $RPM_BUILD_ROOT%{_bindir}/pyreindent%{py_ver}
+install -p Tools/patchcheck/reindent.py $RPM_BUILD_ROOT%{_bindir}/pyreindent%{py_ver}
# just to cut the noise, as they are not packaged (now)
%{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib*
%{py_libdir}/io.py
%{py_libdir}/operator.py
%{py_libdir}/posixpath.py
-%{py_libdir}/re.py
%{py_libdir}/reprlib.py
%{py_libdir}/site.py
%{py_libdir}/sre_*.py
%{py_libdir}/__pycache__/io.cpython-*.py[co]
%{py_libdir}/__pycache__/operator.cpython-*.py[co]
%{py_libdir}/__pycache__/posixpath.cpython-*.py[co]
-%{py_libdir}/__pycache__/re.cpython-*.py[co]
%{py_libdir}/__pycache__/reprlib.cpython-*.py[co]
%{py_libdir}/__pycache__/site.cpython-*.py[co]
%{py_libdir}/__pycache__/sre_*.cpython-*.py[co]
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-modules*
%{py_libdir}/__future__.py
-%{py_libdir}/__phello__.foo.py
+%{py_libdir}/__hello__.py
%{py_libdir}/_aix_support.py
-%{py_libdir}/_bootsubprocess.py
%{py_libdir}/_compat_pickle.py
%{py_libdir}/_compression.py
%{py_libdir}/_markupbase.py
%{py_libdir}/_osx_support.py
%{py_libdir}/_pydecimal.py
%{py_libdir}/_py_abc.py
+%{py_libdir}/_pydatetime.py
%{py_libdir}/_pyio.py
+%{py_libdir}/_pylong.py
%{py_libdir}/_strptime.py
%{py_libdir}/_threading_local.py
%{py_libdir}/aifc.py
%{py_libdir}/antigravity.py
%{py_libdir}/argparse.py
%{py_libdir}/ast.py
-%{py_libdir}/asynchat.py
-%{py_libdir}/asyncore.py
%{py_libdir}/base64.py
%{py_libdir}/bdb.py
-%{py_libdir}/binhex.py
%{py_libdir}/bz2.py
%{py_libdir}/cProfile.py
%{py_libdir}/calendar.py
%{py_libdir}/hmac.py
%{py_libdir}/imaplib.py
%{py_libdir}/imghdr.py
-%{py_libdir}/imp.py
%{py_libdir}/inspect.py
%{py_libdir}/ipaddress.py
%{py_libdir}/lzma.py
%{py_libdir}/shlex.py
%{py_libdir}/shutil.py
%{py_libdir}/signal.py
-%{py_libdir}/smtpd.py
%{py_libdir}/smtplib.py
%{py_libdir}/sndhdr.py
%{py_libdir}/socket.py
%{py_libdir}/webbrowser.py
%{py_libdir}/xdrlib.py
%{py_libdir}/zipapp.py
-%{py_libdir}/zipfile.py
%{py_libdir}/zipimport.py
%{py_libdir}/__pycache__/__future__.cpython-*.py[co]
-%{py_libdir}/__pycache__/__phello__.foo.cpython-*.py[co]
+%{py_libdir}/__pycache__/__hello__.cpython-*.py[co]
%{py_libdir}/__pycache__/_aix_support.cpython-*.py[co]
-%{py_libdir}/__pycache__/_bootsubprocess.cpython-*.py[co]
%{py_libdir}/__pycache__/_compat_pickle.cpython-*.py[co]
%{py_libdir}/__pycache__/_compression.cpython-*.py[co]
%{py_libdir}/__pycache__/_markupbase.cpython-*.py[co]
%{py_libdir}/__pycache__/_osx_support.cpython-*.py[co]
%{py_libdir}/__pycache__/_pydecimal.cpython-*.py[co]
%{py_libdir}/__pycache__/_py_abc.cpython-*.py[co]
+%{py_libdir}/__pycache__/_pydatetime.cpython-*.py[co]
%{py_libdir}/__pycache__/_pyio.cpython-*.py[co]
+%{py_libdir}/__pycache__/_pylong.cpython-*.py[co]
%{py_libdir}/__pycache__/_strptime.cpython-*.py[co]
%{py_libdir}/__pycache__/_threading_local.cpython-*.py[co]
%{py_libdir}/__pycache__/aifc.cpython-*.py[co]
%{py_libdir}/__pycache__/antigravity.cpython-*.py[co]
%{py_libdir}/__pycache__/argparse.cpython-*.py[co]
%{py_libdir}/__pycache__/ast.cpython-*.py[co]
-%{py_libdir}/__pycache__/asynchat.cpython-*.py[co]
-%{py_libdir}/__pycache__/asyncore.cpython-*.py[co]
%{py_libdir}/__pycache__/base64.cpython-*.py[co]
%{py_libdir}/__pycache__/bdb.cpython-*.py[co]
-%{py_libdir}/__pycache__/binhex.cpython-*.py[co]
%{py_libdir}/__pycache__/bz2.cpython-*.py[co]
%{py_libdir}/__pycache__/cProfile.cpython-*.py[co]
%{py_libdir}/__pycache__/calendar.cpython-*.py[co]
%{py_libdir}/__pycache__/hmac.cpython-*.py[co]
%{py_libdir}/__pycache__/imaplib.cpython-*.py[co]
%{py_libdir}/__pycache__/imghdr.cpython-*.py[co]
-%{py_libdir}/__pycache__/imp.cpython-*.py[co]
%{py_libdir}/__pycache__/inspect.cpython-*.py[co]
%{py_libdir}/__pycache__/ipaddress.cpython-*.py[co]
%{py_libdir}/__pycache__/lzma.cpython-*.py[co]
%{py_libdir}/__pycache__/shlex.cpython-*.py[co]
%{py_libdir}/__pycache__/shutil.cpython-*.py[co]
%{py_libdir}/__pycache__/signal.cpython-*.py[co]
-%{py_libdir}/__pycache__/smtpd.cpython-*.py[co]
%{py_libdir}/__pycache__/smtplib.cpython-*.py[co]
%{py_libdir}/__pycache__/sndhdr.cpython-*.py[co]
%{py_libdir}/__pycache__/socket.cpython-*.py[co]
%{py_libdir}/__pycache__/webbrowser.cpython-*.py[co]
%{py_libdir}/__pycache__/xdrlib.cpython-*.py[co]
%{py_libdir}/__pycache__/zipapp.cpython-*.py[co]
-%{py_libdir}/__pycache__/zipfile.cpython-*.py[co]
%{py_libdir}/__pycache__/zipimport.cpython-*.py[co]
#
%attr(755,root,root) %{py_dyndir}/_queue.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_random.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_sha1.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_sha2.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_sha3.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_socket.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_ssl.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_statistics.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_testbuffer.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_testcapi.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_testclinic.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_testinternalcapi.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_testimportmultiple.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_testmultiphase.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_testsinglephase.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_uuid.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/_xxinterpchannels.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_xxsubinterpreters.cpython-*.so
%attr(755,root,root) %{py_dyndir}/_xxtestfuzz.cpython-*.so
-
-# for openssl < 0.9.8 package sha256 and sha512 modules
-%if "%{pld_release}" != "ac"
-%attr(755,root,root) %{py_dyndir}/_sha256.cpython-*.so
-%attr(755,root,root) %{py_dyndir}/_sha512.cpython-*.so
-%endif
-
%attr(755,root,root) %{py_dyndir}/array.cpython-*.so
%attr(755,root,root) %{py_dyndir}/audioop.cpython-*.so
%attr(755,root,root) %{py_dyndir}/binascii.cpython-*.so
%attr(755,root,root) %{py_dyndir}/termios.cpython-*.so
%attr(755,root,root) %{py_dyndir}/spwd.cpython-*.so
%attr(755,root,root) %{py_dyndir}/unicodedata.cpython-*.so
+%attr(755,root,root) %{py_dyndir}/xxsubtype.cpython-*.so
%attr(755,root,root) %{py_dyndir}/zlib.cpython-*.so
+%{py_libdir}/__phello__
+
%dir %{py_libdir}/asyncio
%{py_libdir}/asyncio/__pycache__
%{py_libdir}/asyncio/*.py
%{py_libdir}/dbm/__pycache__
%{py_libdir}/dbm/*.py
-%dir %{py_libdir}/distutils
-%dir %{py_libdir}/distutils/command
-%doc %{py_libdir}/distutils/README
-%{py_libdir}/distutils/__pycache__
-%{py_libdir}/distutils/command/__pycache__
-%{py_libdir}/distutils/*.py
-%{py_libdir}/distutils/command/*.py
-%{py_libdir}/distutils/command/command_template
-
%dir %{py_libdir}/email
%dir %{py_libdir}/email/mime
%{py_libdir}/email/__pycache__
%dir %{py_libdir}/importlib/metadata
%{py_libdir}/importlib/metadata/__pycache__
%{py_libdir}/importlib/metadata/*.py
+%{py_libdir}/importlib/resources
%dir %{py_libdir}/json
%{py_libdir}/json/__pycache__
%{py_libdir}/multiprocessing/dummy/__pycache__
%{py_libdir}/multiprocessing/dummy/*.py
+%{py_libdir}/re
+%{py_libdir}/tomllib
%{py_libdir}/turtledemo
%dir %{py_libdir}/unittest
%{py_libdir}/xmlrpc/__pycache__
%{py_libdir}/xmlrpc/*.py
+%{py_libdir}/zipfile
+
%attr(755,root,root) %{py_dyndir}/_sqlite3.cpython-*.so
%dir %{py_libdir}/sqlite3
%{py_libdir}/sqlite3/__pycache__
%defattr(644,root,root,755)
%{py_libdir}/idlelib/idle_test
%{py_libdir}/test
-%{py_libdir}/ctypes/test
-%{py_libdir}/distutils/tests
-%{py_libdir}/lib2to3/tests
-%{py_libdir}/sqlite3/test
-%{py_libdir}/tkinter/test
-%{py_libdir}/unittest/test
%if %{with info}
%files doc-info