X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=python3.spec;h=2ab914f9d177798c9c6d3e8b17a1065bbc795035;hb=b10abc3a3255bfc7bc1044fcf4383c3397f800eb;hp=a65336b27742056bc159f1238e9f9f570f3937a7;hpb=59758f4da1abef93ee9664ae4ac02cb7495f7c21;p=packages%2Fpython3.git diff --git a/python3.spec b/python3.spec index a65336b..2ab914f 100644 --- a/python3.spec +++ b/python3.spec @@ -11,7 +11,7 @@ # tests which will not work on 64-bit platforms %define no64bit_tests -x test_audioop -x test_rgbimg -x test_imageop # tests which may fail because of builder environment limitations (no /proc or /dev/pts) -%define nobuilder_tests -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 +%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}) # test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib... @@ -23,9 +23,15 @@ %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 py_ver 3.8 +%ifarch armv6hl armv7hl armv7hnl +%define _python_target_abi %{?_gnu}hf +%else +%define _python_target_abi %{?_gnu} +%endif + +%define py_ver 3.9 %define py_abi %{py_ver} -%define py_platform %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_gnu} +%define py_platform %{py_abi}-%{_target_base_arch}-%{_target_os}%{?_python_target_abi} %define py_prefix %{_prefix} %define py_libdir %{py_prefix}/%{_lib}/python%{py_ver} %define py_incdir %{_includedir}/python%{py_abi} @@ -41,13 +47,13 @@ Summary(ru.UTF-8): Язык программирования очень высо 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}.1 +Version: %{py_ver}.2 Release: 2 Epoch: 1 License: PSF Group: Development/Languages/Python Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz -# Source0-md5: b3fb85fd479c0bf950c626ef80cacb57 +# Source0-md5: f0dc9000312abeb16de4eccce9a870ab Source1: pyconfig.h.in Patch0: %{name}-pythonpath.patch Patch1: %{name}-ac_fixes.patch @@ -55,14 +61,13 @@ Patch2: %{name}-multilib.patch Patch3: %{name}-no_cmdline_tests.patch Patch4: %{name}-makefile-location.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 -# https://bugs.python.org/file21896/nonexistent_user.patch -Patch12: nonexistent_user.patch + Patch13: %{name}-no-randomize-tests.patch Patch14: python3-profile-tests.patch Patch15: python3-tests.patch @@ -81,8 +86,10 @@ BuildRequires: glibc-localedb-all %endif BuildRequires: gmp-devel >= 4.0 BuildRequires: libffi-devel +BuildRequires: libnsl-devel BuildRequires: libstdc++-devel -%{?with_system_mpdecimal:BuildRequires: mpdecimal-devel >= 2.4.1} +BuildRequires: libtirpc-devel +%{?with_system_mpdecimal:BuildRequires: mpdecimal-devel >= 2.5.0} BuildRequires: ncurses-ext-devel >= 5.2 BuildRequires: openssl-devel >= 0.9.7 BuildRequires: pkgconfig @@ -240,7 +247,7 @@ Summary: Python modules Summary(pl.UTF-8): Moduły języka Python Group: Libraries/Python Requires: %{name}-libs = %{epoch}:%{version}-%{release} -%{?with_system_mpdecimal:Requires: mpdecimal >= 2.4.1} +%{?with_system_mpdecimal:Requires: mpdecimal >= 2.4.2-2} Obsoletes: python3-modules-sqlite %requires_ge_to openssl openssl-devel @@ -490,13 +497,13 @@ Moduły testowe dla Pythona. %patch3 -p1 %patch4 -p1 %patch5 -p1 - +%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 + %patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -515,19 +522,15 @@ for f in $files; do done %endif -sed -E -i -e '1s,#![[:space:]]*/usr/bin/env[[:space:]]+python2,#!%{__python},' -e '1s,#![[:space:]]*/usr/bin/env[[:space:]]+python,#!%{__python},' -e '1s,#![[:space:]]*/usr/bin/python,#!%{__python},' \ - Lib/encodings/rot_13.py \ - Lib/lib2to3/tests/data/different_encoding.py \ - Lib/lib2to3/tests/data/false_encoding.py \ - Tools/gdb/libpython.py \ - Tools/pynche/pynche \ - Tools/pynche/pynche.pyw \ - Tools/scripts/2to3 \ - Tools/scripts/smelly.py +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,#![[:space:]]*/usr/bin/env[[:space:]]+python3,#!%{__python3},' \ - Tools/scripts/idle3 \ - Tools/scripts/pydoc3 +sed -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \ + Tools/scripts/idle3 \ + 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,' @@ -542,7 +545,7 @@ fi %{__autoconf} %configure \ CC="%{__cc}" \ - OPT="%{rpmcflags} -fno-caller-saves" \ + OPT="%{rpmcflags}" \ CPPFLAGS="%{rpmcppflags}" \ LDFLAGS="%{rpmldflags}" \ ac_cv_posix_semaphores_enabled=yes \ @@ -553,7 +556,9 @@ fi --with-dbmliborder=gdbm:ndbm:bdb \ --with-doc-strings \ --without-ensurepip \ + --with-platlibdir="%{_lib}" \ %{?with_debug:--with-pydebug} \ + --with-ssl-default-suites=openssl \ --with-system-expat \ --with-system-ffi \ %{?with_system_mpdecimal:--with-system-libmpdec} \ @@ -562,8 +567,13 @@ fi --with-lto %endif +if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + echo "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." >&2 + exit 1 +fi + %{__make} \ - TESTOPTS="%{test_list}" \ + TESTOPTS="%{_smp_mflags} %{test_list}" \ 2>&1 | awk ' BEGIN { fail = 0; logmsg = ""; } { @@ -578,7 +588,7 @@ END { if (fail) { print "\nPROBLEMS FOUND:"; print logmsg; exit(1); } }' LC_ALL=C.UTF-8 export LC_ALL %if %{with tests} -WITHIN_PYTHON_RPM_BUILD=1 %{__make} -j1 test \ +WITHIN_PYTHON_RPM_BUILD=1 %{__make} test \ TESTOPTS="%{test_flags} %{test_list}" %endif @@ -647,7 +657,6 @@ install -p Tools/scripts/reindent.py $RPM_BUILD_ROOT%{_bindir}/pyreindent%{py_ve # just to cut the noise, as they are not packaged (now) %{__rm} $RPM_BUILD_ROOT%{py_libdir}/ctypes/macholib/fetch_macholib* -%{__rm} $RPM_BUILD_ROOT%{py_libdir}/distutils/command/wininst*.exe %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.bat %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/*.pyw %{__rm} $RPM_BUILD_ROOT%{py_libdir}/idlelib/help.html @@ -789,10 +798,11 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %verify(not md5 mtime size) /etc/shrc.d/python*-modules* %{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}/_dummy_thread.py %{py_libdir}/_markupbase.py %{py_libdir}/_osx_support.py %{py_libdir}/_pydecimal.py @@ -832,7 +842,6 @@ rm -rf $RPM_BUILD_ROOT %{py_libdir}/difflib.py %{py_libdir}/dis.py %{py_libdir}/doctest.py -%{py_libdir}/dummy_threading.py %{py_libdir}/filecmp.py %{py_libdir}/fileinput.py %{py_libdir}/fnmatch.py @@ -843,6 +852,7 @@ rm -rf $RPM_BUILD_ROOT %{py_libdir}/getpass.py %{py_libdir}/gettext.py %{py_libdir}/glob.py +%{py_libdir}/graphlib.py %{py_libdir}/gzip.py %{py_libdir}/hashlib.py %{py_libdir}/hmac.py @@ -924,10 +934,11 @@ rm -rf $RPM_BUILD_ROOT %{py_libdir}/zipimport.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__/_dummy_thread.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] @@ -967,7 +978,6 @@ rm -rf $RPM_BUILD_ROOT %{py_libdir}/__pycache__/difflib.cpython-*.py[co] %{py_libdir}/__pycache__/dis.cpython-*.py[co] %{py_libdir}/__pycache__/doctest.cpython-*.py[co] -%{py_libdir}/__pycache__/dummy_threading.cpython-*.py[co] %{py_libdir}/__pycache__/filecmp.cpython-*.py[co] %{py_libdir}/__pycache__/fileinput.cpython-*.py[co] %{py_libdir}/__pycache__/fnmatch.cpython-*.py[co] @@ -978,6 +988,7 @@ rm -rf $RPM_BUILD_ROOT %{py_libdir}/__pycache__/getpass.cpython-*.py[co] %{py_libdir}/__pycache__/gettext.cpython-*.py[co] %{py_libdir}/__pycache__/glob.cpython-*.py[co] +%{py_libdir}/__pycache__/graphlib.cpython-*.py[co] %{py_libdir}/__pycache__/gzip.cpython-*.py[co] %{py_libdir}/__pycache__/hashlib.cpython-*.py[co] %{py_libdir}/__pycache__/hmac.cpython-*.py[co] @@ -1264,6 +1275,11 @@ rm -rf $RPM_BUILD_ROOT %{py_libdir}/sqlite3/__pycache__ %{py_libdir}/sqlite3/*.py +%attr(755,root,root) %{py_dyndir}/_zoneinfo.cpython-*.so +%dir %{py_libdir}/zoneinfo +%{py_libdir}/zoneinfo/__pycache__ +%{py_libdir}/zoneinfo/*.py + %files -n pydoc3 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/pydoc3