+++ /dev/null
---- Python-3.8.5/Makefile.pre.in.orig 2020-09-17 07:55:13.731893519 +0200
-+++ Python-3.8.5/Makefile.pre.in 2020-09-17 10:33:36.683744945 +0200
-@@ -224,6 +224,7 @@
- LIBRARY= @LIBRARY@
- LDLIBRARY= @LDLIBRARY@
- BLDLIBRARY= @BLDLIBRARY@
-+BLDLIBDIR= @BLDLIBDIR@
- PY3LIBRARY= @PY3LIBRARY@
- DLLLIBRARY= @DLLLIBRARY@
- LDLIBRARYDIR= @LDLIBRARYDIR@
-@@ -588,7 +588,7 @@ clinic: check-clean-src $(srcdir)/Module
-
- # Build the interpreter
- $(BUILDPYTHON): Programs/python.o $(LIBRARY_DEPS)
-- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
-+ $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBDIR) $(LIBS) $(MODLIBS) $(SYSLIBS)
-
- platform: $(BUILDPYTHON) pybuilddir.txt
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
-@@ -723,7 +723,7 @@ Makefile Modules/config.c: Makefile.pre
-
-
- Programs/_testembed: Programs/_testembed.o $(LIBRARY_DEPS)
-- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
-+ $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBDIR) $(LIBS) $(MODLIBS) $(SYSLIBS)
-
- ############################################################################
- # Importlib
---- Python-3.8.5/configure.ac.orig 2020-09-17 07:55:13.735226834 +0200
-+++ Python-3.8.5/configure.ac 2020-09-17 10:46:44.172812084 +0200
-@@ -1033,6 +1033,7 @@
- # with the ABI build flags appended.
- AC_SUBST(LDLIBRARY)
- AC_SUBST(DLLLIBRARY)
-+AC_SUBST(BLDLIBDIR)
- AC_SUBST(BLDLIBRARY)
- AC_SUBST(PY3LIBRARY)
- AC_SUBST(LDLIBRARYDIR)
-@@ -1040,6 +1041,7 @@
- AC_SUBST(RUNSHARED)
- AC_SUBST(LDVERSION)
- LDLIBRARY="$LIBRARY"
-+BLDLIBDIR=''
- BLDLIBRARY='$(LDLIBRARY)'
- INSTSONAME='$(LDLIBRARY)'
- DLLLIBRARY=''
-@@ -1156,7 +1158,8 @@
- ;;
- SunOS*)
- LDLIBRARY='libpython$(LDVERSION).so'
-- BLDLIBRARY='-Wl,-R,$(LIBDIR) -L. -lpython$(LDVERSION)'
-+ BLDLIBDIR='-Wl,-R,$(LIBDIR) -L.'
-+ BLDLIBRARY='-lpython$(VERSION)'
- RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- INSTSONAME="$LDLIBRARY".$SOVERSION
- if test "$with_pydebug" != yes
-@@ -1147,7 +1147,8 @@ if test $enable_shared = "yes"; then
- ;;
- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*)
- LDLIBRARY='libpython$(LDVERSION).so'
-- BLDLIBRARY='-L. -lpython$(LDVERSION)'
-+ BLDLIBDIR='-Wl,-R,$(LIBDIR) -L.'
-+ BLDLIBRARY='-lpython$(VERSION)'
- RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- INSTSONAME="$LDLIBRARY".$SOVERSION
- if test "$with_pydebug" != yes
-@@ -1183,12 +1187,14 @@
- LDLIBRARY='libpython$(LDVERSION).sl'
- ;;
- esac
-- BLDLIBRARY='-Wl,+b,$(LIBDIR) -L. -lpython$(LDVERSION)'
-+ BLDLIBDIR='-Wl,+b,$(LIBDIR) -L.'
-+ BLDLIBRARY='-lpython$(VERSION)'
- RUNSHARED=SHLIB_PATH=`pwd`${SHLIB_PATH:+:${SHLIB_PATH}}
- ;;
- Darwin*)
- LDLIBRARY='libpython$(LDVERSION).dylib'
-- BLDLIBRARY='-L. -lpython$(LDVERSION)'
-+ BLDLIBDIR='-L.'
-+ BLDLIBRARY='-lpython$(LDVERSION)'
- RUNSHARED=DYLD_LIBRARY_PATH=`pwd`${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}
- ;;
- AIX*)
+++ /dev/null
-diff -urNp -x '*.orig' Python-3.9.2.org/Lib/distutils/command/install.py Python-3.9.2/Lib/distutils/command/install.py
---- Python-3.9.2.org/Lib/distutils/command/install.py 2021-02-25 18:41:13.921266287 +0100
-+++ Python-3.9.2/Lib/distutils/command/install.py 2021-02-25 18:41:15.634652993 +0100
-@@ -9,6 +9,7 @@ from distutils import log
- from distutils.core import Command
- from distutils.debug import DEBUG
- from distutils.sysconfig import get_config_vars
-+from distutils.sysconfig import PREFIX, EXEC_PREFIX
- from distutils.errors import DistutilsPlatformError
- from distutils.file_util import write_file
- from distutils.util import convert_path, subst_vars, change_root
-@@ -419,8 +420,8 @@ class install(Command):
- raise DistutilsOptionError(
- "must not supply exec-prefix without prefix")
-
-- self.prefix = os.path.normpath(sys.prefix)
-- self.exec_prefix = os.path.normpath(sys.exec_prefix)
-+ self.prefix = PREFIX
-+ self.exec_prefix = EXEC_PREFIX
-
- else:
- if self.exec_prefix is None:
-diff -urNp -x '*.orig' Python-3.9.2.org/Lib/distutils/sysconfig.py Python-3.9.2/Lib/distutils/sysconfig.py
---- Python-3.10.0/Lib/distutils/sysconfig.py~ 2021-10-20 22:42:16.000000000 +0200
-+++ Python-3.10.0/Lib/distutils/sysconfig.py 2021-10-20 22:53:54.943156539 +0200
-@@ -320,6 +320,10 @@ def get_python_lib(plat_specific=0, stan
- If 'prefix' is supplied, use it instead of sys.base_prefix or
- sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
- """
-+ if PREFIX == "/usr":
-+ PREFIX = "/usr/local"
-+ if EXEC_PREFIX == "/usr":
-+ EXEC_PREFIX = "/usr/local"
- if prefix is None:
- if standard_lib:
- prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-diff -urNp -x '*.orig' Python-3.9.2.org/Lib/site.py Python-3.9.2/Lib/site.py
---- Python-3.9.2.org/Lib/site.py 2021-02-25 18:41:13.924599724 +0100
-+++ Python-3.9.2/Lib/site.py 2021-02-25 18:41:15.634652993 +0100
-@@ -76,7 +76,7 @@ import _sitebuiltins
- import io
-
- # Prefixes for site-packages; add additional prefixes like /usr/local here
--PREFIXES = [sys.prefix, sys.exec_prefix]
-+PREFIXES = ["/usr/local", sys.prefix, sys.exec_prefix]
- # Enable per user site-packages directory
- # set it to False to disable the feature or True to force the feature
- ENABLE_USER_SITE = None
diff -urNp -x '*.orig' Python-3.9.2.org/Lib/site.py Python-3.9.2/Lib/site.py
--- Python-3.9.2.org/Lib/site.py 2021-02-19 13:31:44.000000000 +0100
+++ Python-3.9.2/Lib/site.py 2021-02-25 18:40:00.705652346 +0100
+@@ -295,7 +295,7 @@
+ if sys.platform == 'darwin' and sys._framework:
+ return f'{userbase}/lib/python/site-packages'
+
+- return f'{userbase}/lib/python{version[0]}.{version[1]}/site-packages'
++ return f'{userbase}/{sys.platlibdir}/python{version[0]}.{version[1]}/site-packages'
+
+
+ def getuserbase():
@@ -344,6 +344,8 @@ def getsitepackages(prefixes=None):
"python%d.%d" % sys.version_info[:2],
"site-packages")
extra_link_args=readline_extra_link_args,
libraries=readline_libs))
else:
+--- Python-3.10.3/Lib/test/test_sysconfig.py~ 2022-03-16 12:27:11.000000000 +0100
++++ Python-3.10.3/Lib/test/test_sysconfig.py 2022-03-22 23:11:16.335919644 +0100
+@@ -299,13 +299,13 @@
+ expected = global_path.replace(base, user, 1)
+ # bpo-44860: platlib of posix_user doesn't use sys.platlibdir,
+ # whereas posix_prefix does.
+- if name == 'platlib':
++ if name != 'platlib':
+ # Replace "/lib64/python3.11/site-packages" suffix
+ # with "/lib/python3.11/site-packages".
+ py_version_short = sysconfig.get_python_version()
+ suffix = f'python{py_version_short}/site-packages'
+- expected = expected.replace(f'/{sys.platlibdir}/{suffix}',
+- f'/lib/{suffix}')
++ expected = expected.replace(f'/lib/{suffix}',
++ f'/{sys.platlibdir}/{suffix}')
+ self.assertEqual(user_path, expected)
+
+ def test_main(self):
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}.0
+Version: %{py_ver}.3
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: 3e7035d272680f80e3ce4e8eb492d580
+# Source0-md5: 21e0b70d70fdd4756aafc4caa55cc17e
Source1: pyconfig.h.in
Patch0: %{name}-pythonpath.patch
Patch1: %{name}-ac_fixes.patch
Patch3: %{name}-no_cmdline_tests.patch
Patch5: %{name}-config.patch
-Patch6: %{name}-BLDLIBRARY.patch
Patch7: %{name}-db.patch
-Patch8: %{name}-install_prefix.patch
Patch9: %{name}-tests_with_pythonpath.patch
Patch10: %{name}-bdist_rpm.patch
Patch11: %{name}-installcompile.patch
%patch3 -p1
%patch5 -p1
-%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
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/c-analyzer/must-resolve.sh
+
%build
if ! grep -q "tmpfs" /proc/self/mounts; then
echo "You need to have /dev/shm mounted in order to build this package!" >&2
# that seems to be only an empty extension template,
# which seems to be built only {with tests}
-%{__rm} -f $RPM_BUILD_ROOT%{py_dyndir}/xxlimited.*.so
+%{__rm} $RPM_BUILD_ROOT%{py_dyndir}/xxlimited*.*.so
# already in %%doc
%{__rm} $RPM_BUILD_ROOT%{py_libdir}/LICENSE.txt
%attr(755,root,root) %{_bindir}/python%{py_abi}
%endif
%attr(755,root,root) %{_bindir}/python3
-%{_mandir}/man1/python%{py_ver}.1*
-%{_mandir}/man1/python3.1*
+%{_mandir}/man1/python3*.1*
%files libs
%defattr(644,root,root,755)
%{py_libdir}/__future__.py
%{py_libdir}/__phello__.foo.py
%{py_libdir}/_aix_support.py
-%{py_libdir}/_bootlocale.py
%{py_libdir}/_bootsubprocess.py
%{py_libdir}/_compat_pickle.py
%{py_libdir}/_compression.py
%{py_libdir}/filecmp.py
%{py_libdir}/fileinput.py
%{py_libdir}/fnmatch.py
-%{py_libdir}/formatter.py
%{py_libdir}/fractions.py
%{py_libdir}/ftplib.py
%{py_libdir}/getopt.py
%{py_libdir}/struct.py
%{py_libdir}/subprocess.py
%{py_libdir}/sunau.py
-%{py_libdir}/symbol.py
%{py_libdir}/symtable.py
%{py_libdir}/tabnanny.py
%{py_libdir}/tarfile.py
%{py_libdir}/__pycache__/__future__.cpython-*.py[co]
%{py_libdir}/__pycache__/__phello__.foo.cpython-*.py[co]
%{py_libdir}/__pycache__/_aix_support.cpython-*.py[co]
-%{py_libdir}/__pycache__/_bootlocale.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__/filecmp.cpython-*.py[co]
%{py_libdir}/__pycache__/fileinput.cpython-*.py[co]
%{py_libdir}/__pycache__/fnmatch.cpython-*.py[co]
-%{py_libdir}/__pycache__/formatter.cpython-*.py[co]
%{py_libdir}/__pycache__/fractions.cpython-*.py[co]
%{py_libdir}/__pycache__/ftplib.cpython-*.py[co]
%{py_libdir}/__pycache__/getopt.cpython-*.py[co]
%{py_libdir}/__pycache__/struct.cpython-*.py[co]
%{py_libdir}/__pycache__/subprocess.cpython-*.py[co]
%{py_libdir}/__pycache__/sunau.cpython-*.py[co]
-%{py_libdir}/__pycache__/symbol.cpython-*.py[co]
%{py_libdir}/__pycache__/symtable.cpython-*.py[co]
%{py_libdir}/__pycache__/tabnanny.cpython-*.py[co]
%{py_libdir}/__pycache__/tarfile.cpython-*.py[co]
%attr(755,root,root) %{py_dyndir}/mmap.cpython-*.so
%attr(755,root,root) %{py_dyndir}/nis.cpython-*.so
%attr(755,root,root) %{py_dyndir}/ossaudiodev.cpython-*.so
-%attr(755,root,root) %{py_dyndir}/parser.cpython-*.so
%attr(755,root,root) %{py_dyndir}/pyexpat.cpython-*.so
%attr(755,root,root) %{py_dyndir}/readline.cpython-*.so
%attr(755,root,root) %{py_dyndir}/resource.cpython-*.so
%dir %{py_libdir}/importlib
%{py_libdir}/importlib/__pycache__
%{py_libdir}/importlib/*.py
+%dir %{py_libdir}/importlib/metadata
+%{py_libdir}/importlib/metadata/__pycache__
+%{py_libdir}/importlib/metadata/*.py
%dir %{py_libdir}/json
%{py_libdir}/json/__pycache__