Blame SPECS/python3.spec

900f19
# ==================
900f19
# Top-level metadata
900f19
# ==================
900f19
900f19
Name: python3
900f19
Summary: Interpreter of the Python programming language
900f19
URL: https://www.python.org/
900f19
900f19
%global pybasever 3.6
900f19
900f19
# pybasever without the dot:
900f19
%global pyshortver 36
900f19
900f19
#  WARNING  When rebasing to a new Python version,
900f19
#           remember to update the python3-docs package as well
900f19
Version: %{pybasever}.8
b7e076
Release: 23%{?dist}
900f19
License: Python
900f19
900f19
900f19
# ==================================
900f19
# Conditionals controlling the build
900f19
# ==================================
900f19
900f19
# Note that the bcond macros are named for the CLI option they create.
900f19
# "%%bcond_without" means "ENABLE by default and create a --without option"
900f19
b7e076
# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package
b7e076
# Uses upstream bundled prebuilt wheels otherwise
b7e076
%bcond_without rpmwheels
b7e076
900f19
# Expensive optimizations (mainly, profile-guided optimizations)
900f19
%bcond_without optimizations
900f19
900f19
# Run the test suite in %%check
900f19
%bcond_without tests
900f19
900f19
# Extra build for debugging the interpreter or C-API extensions
900f19
# (the -debug subpackages)
900f19
%bcond_without debug_build
900f19
900f19
# Support for the GDB debugger
900f19
%bcond_without gdb_hooks
900f19
900f19
# The dbm.gnu module (key-value database)
900f19
%bcond_without gdbm
900f19
900f19
# Main interpreter loop optimization
900f19
%bcond_without computed_gotos
900f19
900f19
# Support for the Valgrind debugger/profiler
900f19
%ifarch %{valgrind_arches}
900f19
%bcond_without valgrind
900f19
%else
900f19
# Some arches don't have valgrind, disable support for it there.
900f19
%bcond_with valgrind
900f19
%endif
900f19
900f19
900f19
# ==================================
900f19
# Notes from bootstraping Python 3.6
900f19
# ==================================
900f19
#
900f19
# New Python major version (3.X) break ABI and bytecode compatibility,
900f19
# so all packages depending on it need to be rebuilt.
900f19
#
900f19
# Due to a dependency cycle between Python, gdb, rpm, pip, setuptools, wheel,
900f19
# and other packages, this isn't straightforward.
900f19
# Build in the following order:
900f19
#
900f19
# 1. At the same time:
900f19
#     - gdb without python support (add %%global _without_python 1 on top of
900f19
#       gdb's SPEC file)
900f19
#     - python-rpm-generators with bootstrapping_python set to 1
900f19
#       (this can be done also during step 2., but should be done before 3.)
900f19
# 2. python3 without rewheel (use %%bcond_with rewheel instead of
900f19
#     %%bcond_without)
900f19
# 3. At the same time:
900f19
#     - gdb with python support (remove %%global _without_python 1 on top of
900f19
#       gdb's SPEC file)
900f19
#     - python-rpm-generators with bootstrapping_python set to 0
900f19
#       (this can be done at any later step without negative effects)
900f19
# 4. rpm
900f19
# 5. python-setuptools with bootstrap set to 1
900f19
# 6. python-pip with build_wheel set to 0
900f19
# 7. python-wheel with %%bcond_without bootstrap
900f19
# 8. python-setuptools with bootstrap set to 0 and also with_check set to 0
900f19
# 9. python-pip with build_wheel set to 1
900f19
# 10. pyparsing
900f19
# 11. python3 with rewheel
900f19
#
900f19
# Then the most important packages have to be built, in dependency order.
900f19
# These were:
900f19
#   python-sphinx, pytest, python-requests, cloud-init, dnf, anaconda, abrt
900f19
#
900f19
# After these have been built, a targeted rebuild should be done for the rest.
900f19
900f19
900f19
# =====================
900f19
# General global macros
900f19
# =====================
900f19
900f19
%global pylibdir %{_libdir}/python%{pybasever}
900f19
%global dynload_dir %{pylibdir}/lib-dynload
900f19
900f19
# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac
900f19
# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/
900f19
%global ABIFLAGS_optimized m
900f19
%global ABIFLAGS_debug     dm
900f19
900f19
%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
900f19
%global LDVERSION_debug     %{pybasever}%{ABIFLAGS_debug}
900f19
900f19
%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}-%{_arch}-linux%{_gnu}
900f19
%global SOABI_debug     cpython-%{pyshortver}%{ABIFLAGS_debug}-%{_arch}-linux%{_gnu}
900f19
900f19
# All bytecode files are in a __pycache__ subdirectory, with a name
900f19
# reflecting the version of the bytecode.
900f19
# See PEP 3147: http://www.python.org/dev/peps/pep-3147/
900f19
# For example,
900f19
#   foo/bar.py
900f19
# has bytecode at:
900f19
#   foo/__pycache__/bar.cpython-%%{pyshortver}.pyc
900f19
#   foo/__pycache__/bar.cpython-%%{pyshortver}.opt-1.pyc
900f19
#   foo/__pycache__/bar.cpython-%%{pyshortver}.opt-2.pyc
900f19
%global bytecode_suffixes .cpython-%{pyshortver}*.pyc
900f19
900f19
# Python's configure script defines SOVERSION, and this is used in the Makefile
900f19
# to determine INSTSONAME, the name of the libpython DSO:
900f19
#   LDLIBRARY='libpython$(VERSION).so'
900f19
#   INSTSONAME="$LDLIBRARY".$SOVERSION
900f19
# We mirror this here in order to make it easier to add the -gdb.py hooks.
900f19
# (if these get out of sync, the payload of the libs subpackage will fail
900f19
# and halt the build)
900f19
%global py_SOVERSION 1.0
900f19
%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION}
900f19
%global py_INSTSONAME_debug     libpython%{LDVERSION_debug}.so.%{py_SOVERSION}
900f19
900f19
# Disable automatic bytecompilation. The python3 binary is not yet be
900f19
# available in /usr/bin when Python is built. Also, the bytecompilation fails
900f19
# on files that test invalid syntax.
900f19
%undefine py_auto_byte_compile
900f19
900f19
# For multilib support, files that are different between 32- and 64-bit arches
900f19
# need different filenames. Use "64" or "32" according to the word size.
900f19
# Currently, the best way to determine an architecture's word size happens to
900f19
# be checking %%{_lib}.
900f19
%if "%{_lib}" == "lib64"
900f19
%global wordsize 64
900f19
%else
900f19
%global wordsize 32
900f19
%endif
900f19
900f19
900f19
# =======================
900f19
# Build-time requirements
900f19
# =======================
900f19
900f19
# (keep this list alphabetized)
900f19
900f19
BuildRequires: autoconf
900f19
BuildRequires: bluez-libs-devel
900f19
BuildRequires: bzip2
900f19
BuildRequires: bzip2-devel
900f19
BuildRequires: desktop-file-utils
900f19
BuildRequires: expat-devel
900f19
900f19
BuildRequires: findutils
900f19
BuildRequires: gcc-c++
900f19
%if %{with gdbm}
900f19
BuildRequires: gdbm-devel >= 1:1.13
900f19
%endif
900f19
BuildRequires: glibc-devel
900f19
BuildRequires: gmp-devel
900f19
BuildRequires: libappstream-glib
900f19
BuildRequires: libffi-devel
900f19
BuildRequires: libnsl2-devel
900f19
BuildRequires: libtirpc-devel
900f19
BuildRequires: libGL-devel
900f19
BuildRequires: libX11-devel
900f19
BuildRequires: ncurses-devel
900f19
900f19
BuildRequires: openssl-devel
900f19
BuildRequires: pkgconfig
900f19
BuildRequires: readline-devel
900f19
BuildRequires: redhat-rpm-config >= 118
900f19
BuildRequires: sqlite-devel
900f19
BuildRequires: gdb
900f19
900f19
BuildRequires: tar
900f19
BuildRequires: tcl-devel
900f19
BuildRequires: tix-devel
900f19
BuildRequires: tk-devel
900f19
900f19
%if %{with valgrind}
900f19
BuildRequires: valgrind-devel
900f19
%endif
900f19
900f19
BuildRequires: xz-devel
900f19
BuildRequires: zlib-devel
900f19
900f19
BuildRequires: /usr/bin/dtrace
900f19
900f19
# workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig)
900f19
BuildRequires: /usr/sbin/ifconfig
900f19
b7e076
%if %{with rpmwheels}
b7e076
BuildRequires: python3-setuptools-wheel
b7e076
BuildRequires: python3-pip-wheel
900f19
900f19
# Verify that the BuildRoot includes python36.
900f19
# Not actually needed for build.
900f19
BuildRequires: python36-devel
900f19
%endif
900f19
900f19
900f19
# =======================
900f19
# Source code and patches
900f19
# =======================
900f19
900f19
# The upstream tarball includes questionable executable files for Windows,
900f19
# which we should not ship even in the SRPM.
900f19
# Run the "get-source.sh" with the version as argument to download the upstream
900f19
# tarball and generate a version with the .exe files removed. For example:
900f19
# $ ./get-source.sh 3.7.0
900f19
900f19
Source: Python-%{version}-noexe.tar.xz
900f19
900f19
# A script to remove .exe files from the source distribution
900f19
Source1: get-source.sh
900f19
900f19
# A simple script to check timestamps of bytecode files
900f19
# Run in check section with Python that is currently being built
900f19
# Written by bkabrda
900f19
Source8: check-pyc-and-pyo-timestamps.py
900f19
900f19
# Desktop menu entry for idle3
900f19
Source10: idle3.desktop
900f19
900f19
# AppData file for idle3
900f19
Source11: idle3.appdata.xml
900f19
900f19
# unversioned-python script
900f19
Source12: no-python
900f19
900f19
# unversioned-python man page
900f19
Source13: unversioned-python.1
900f19
900f19
# 00001 #
900f19
# Fixup distutils/unixccompiler.py to remove standard library path from rpath:
900f19
# Was Patch0 in ivazquez' python3000 specfile:
900f19
Patch1:         00001-rpath.patch
900f19
900f19
# 00102 #
900f19
# Change the various install paths to use /usr/lib64/ instead or /usr/lib
900f19
# Only used when "%%{_lib}" == "lib64"
900f19
# Not yet sent upstream.
900f19
Patch102: 00102-lib64.patch
900f19
900f19
# 00111 #
900f19
# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
900f19
# a libpythonMAJOR.MINOR.a
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=556092
900f19
# Downstream only: not appropriate for upstream
900f19
Patch111: 00111-no-static-lib.patch
900f19
900f19
# 00132 #
900f19
# Add non-standard hooks to unittest for use in the "check" phase below, when
900f19
# running selftests within the build:
900f19
#   @unittest._skipInRpmBuild(reason)
900f19
# for tests that hang or fail intermittently within the build environment, and:
900f19
#   @unittest._expectedFailureInRpmBuild
900f19
# for tests that always fail within the build environment
900f19
#
900f19
# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the
900f19
# environment, which we set manually in the appropriate portion of the "check"
900f19
# phase below (and which potentially other python-* rpms could set, to reuse
900f19
# these unittest hooks in their own "check" phases)
900f19
Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
900f19
900f19
# 00155 #
900f19
# Avoid allocating thunks in ctypes unless absolutely necessary, to avoid
900f19
# generating SELinux denials on "import ctypes" and "import uuid" when
900f19
# embedding Python within httpd
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=814391
900f19
Patch155: 00155-avoid-ctypes-thunks.patch
900f19
900f19
# 00160 #
900f19
# Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the
900f19
# header files in the build chroot, but may not be supported in the running
900f19
# kernel, hence we disable this test in an rpm build.
900f19
# Adding these was upstream issue http://bugs.python.org/issue10142
900f19
# Not yet sent upstream
900f19
Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch
900f19
900f19
# 00163 #
900f19
# Some tests within test_socket fail intermittently when run inside Koji;
900f19
# disable them using unittest._skipInRpmBuild
900f19
# Not yet sent upstream
900f19
Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch
900f19
900f19
# 00170 #
900f19
# In debug builds, try to print repr() when a C-level assert fails in the
900f19
# garbage collector (typically indicating a reference-counting error
900f19
# somewhere else e.g in an extension module)
900f19
# The new macros/functions within gcmodule.c are hidden to avoid exposing
900f19
# them within the extension API.
900f19
# Sent upstream: http://bugs.python.org/issue9263
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=614680
900f19
Patch170: 00170-gc-assertions.patch
900f19
900f19
# 00178 #
900f19
# Don't duplicate various FLAGS in sysconfig values
900f19
# http://bugs.python.org/issue17679
900f19
# Does not affect python2 AFAICS (different sysconfig values initialization)
900f19
Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch
900f19
900f19
# 00189 #
b7e076
# Instead of bundled wheels, use our RPM packaged wheels from
b7e076
# /usr/share/python3-wheels
b7e076
Patch189: 00189-use-rpm-wheels.patch
900f19
900f19
# 00205 #
900f19
# LIBPL variable in makefile takes LIBPL from configure.ac
900f19
# but the LIBPL variable defined there doesn't respect libdir macro
900f19
Patch205: 00205-make-libpl-respect-lib64.patch
900f19
900f19
# 00251
900f19
# Set values of prefix and exec_prefix in distutils install command
900f19
# to /usr/local if executable is /usr/bin/python* and RPM build
900f19
# is not detected to make pip and distutils install into separate location
900f19
# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
900f19
Patch251: 00251-change-user-install-location.patch
900f19
900f19
# 00262 #
900f19
# Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale
900f19
# https://www.python.org/dev/peps/pep-0538/
900f19
# Fedora Change: https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale
900f19
# Original proposal: https://bugzilla.redhat.com/show_bug.cgi?id=1404918
900f19
Patch262: 00262-pep538_coerce_legacy_c_locale.patch
900f19
900f19
# 00274 #
900f19
# Upstream uses Debian-style architecture naming. Change to match Fedora.
900f19
Patch274: 00274-fix-arch-names.patch
900f19
900f19
# 00294 #
900f19
# Define TLS cipher suite on build time depending
900f19
# on the OpenSSL default cipher suite selection.
900f19
# Fixed upstream on CPython's 3.7 branch:
900f19
# https://bugs.python.org/issue31429
900f19
# See also: https://bugzilla.redhat.com/show_bug.cgi?id=1489816
900f19
Patch294: 00294-define-TLS-cipher-suite-on-build-time.patch
900f19
b7e076
# 00316 #
b7e076
# We remove the exe files from distutil's bdist_wininst
b7e076
# So we mark the command as unsupported - and the tests are skipped
b7e076
# Fixed upstream and backported from the 3.7 branch: https://bugs.python.org/issue10945
b7e076
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1754040
b7e076
Patch316: 00316-mark-bdist_wininst-unsupported.patch
b7e076
900f19
# 00317 #
900f19
# Security fix for CVE-2019-5010: Fix segfault in ssl's cert parser
900f19
# https://bugzilla.redhat.com/show_bug.cgi?id=1666789
900f19
# Fixed upstream: https://bugs.python.org/issue35746
900f19
Patch317: 00317-CVE-2019-5010.patch
900f19
900f19
# 00318 #
b7e076
# Various fixes for TLS 1.3 and OpenSSL 1.1.1
900f19
# https://bugzilla.redhat.com/show_bug.cgi?id=1639531
b7e076
b7e076
# test_ssl fixes for TLS 1.3 and OpenSSL 1.1.1
900f19
# https://bugs.python.org/issue32947#msg333990
900f19
# https://github.com/python/cpython/pull/11612
b7e076
b7e076
# Encrypt private key test files with AES256
b7e076
# https://bugs.python.org/issue38271
b7e076
# https://github.com/python/cpython/pull/16396
b7e076
b7e076
# Prefer PROTOCOL_TLS_CLIENT/SERVER (partial backport)
b7e076
# https://bugs.python.org/issue31346
b7e076
# https://github.com/python/cpython/pull/3058
b7e076
b7e076
# Enable TLS 1.3 in tests (partial backport)
b7e076
# https://bugs.python.org/issue33618
b7e076
# https://github.com/python/cpython/pull/7082
b7e076
b7e076
# OpenSSL 1.1.1-pre1 / TLS 1.3 fixes (partial backport)
b7e076
# https://bugs.python.org/issue32947
b7e076
# https://github.com/python/cpython/pull/5923
b7e076
Patch318: 00318-fixes-for-tls-13.patch
900f19
900f19
# 00319 #
900f19
# Fix test_tarfile on ppc64
900f19
# https://bugzilla.redhat.com/show_bug.cgi?id=1639490
900f19
# https://bugs.python.org/issue35772
900f19
Patch319: 00319-test_tarfile_ppc64.patch
900f19
900f19
# 00320 #
b7e076
# Security fix for CVE-2019-9636 and CVE-2019-10160: Information Disclosure due to urlsplit improper NFKC normalization
900f19
# Fixed upstream: https://bugs.python.org/issue36216 and https://bugs.python.org/issue36742
900f19
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1689318
b7e076
Patch320: 00320-CVE-2019-9636-and-CVE-2019-10160.patch
900f19
900f19
# 00324 #
900f19
# Disallow control chars in http URLs
900f19
# Security fix for CVE-2019-9740 and CVE-2019-9947
900f19
# Fixed upstream: https://bugs.python.org/issue30458
900f19
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1704365
900f19
# and https://bugzilla.redhat.com/show_bug.cgi?id=1703531
900f19
Patch324: 00324-disallow-control-chars-in-http-urls.patch
900f19
900f19
# 00325 #
900f19
# Unnecessary URL scheme exists to allow local_file:// reading file  in urllib
900f19
# Security fix for CVE-2019-9948
900f19
# Fixed upstream: https://bugs.python.org/issue35907
900f19
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1714643
900f19
Patch325: 00325-CVE-2019-9948.patch
900f19
b7e076
# 00326 #
b7e076
# Don't set the post-handshake authentication verify flag on client side
b7e076
# on TLS 1.3, as it also implicitly enables cert chain validation and an
b7e076
# SSL/TLS connection will fail when verify mode is set to CERT_NONE.
b7e076
# Fixed upstream: https://bugs.python.org/issue37428
b7e076
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1725721
b7e076
Patch326: 00326-do-not-set-PHA-verify-flag-on-client-side.patch
b7e076
b7e076
# 00327 #
b7e076
# Enable TLS 1.3 post-handshake authentication in http.client for default
b7e076
# context or if a cert_file is passed to HTTPSConnection
b7e076
# Fixed upstream: https://bugs.python.org/issue37440
b7e076
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1671353
b7e076
Patch327: 00327-enable-tls-1.3-PHA-in-http.client.patch
b7e076
b7e076
# 00329 #
b7e076
# Support OpenSSL FIPS mode
b7e076
# - Fallback implementations md5, sha1, sha256, sha512 are removed in favor of OpenSSL wrappers
b7e076
# - In FIPS mode, OpenSSL wrappers are always used in hashlib
b7e076
# - add a new "usedforsecurity" keyword argument to the various digest
b7e076
#   algorithms in hashlib so that you can whitelist a callsite with
b7e076
#   "usedforsecurity=False"
b7e076
#   The change has been implemented upstream since Python 3.9:
b7e076
#   https://bugs.python.org/issue9216
b7e076
# - OpenSSL wrappers for the hashes blake2{b512,s256},
b7e076
#     sha3_{224,256,384,512}, shake_{128,256} are now exported from _hashlib
b7e076
# - In FIPS mode, the blake2, sha3 and shake hashes use OpenSSL wrappers
b7e076
#   and do not offer extended functionality (keys, tree hashing, custom digest size)
b7e076
# - In FIPS mode, hmac.HMAC can only be instantiated with an OpenSSL wrapper
b7e076
#   or an string with OpenSSL hash name as the "digestmod" argument.
b7e076
#   The argument must be specified (instead of defaulting to ‘md5’).
b7e076
#
b7e076
# - Also while in FIPS mode, we utilize OpenSSL's DRBG and disable the
b7e076
#   os.getrandom() function.
b7e076
#
b7e076
#   Upstream changes that have also been backported with this patch
b7e076
#   to allow tests to pass on stricter environments:
b7e076
#
b7e076
#   Avoid MD5 or check for MD5 availablity
b7e076
#   https://bugs.python.org/issue38270
b7e076
#   https://github.com/python/cpython/pull/16393
b7e076
#   https://github.com/python/cpython/pull/16437
b7e076
#   https://github.com/python/cpython/pull/17446
b7e076
#
b7e076
#   add usedforsecurity to hashlib constructors (partial backport for fixing a uuid test)
b7e076
#   https://github.com/python/cpython/pull/16044
b7e076
# Resolves: rhbz#1731424
b7e076
Patch329: 00329-fips.patch
b7e076
b7e076
# 00330 #
b7e076
# Fix CVE-2018-20852: cookie domain check returning incorrect results
b7e076
# Fixed upstream: https://bugs.python.org/issue35121
b7e076
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1741553
b7e076
Patch330: 00330-CVE-2018-20852.patch
b7e076
b7e076
# 00332 #
b7e076
# Fix CVE-2019-16056: Don't parse email addresses containing
b7e076
# multiple '@' characters.
b7e076
# Fixed upstream: https://bugs.python.org/issue34155
b7e076
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1750776
b7e076
Patch332: 00332-CVE-2019-16056.patch
b7e076
b7e076
# 00333 #
b7e076
# Reduce the number of tests run during the profile guided optimizations build,
b7e076
# as running the whole test suite during profiling increases the build time
b7e076
# substantially, with negligible performance gain.
b7e076
# Fixed upstream and backported from the 3.8 branch:
b7e076
# https://bugs.python.org/issue36044
b7e076
# https://bugs.python.org/issue37667
b7e076
# Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1749576
b7e076
Patch333: 00333-reduce-pgo-tests.patch
b7e076
900f19
# (New patches go here ^^^)
900f19
#
900f19
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
900f19
# please try to keep the patch numbers in-sync between all specfiles.
900f19
#
900f19
# More information, and a patch number catalog, is at:
900f19
#
900f19
#     https://fedoraproject.org/wiki/SIGs/Python/PythonPatches
900f19
900f19
900f19
# ==========================================
900f19
# Descriptions, and metadata for subpackages
900f19
# ==========================================
900f19
900f19
%package -n platform-python
900f19
Summary: Internal interpreter of the Python programming language
900f19
900f19
Conflicts: python3 < 3.6.6-13
900f19
900f19
# Packages with Python modules in standard locations automatically
900f19
# depend on python(abi). Provide that here.
900f19
Provides: python(abi) = %{pybasever}
900f19
900f19
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
900f19
b7e076
%if %{with rpmwheels}
b7e076
b7e076
# RHEL8 was forked from F28 and thus required python3-setuptools here
b7e076
# for the rewheel module to work. We've since backported the use of RPM
b7e076
# prepared wheels from F29+ into RHEL8, and thus this dependency isn't
b7e076
# strictly needed.
b7e076
# However, it is possible, that some packages in BaseOS actually depend on
b7e076
# setuptools without declaring the dependency in their spec file. Thus
b7e076
# we're keeping this dependency here to avoid the possibility of breaking
b7e076
# them.
900f19
Requires: platform-python-setuptools
b7e076
# For python3-pip the Requires has been reduced to Recommends, as there are
b7e076
# generally less packages that depend on pip than packages that depend on
b7e076
# setuptools at runtime, and thus there's less chance of breakage.
b7e076
# (rhbz#1756217).
b7e076
Recommends: platform-python-pip
b7e076
b7e076
Requires: python3-setuptools-wheel
b7e076
Requires: python3-pip-wheel
900f19
%endif
900f19
900f19
# Runtime require alternatives
900f19
Requires:         %{_sbindir}/alternatives
900f19
Requires(post):   %{_sbindir}/alternatives
900f19
Requires(postun): %{_sbindir}/alternatives
900f19
900f19
# This prevents ALL subpackages built from this spec to require
900f19
# /usr/bin/python3*. Granularity per subpackage is impossible.
900f19
# It's intended for the libs package not to drag in the interpreter, see
900f19
# https://bugzilla.redhat.com/show_bug.cgi?id=1547131
900f19
# All others require %%{name} anyway.
900f19
%global __requires_exclude ^/usr/bin/python3
900f19
900f19
900f19
# The description is the same for the SRPM and the main `platform-python` subpackage:
900f19
%description
900f19
This is the internal interpreter of the Python language for the system.
900f19
To use Python yourself, please install one of the available Python 3 packages,
900f19
for example python36.
900f19
900f19
900f19
# The description is the same for the SRPM and the main `platform-python` subpackage:
900f19
%description -n platform-python
900f19
This is the internal interpreter of the Python language for the system.
900f19
To use Python yourself, please install one of the available Python 3 packages,
900f19
for example python36.
900f19
900f19
900f19
%package libs
900f19
Summary:        Python runtime libraries
900f19
900f19
# The "enum" module is included in the standard library.
900f19
# Provide an upgrade path from the external library.
900f19
Provides: python3-enum34 = 1.0.4-5%{?dist}
900f19
Obsoletes: python3-enum34 < 1.0.4-5%{?dist}
900f19
900f19
# Python 3 built with glibc >= 2.24.90-26 needs to require it
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=1410644
900f19
Requires: glibc%{?_isa} >= 2.24.90-26
900f19
900f19
Requires: chkconfig
900f19
900f19
%if %{with gdbm}
900f19
# When built with this (as guarded by the BuildRequires above), require it
900f19
Requires: gdbm%{?_isa} >= 1:1.13
900f19
%endif
900f19
b7e076
%if %{with rpmwheels}
b7e076
Requires: python3-setuptools-wheel
b7e076
Requires: python3-pip-wheel
b7e076
%else
b7e076
Provides: bundled(python3-pip) = 18.1
b7e076
Provides: bundled(python3-setuptools) = 40.6.2
b7e076
%endif
b7e076
900f19
# There are files in the standard library that have python shebang.
900f19
# We've filtered the automatic requirement out so libs are installable without
900f19
# the main package. This however makes it pulled in by default.
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=1547131
900f19
Recommends: platform-python%{?_isa} = %{version}-%{release}
900f19
900f19
%description libs
900f19
This package contains runtime libraries for use by Python:
900f19
- the majority of the Python standard library
900f19
- a dynamically linked library for use by applications that embed Python as
900f19
  a scripting language, and by the main "python3" executable
900f19
900f19
900f19
# The contents of this package were moved into the `platform-python-devel` subpackage.
900f19
# See a comment above the definition of that subpackage for details.
900f19
%package devel
900f19
Summary: Libraries and header files needed for Python development
900f19
Requires: platform-python-devel%{?_isa} = %{version}-%{release}
900f19
Requires: platform-python = %{version}-%{release}
900f19
Requires: python36-devel
900f19
900f19
%description devel
900f19
This package contains the header files and configuration needed to compile
900f19
Python extension modules (typically written in C or C++), to embed Python
900f19
into other programs, and to make binary distributions for Python libraries.
900f19
900f19
It also contains the necessary macros to build RPM packages with Python modules
900f19
and 2to3 tool, an automatic source converter from Python 2.X.
900f19
900f19
It also makes the "python3" and "python3-config" commands available
900f19
for compatibility with some build systems.
900f19
When building packages, prefer requiring platform-python-devel and using
900f19
the %%{__python3} macro instead, if possible.
900f19
900f19
900f19
900f19
# The `platform-python-devel` (previously python3-libs-devel)
900f19
# subpackage was created because the `python3-devel` subpackage needs
900f19
# to pull into the buildroot the /usr/bin/python3{,-config} symlinks (for old
900f19
# buildsystems that are hard to switch to platform-python). But these symlinks
900f19
# cannot be shipped in RHEL8 to customers. Therefore we'll ship only
900f19
# `platform-python-devel` and have the `python3-devel` package require it in
900f19
# the buildroot, as well as pull in the symlinks.
900f19
%package -n platform-python-devel
900f19
Summary: Libraries and header files needed for Python development
900f19
Provides: %{name}-libs-devel = %{version}-%{release}
900f19
Provides: %{name}-libs-devel%{?_isa} = %{version}-%{release}
900f19
Obsoletes: %{name}-libs-devel < 3.6.6-12
900f19
Requires: platform-python = %{version}-%{release}
900f19
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
900f19
BuildRequires: python-rpm-macros
900f19
Requires: python-rpm-macros
900f19
Requires: python3-rpm-macros
900f19
Requires: python3-rpm-generators
900f19
b7e076
# This is not "API" (packages that need setuptools should still BuildRequire it)
b7e076
# However some packages apparently can build both with and without setuptools
b7e076
# producing egg-info as file or directory (depending on setuptools presence).
b7e076
# Directory-to-file updates are problematic in RPM, so we ensure setuptools is
b7e076
# installed when -devel is required.
b7e076
# See https://bugzilla.redhat.com/show_bug.cgi?id=1623914
b7e076
# See https://fedoraproject.org/wiki/Packaging:Directory_Replacement
b7e076
Requires: platform-python-setuptools
b7e076
900f19
Provides: %{name}-2to3 = %{version}-%{release}
900f19
Provides: 2to3 = %{version}-%{release}
900f19
900f19
Conflicts: platform-python < %{version}-%{release}
900f19
Conflicts: python3 < 3.6.6-9
900f19
900f19
%description -n platform-python-devel
900f19
This package contains the header files and configuration needed to compile
900f19
Python extension modules (typically written in C or C++), to embed Python
900f19
into other programs, and to make binary distributions for Python libraries.
900f19
900f19
It also contains the necessary macros to build RPM packages with Python modules
900f19
and 2to3 tool, an automatic source converter from Python 2.X.
900f19
900f19
900f19
%package idle
900f19
Summary: A basic graphical development environment for Python
900f19
Requires: platform-python = %{version}-%{release}
900f19
Requires: %{name}-tkinter = %{version}-%{release}
900f19
900f19
Provides: idle3 = %{version}-%{release}
900f19
900f19
Provides: %{name}-tools = %{version}-%{release}
900f19
Provides: %{name}-tools%{?_isa} = %{version}-%{release}
900f19
Obsoletes: %{name}-tools < %{version}-%{release}
900f19
900f19
# python36 installs the alternatives master symlink to which we attach a slave
900f19
Requires: python36
900f19
Requires(post): python36
900f19
Requires(postun): python36
900f19
900f19
%description idle
900f19
IDLE is Python’s Integrated Development and Learning Environment.
900f19
900f19
IDLE has the following features: Python shell window (interactive
900f19
interpreter) with colorizing of code input, output, and error messages;
900f19
multi-window text editor with multiple undo, Python colorizing,
900f19
smart indent, call tips, auto completion, and other features;
900f19
search within any window, replace within editor windows, and
900f19
search through multiple files (grep); debugger with persistent
900f19
breakpoints, stepping, and viewing of global and local namespaces;
900f19
configuration, browsers, and other dialogs.
900f19
900f19
900f19
%package tkinter
900f19
Summary: A GUI toolkit for Python
900f19
Requires: platform-python = %{version}-%{release}
900f19
900f19
%description tkinter
900f19
The Tkinter (Tk interface) library is a graphical user interface toolkit for
900f19
the Python programming language.
900f19
900f19
900f19
%package test
900f19
Summary: The self-test suite for the main python3 package
900f19
Requires: platform-python = %{version}-%{release}
900f19
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
900f19
900f19
%description test
900f19
The self-test suite for the Python interpreter.
900f19
900f19
This is only useful to test Python itself. For testing general Python code,
900f19
you should use the unittest module from %{name}-libs, or a library such as
900f19
%{name}-pytest or %{name}-nose.
900f19
900f19
900f19
%if %{with debug_build}
900f19
%package -n platform-python-debug
900f19
Conflicts: python3-debug < 3.6.6-13
900f19
Summary: Debug version of the Python runtime
900f19
900f19
# The debug build is an all-in-one package version of the regular build, and
900f19
# shares the same .py/.pyc files and directories as the regular build. Hence
900f19
# we depend on all of the subpackages of the regular build:
900f19
Requires: platform-python%{?_isa} = %{version}-%{release}
900f19
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
900f19
Requires: platform-python-devel%{?_isa} = %{version}-%{release}
900f19
Requires: %{name}-test%{?_isa} = %{version}-%{release}
900f19
Requires: %{name}-tkinter%{?_isa} = %{version}-%{release}
900f19
Requires: %{name}-idle%{?_isa} = %{version}-%{release}
900f19
900f19
%description -n platform-python-debug
900f19
python3-debug provides a version of the Python runtime with numerous debugging
900f19
features enabled, aimed at advanced Python users such as developers of Python
900f19
extension modules.
900f19
900f19
This version uses more memory and will be slower than the regular Python build,
900f19
but is useful for tracking down reference-counting issues and other bugs.
900f19
900f19
The bytecode format is unchanged, so that .pyc files are compatible between
900f19
this and the standard version of Python, but the debugging features mean that
900f19
C/C++ extension modules are ABI-incompatible and must be built for each version
900f19
separately.
900f19
900f19
The debug build shares installation directories with the standard Python
900f19
runtime, so that .py and .pyc files can be shared.
900f19
Compiled extension modules use a special ABI flag ("d") in the filename,
900f19
so extensions for both versions can co-exist in the same directory.
900f19
%endif # with debug_build
900f19
900f19
900f19
# ======================================================
900f19
# The prep phase of the build:
900f19
# ======================================================
900f19
900f19
%prep
900f19
%setup -q -n Python-%{version}%{?prerel}
900f19
900f19
# Remove bundled libraries to ensure that we're using the system copy.
900f19
rm -r Modules/expat
900f19
rm -r Modules/zlib
900f19
900f19
#
900f19
# Apply patches:
900f19
#
900f19
%patch1 -p1
900f19
900f19
%if "%{_lib}" == "lib64"
900f19
%patch102 -p1
900f19
%endif
900f19
%patch111 -p1
900f19
%patch132 -p1
900f19
%patch155 -p1
900f19
%patch160 -p1
900f19
%patch163 -p1
900f19
%patch170 -p1
900f19
%patch178 -p1
900f19
b7e076
%if %{with rpmwheels}
900f19
%patch189 -p1
b7e076
rm Lib/ensurepip/_bundled/*.whl
900f19
%endif
900f19
900f19
%patch205 -p1
900f19
%patch251 -p1
900f19
%patch262 -p1
900f19
%patch274 -p1
900f19
%patch294 -p1
b7e076
%patch316 -p1
900f19
%patch317 -p1
900f19
%patch318 -p1
900f19
%patch319 -p1
900f19
%patch320 -p1
900f19
%patch324 -p1
900f19
%patch325 -p1
b7e076
%patch326 -p1
b7e076
%patch327 -p1
b7e076
%patch329 -p1
b7e076
%patch330 -p1
b7e076
%patch332 -p1
b7e076
%patch333 -p1
900f19
900f19
900f19
# Remove files that should be generated by the build
900f19
# (This is after patching, so that we can use patches directly from upstream)
900f19
rm configure pyconfig.h.in
900f19
900f19
900f19
# ======================================================
900f19
# Configuring and building the code:
900f19
# ======================================================
900f19
900f19
%build
900f19
900f19
# Regenerate the configure script and pyconfig.h.in
900f19
autoconf
900f19
autoheader
900f19
900f19
# Remember the current directory (which has sources and the configure script),
900f19
# so we can refer to it after we "cd" elsewhere.
900f19
topdir=$(pwd)
900f19
900f19
# Get proper option names from bconds
900f19
%if %{with computed_gotos}
900f19
%global computed_gotos_flag yes
900f19
%else
900f19
%global computed_gotos_flag no
900f19
%endif
900f19
900f19
%if %{with optimizations}
900f19
%global optimizations_flag "--enable-optimizations"
900f19
%else
900f19
%global optimizations_flag "--disable-optimizations"
900f19
%endif
900f19
900f19
# Set common compiler/linker flags
900f19
# We utilize the %%extension_...flags macros here so users building C/C++
900f19
# extensions with our python won't get all the compiler/linker flags used
900f19
# in RHEL RPMs.
900f19
# Standard library built here will still use the %%build_...flags,
900f19
# RHEL packages utilizing %%py3_build will use them as well
900f19
# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
900f19
export CFLAGS="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
900f19
export CFLAGS_NODIST="%{build_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
900f19
export CXXFLAGS="%{extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv"
900f19
export CPPFLAGS="$(pkg-config --cflags-only-I libffi)"
900f19
export OPT="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
900f19
export LINKCC="gcc"
900f19
export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)"
900f19
export LDFLAGS="%{extension_ldflags} -g $(pkg-config --libs-only-L openssl)"
900f19
export LDFLAGS_NODIST="%{build_ldflags} -g $(pkg-config --libs-only-L openssl)"
900f19
900f19
# We can build several different configurations of Python: regular and debug.
900f19
# Define a common function that does one build:
900f19
BuildPython() {
900f19
  ConfName=$1
900f19
  ExtraConfigArgs=$2
900f19
  MoreCFlags=$3
900f19
900f19
  # Each build is done in its own directory
900f19
  ConfDir=build/$ConfName
900f19
  echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName
900f19
  mkdir -p $ConfDir
900f19
  pushd $ConfDir
900f19
900f19
  # Normally, %%configure looks for the "configure" script in the current
900f19
  # directory.
900f19
  # Since we changed directories, we need to tell %%configure where to look.
900f19
  %global _configure $topdir/configure
900f19
900f19
%configure \
900f19
  --enable-ipv6 \
900f19
  --enable-shared \
900f19
  --with-computed-gotos=%{computed_gotos_flag} \
900f19
  --with-dbmliborder=gdbm:ndbm:bdb \
900f19
  --with-system-expat \
900f19
  --with-system-ffi \
900f19
  --enable-loadable-sqlite-extensions \
900f19
  --with-dtrace \
900f19
  --with-lto \
900f19
  --with-ssl-default-suites=openssl \
900f19
%if %{with valgrind}
900f19
  --with-valgrind \
900f19
%endif
900f19
  $ExtraConfigArgs \
900f19
  %{nil}
900f19
900f19
  # Invoke the build
b7e076
  %make_build CFLAGS_NODIST="$CFLAGS_NODIST $MoreCFlags"
900f19
900f19
  popd
900f19
  echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfName
900f19
}
900f19
900f19
# Call the above to build each configuration.
900f19
900f19
%if %{with debug_build}
900f19
BuildPython debug \
900f19
  "--without-ensurepip --with-pydebug" \
900f19
  "-Og"
900f19
%endif # with debug_build
900f19
900f19
BuildPython optimized \
900f19
  "--without-ensurepip %{optimizations_flag}" \
900f19
  ""
900f19
900f19
# ======================================================
900f19
# Installing the built code:
900f19
# ======================================================
900f19
900f19
%install
900f19
900f19
# As in %%build, remember the current directory
900f19
topdir=$(pwd)
900f19
900f19
# We install a collection of hooks for gdb that make it easier to debug
900f19
# executables linked against libpython3* (such as /usr/bin/python3 itself)
900f19
#
900f19
# These hooks are implemented in Python itself (though they are for the version
900f19
# of python that gdb is linked with)
900f19
#
900f19
# gdb-archer looks for them in the same path as the ELF file or its .debug
900f19
# file, with a -gdb.py suffix.
900f19
# We put them next to the debug file, because ldconfig would complain if
900f19
# it found non-library files directly in /usr/lib/
900f19
# (see https://bugzilla.redhat.com/show_bug.cgi?id=562980)
900f19
#
900f19
# We'll put these files in the debuginfo package by installing them to e.g.:
900f19
#  /usr/lib/debug/usr/lib/libpython3.2.so.1.0.debug-gdb.py
900f19
# (note that the debug path is /usr/lib/debug for both 32/64 bit)
900f19
#
900f19
# See https://fedoraproject.org/wiki/Features/EasierPythonDebugging for more
900f19
# information
900f19
900f19
%if %{with gdb_hooks}
900f19
DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir}
900f19
mkdir -p %{buildroot}$DirHoldingGdbPy
900f19
%endif # with gdb_hooks
900f19
900f19
# Multilib support for pyconfig.h
900f19
# 32- and 64-bit versions of pyconfig.h are different. For multilib support
900f19
# (making it possible to install 32- and 64-bit versions simultaneously),
900f19
# we need to install them under different filenames, and to make the common
900f19
# "pyconfig.h" include the right file based on architecture.
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=192747
900f19
# Filanames are defined here:
900f19
%global _pyconfig32_h pyconfig-32.h
900f19
%global _pyconfig64_h pyconfig-64.h
900f19
%global _pyconfig_h pyconfig-%{wordsize}.h
900f19
900f19
# Use a common function to do an install for all our configurations:
900f19
InstallPython() {
900f19
900f19
  ConfName=$1
900f19
  PyInstSoName=$2
900f19
  MoreCFlags=$3
900f19
  LDVersion=$4
900f19
900f19
  # Switch to the directory with this configuration's built files
900f19
  ConfDir=build/$ConfName
900f19
  echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName
900f19
  mkdir -p $ConfDir
900f19
  pushd $ConfDir
900f19
900f19
  make \
900f19
    DESTDIR=%{buildroot} \
900f19
    INSTALL="install -p" \
900f19
    EXTRA_CFLAGS="$MoreCFlags" \
900f19
    install
900f19
900f19
  popd
900f19
900f19
%if %{with gdb_hooks}
900f19
  # See comment on $DirHoldingGdbPy above
900f19
  PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName-%{version}-%{release}.%{_arch}.debug-gdb.py
900f19
  cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy
900f19
%endif # with gdb_hooks
900f19
900f19
  # Rename the -devel script that differs on different arches to arch specific name
900f19
  mv %{buildroot}%{_bindir}/python${LDVersion}-{,`uname -m`-}config
900f19
  echo -e '#!/bin/sh\nexec %{_libexecdir}/platform-python'${LDVersion}'-`uname -m`-config "$@"' > \
900f19
    %{buildroot}%{_bindir}/python${LDVersion}-config
900f19
  echo '[ $? -eq 127 ] && echo "Could not find %{_libexecdir}/platform-python'${LDVersion}'-`uname -m`-config. Look around to see available arches." >&2' >> \
900f19
    %{buildroot}%{_bindir}/python${LDVersion}-config
900f19
    chmod +x %{buildroot}%{_bindir}/python${LDVersion}-config
900f19
900f19
  # Platform Python: Move the python*-config to libexec
900f19
  mkdir -p %{buildroot}%{_libexecdir}
900f19
  mv %{buildroot}%{_bindir}/python${LDVersion}-config %{buildroot}%{_libexecdir}/platform-python${LDVersion}-config
900f19
  ln -s %{_libexecdir}/platform-python${LDVersion}-config %{buildroot}%{_bindir}/python${LDVersion}-config
900f19
  mv %{buildroot}%{_bindir}/python${LDVersion}-`uname -m`-config %{buildroot}%{_libexecdir}/platform-python${LDVersion}-`uname -m`-config
900f19
  ln -s %{_libexecdir}/platform-python${LDVersion}-`uname -m`-config %{buildroot}%{_bindir}/python${LDVersion}-`uname -m`-config
900f19
900f19
  # Platform Python: Move optimized and debug executables
900f19
  mv %{buildroot}%{_bindir}/python${LDVersion} %{buildroot}%{_libexecdir}/platform-python${LDVersion}
900f19
  ln -s %{_libexecdir}/platform-python${LDVersion} %{buildroot}%{_bindir}/python${LDVersion}
900f19
900f19
  # Make python3-devel multilib-ready
900f19
  mv %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h \
900f19
     %{buildroot}%{_includedir}/python${LDVersion}/%{_pyconfig_h}
900f19
  cat > %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h << EOF
900f19
#include <bits/wordsize.h>
900f19
900f19
#if __WORDSIZE == 32
900f19
#include "%{_pyconfig32_h}"
900f19
#elif __WORDSIZE == 64
900f19
#include "%{_pyconfig64_h}"
900f19
#else
900f19
#error "Unknown word size"
900f19
#endif
900f19
EOF
900f19
900f19
  echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName
900f19
}
900f19
900f19
# Install the "debug" build first; any common files will be overridden with
900f19
# later builds
900f19
%if %{with debug_build}
900f19
InstallPython debug \
900f19
  %{py_INSTSONAME_debug} \
900f19
  -O0 \
900f19
  %{LDVERSION_debug}
900f19
%endif # with debug_build
900f19
900f19
# Now the optimized build:
900f19
InstallPython optimized \
900f19
  %{py_INSTSONAME_optimized} \
900f19
  "" \
900f19
  %{LDVERSION_optimized}
900f19
900f19
# Install directories for additional packages
900f19
install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__
900f19
%if "%{_lib}" == "lib64"
900f19
# The 64-bit version needs to create "site-packages" in /usr/lib/ (for
900f19
# pure-Python modules) as well as in /usr/lib64/ (for packages with extension
900f19
# modules).
900f19
# Note that rpmlint will complain about hardcoded library path;
900f19
# this is intentional.
900f19
install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__
900f19
%endif
900f19
900f19
# add idle3 to menu
900f19
install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png
900f19
install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png
900f19
install -D -m 0644 Lib/idlelib/Icons/idle_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/idle3.png
900f19
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE10}
900f19
900f19
# Install and validate appdata file
900f19
mkdir -p %{buildroot}%{_metainfodir}
900f19
cp -a %{SOURCE11} %{buildroot}%{_metainfodir}
900f19
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml
900f19
900f19
# Make sure distutils looks at the right pyconfig.h file
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=201434
900f19
# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate
900f19
# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py
900f19
# when python starts up (see https://bugzilla.redhat.com/show_bug.cgi?id=653058)
900f19
#
900f19
# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h
900f19
# variants:
900f19
sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \
900f19
  %{buildroot}%{pylibdir}/distutils/sysconfig.py \
900f19
  %{buildroot}%{pylibdir}/sysconfig.py
900f19
900f19
# Install pathfix.py to bindir
900f19
# See https://github.com/fedora-python/python-rpm-porting/issues/24
900f19
cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/
900f19
900f19
# Switch all shebangs to refer to the specific Python version.
900f19
# This currently only covers files matching ^[a-zA-Z0-9_]+\.py$,
900f19
# so handle files named using other naming scheme separately.
900f19
# - Files in /usr/bin/ (without .py) are listed manually
900f19
LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \
900f19
  Tools/scripts/pathfix.py \
900f19
  -i "%{_libexecdir}/platform-python" -pn \
900f19
  %{buildroot} \
900f19
  %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py} \
900f19
  %{buildroot}%{_bindir}/{idle,pydoc,pyvenv-,2to3-}%{pybasever}
900f19
900f19
# The python-config.py files need to be shebanged with the given LDVERSION'ed
900f19
# executable
900f19
for LDVersion in %{LDVERSION_optimized} %{LDVERSION_debug}
900f19
do
900f19
  LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \
900f19
    Tools/scripts/pathfix.py \
900f19
    -i "%{_libexecdir}/platform-python${LDVersion}" -pn \
900f19
    %{buildroot}%{pylibdir}/config-${LDVersion}-%{_arch}-linux%{_gnu}/python-config.py
900f19
done
900f19
900f19
# Remove tests for python3-tools which was removed in
900f19
# https://bugzilla.redhat.com/show_bug.cgi?id=1312030
900f19
rm -rf %{buildroot}%{pylibdir}/test/test_tools
900f19
900f19
# Remove shebang lines from .py files that aren't executable, and
900f19
# remove executability from .py files that don't have a shebang line:
900f19
find %{buildroot} -name \*.py \
900f19
  \( \( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \; \
900f19
  -print -exec sed -i '1d' {} \; \) -o \( \
900f19
  -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
900f19
  -exec chmod a-x {} \; \) \)
900f19
900f19
# Get rid of DOS batch files:
900f19
find %{buildroot} -name \*.bat -exec rm {} \;
900f19
900f19
# Get rid of backup files:
900f19
find %{buildroot}/ -name "*~" -exec rm -f {} \;
900f19
find . -name "*~" -exec rm -f {} \;
900f19
900f19
# Get rid of a stray copy of the license:
900f19
rm %{buildroot}%{pylibdir}/LICENSE.txt
900f19
900f19
# Do bytecompilation with the newly installed interpreter.
900f19
# This is similar to the script in macros.pybytecompile
900f19
# compile *.pyc
900f19
find %{buildroot} -type f -a -name "*.py" -print0 | \
900f19
    LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \
900f19
    PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \
900f19
    xargs -0 %{buildroot}%{_bindir}/python%{pybasever} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{buildroot}")[2], optimize=opt) for opt in range(3) for f in sys.argv[1:]]' || :
900f19
900f19
# Since we have pathfix.py in bindir, this is created, but we don't want it
900f19
rm -rf %{buildroot}%{_bindir}/__pycache__
900f19
900f19
# Fixup permissions for shared libraries from non-standard 555 to standard 755:
900f19
find %{buildroot} -perm 555 -exec chmod 755 {} \;
900f19
900f19
# Install macros for rpm:
900f19
mkdir -p %{buildroot}/%{_rpmconfigdir}/macros.d/
900f19
900f19
# Create "/usr/bin/python3-debug" (and /usr/libexec/platform-python-debug),
900f19
# a symlink to the python3 debug binary, to
900f19
# avoid the user having to know the precise version and ABI flags.
900f19
# See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748
900f19
%if %{with debug_build}
900f19
ln -s \
900f19
  %{_bindir}/python%{LDVERSION_debug} \
900f19
  %{buildroot}%{_bindir}/python3-debug
900f19
ln -s \
900f19
  %{_libexecdir}/platform-python%{LDVERSION_debug} \
900f19
  %{buildroot}%{_libexecdir}/platform-python-debug
900f19
%endif
900f19
900f19
900f19
# Platform Python: Move the executable to libexec & provide a symlink from bindir
900f19
# (this symlink will be moved to the python36 module)
900f19
mkdir -p %{buildroot}%{_libexecdir}
900f19
mv %{buildroot}%{_bindir}/python%{pybasever} %{buildroot}%{_libexecdir}/platform-python%{pybasever}
900f19
ln -s %{_libexecdir}/platform-python%{pybasever} %{buildroot}%{_bindir}/python%{pybasever}
900f19
ln -s ./platform-python%{pybasever} %{buildroot}%{_libexecdir}/platform-python
900f19
900f19
# Platform Python: Add symlink from platform-python-config
900f19
ln -s ./platform-python%{LDVERSION_optimized}-config %{buildroot}%{_libexecdir}/platform-python%{pybasever}-config
900f19
ln -s ./platform-python%{pybasever}-config %{buildroot}%{_libexecdir}/platform-python-config
900f19
900f19
# Remove symlinks <name>3 > <name>3.6 for pydoc, idle, manpage
900f19
rm %{buildroot}%{_bindir}/pydoc3
900f19
rm %{buildroot}%{_bindir}/idle3
900f19
rm %{buildroot}%{_mandir}/man1/python3.1
900f19
900f19
# Install the unversioned-python script and its man page
900f19
install -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/no-python
900f19
install -m 644 %{SOURCE13} %{buildroot}%{_mandir}/man1/unversioned-python.1
900f19
# Touch the files that are controlled by `alternatives` so we can declare them
900f19
# as ghosts in the files section
900f19
touch %{buildroot}%{_bindir}/unversioned-python
900f19
touch %{buildroot}%{_bindir}/idle3
900f19
touch %{buildroot}%{_mandir}/man1/python.1.gz
900f19
900f19
900f19
# ======================================================
900f19
# Checks for packaging issues
900f19
# ======================================================
900f19
900f19
%check
900f19
# first of all, check timestamps of bytecode files
900f19
find %{buildroot} -type f -a -name "*.py" -print0 | \
900f19
    LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \
900f19
    PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \
900f19
    xargs -0 %{buildroot}%{_libexecdir}/platform-python %{SOURCE8}
900f19
900f19
# Ensure that the curses module was linked against libncursesw.so, rather than
900f19
# libncurses.so
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=539917
900f19
ldd %{buildroot}/%{dynload_dir}/_curses*.so \
900f19
    | grep curses \
900f19
    | grep libncurses.so && (echo "_curses.so linked against libncurses.so" ; exit 1)
900f19
900f19
# Ensure that the debug modules are linked against the debug libpython, and
900f19
# likewise for the optimized modules and libpython:
900f19
for Module in %{buildroot}/%{dynload_dir}/*.so ; do
900f19
    case $Module in
900f19
    *.%{SOABI_debug})
900f19
        ldd $Module | grep %{py_INSTSONAME_optimized} &&
900f19
            (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1)
900f19
900f19
        ;;
900f19
    *.%{SOABI_optimized})
900f19
        ldd $Module | grep %{py_INSTSONAME_debug} &&
900f19
            (echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1)
900f19
        ;;
900f19
    esac
900f19
done
900f19
900f19
# ======================================================
900f19
# Running the upstream test suite
900f19
# ======================================================
900f19
900f19
topdir=$(pwd)
900f19
CheckPython() {
900f19
  ConfName=$1
900f19
  ConfDir=$(pwd)/build/$ConfName
900f19
900f19
  export OPENSSL_CONF=/non-existing-file
900f19
900f19
  echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
900f19
900f19
  # Note that we're running the tests using the version of the code in the
900f19
  # builddir, not in the buildroot.
900f19
900f19
  # Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the
900f19
  # our non-standard decorators take effect on the relevant tests:
900f19
  #   @unittest._skipInRpmBuild(reason)
900f19
  #   @unittest._expectedFailureInRpmBuild
900f19
  # test_faulthandler.test_register_chain currently fails on ppc64le and
900f19
  #   aarch64, see upstream bug http://bugs.python.org/issue21131
900f19
  WITHIN_PYTHON_RPM_BUILD= \
900f19
  LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \
900f19
    -wW --slowest --findleaks \
900f19
    -x test_bdist_rpm \
900f19
    %ifarch %{mips64}
900f19
    -x test_ctypes \
900f19
    %endif
900f19
900f19
  echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
900f19
900f19
}
900f19
900f19
%if %{with tests}
900f19
900f19
# Check each of the configurations:
900f19
%if %{with debug_build}
900f19
CheckPython debug
900f19
%endif # with debug_build
900f19
CheckPython optimized
900f19
900f19
%endif # with tests
900f19
900f19
900f19
%post -n platform-python
900f19
# Default with no /usr/bin/python symlink
900f19
alternatives --install %{_bindir}/unversioned-python \
900f19
                       python \
900f19
                       %{_libexecdir}/no-python \
900f19
                       404 \
900f19
             --slave   %{_mandir}/man1/python.1.gz \
900f19
                       unversioned-python-man \
900f19
                       %{_mandir}/man1/unversioned-python.1.gz
900f19
900f19
%postun -n platform-python
900f19
# Do this only during uninstall process (not during update)
900f19
if [ $1 -eq 0 ]; then
900f19
    alternatives --remove python \
900f19
                          %{_libexecdir}/no-python
900f19
900f19
fi
900f19
900f19
900f19
%post -n python3-idle
900f19
alternatives --add-slave python3 %{_bindir}/python3.6 \
900f19
    %{_bindir}/idle3 \
900f19
    idle3 \
900f19
    %{_bindir}/idle3.6
900f19
900f19
%postun -n python3-idle
900f19
# Do this only during uninstall process (not during update)
900f19
if [ $1 -eq 0 ]; then
900f19
    alternatives --remove-slave python3 %{_bindir}/python3.6 \
900f19
       idle3
900f19
fi
900f19
900f19
900f19
%files -n platform-python
900f19
%license LICENSE
900f19
%doc README.rst
900f19
%{_bindir}/pydoc*
900f19
900f19
%exclude %{_bindir}/python3
900f19
%exclude %{_bindir}/python%{pybasever}
900f19
%exclude %{_bindir}/python%{LDVERSION_optimized}
900f19
%{_libexecdir}/platform-python
900f19
%{_libexecdir}/platform-python%{pybasever}
900f19
%{_libexecdir}/platform-python%{LDVERSION_optimized}
900f19
%{_libexecdir}/no-python
900f19
%ghost %{_bindir}/unversioned-python
900f19
%ghost %{_mandir}/man1/python.1.gz
900f19
900f19
%exclude %{_bindir}/pyvenv
900f19
%{_bindir}/pyvenv-%{pybasever}
b7e076
b7e076
%{_mandir}/man1/python3.6.1*
b7e076
%{_mandir}/man1/unversioned-python.1*
900f19
900f19
%files libs
900f19
%license LICENSE
900f19
%doc README.rst
900f19
900f19
%dir %{pylibdir}
900f19
%dir %{dynload_dir}
900f19
900f19
%{pylibdir}/lib2to3
900f19
%exclude %{pylibdir}/lib2to3/tests
900f19
900f19
%dir %{pylibdir}/unittest/
900f19
%dir %{pylibdir}/unittest/__pycache__/
900f19
%{pylibdir}/unittest/*.py
900f19
%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/asyncio/
900f19
%dir %{pylibdir}/asyncio/__pycache__/
900f19
%{pylibdir}/asyncio/*.py
900f19
%{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/venv/
900f19
%dir %{pylibdir}/venv/__pycache__/
900f19
%{pylibdir}/venv/*.py
900f19
%{pylibdir}/venv/__pycache__/*%{bytecode_suffixes}
900f19
%{pylibdir}/venv/scripts
900f19
900f19
%{pylibdir}/wsgiref
900f19
%{pylibdir}/xmlrpc
900f19
900f19
%dir %{pylibdir}/ensurepip/
900f19
%dir %{pylibdir}/ensurepip/__pycache__/
900f19
%{pylibdir}/ensurepip/*.py
900f19
%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes}
b7e076
%if %{with rpmwheels}
900f19
%exclude %{pylibdir}/ensurepip/_bundled
b7e076
%else
b7e076
%dir %{pylibdir}/ensurepip/_bundled
b7e076
%{pylibdir}/ensurepip/_bundled/*.whl
900f19
%endif
900f19
900f19
# The majority of the test module lives in the test subpackage
900f19
# However test.support is in libs - it contains stuff used when testing your code
900f19
# https://bugzilla.redhat.com/show_bug.cgi?id=1651215
900f19
%dir %{pylibdir}/test/
900f19
%dir %{pylibdir}/test/__pycache__/
900f19
%dir %{pylibdir}/test/support/
900f19
%dir %{pylibdir}/test/support/__pycache__/
900f19
%{pylibdir}/test/__init__.py
900f19
%{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes}
900f19
%{pylibdir}/test/support/*.py
900f19
%{pylibdir}/test/support/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/concurrent/
900f19
%dir %{pylibdir}/concurrent/__pycache__/
900f19
%{pylibdir}/concurrent/*.py
900f19
%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/concurrent/futures/
900f19
%dir %{pylibdir}/concurrent/futures/__pycache__/
900f19
%{pylibdir}/concurrent/futures/*.py
900f19
%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%{pylibdir}/pydoc_data
900f19
900f19
%{dynload_dir}/_blake2.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_sha3.%{SOABI_optimized}.so
b7e076
%{dynload_dir}/_hmacopenssl.%{SOABI_optimized}.so
900f19
900f19
%{dynload_dir}/_asyncio.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_bisect.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_bz2.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_crypt.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_csv.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_ctypes.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_curses.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_dbm.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_decimal.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_elementtree.%{SOABI_optimized}.so
900f19
%if %{with gdbm}
900f19
%{dynload_dir}/_gdbm.%{SOABI_optimized}.so
900f19
%endif
900f19
%{dynload_dir}/_hashlib.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_heapq.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_json.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_lsprof.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_lzma.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_opcode.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_pickle.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_random.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_socket.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_ssl.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_struct.%{SOABI_optimized}.so
900f19
%{dynload_dir}/array.%{SOABI_optimized}.so
900f19
%{dynload_dir}/audioop.%{SOABI_optimized}.so
900f19
%{dynload_dir}/binascii.%{SOABI_optimized}.so
900f19
%{dynload_dir}/cmath.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_datetime.%{SOABI_optimized}.so
900f19
%{dynload_dir}/fcntl.%{SOABI_optimized}.so
900f19
%{dynload_dir}/grp.%{SOABI_optimized}.so
900f19
%{dynload_dir}/math.%{SOABI_optimized}.so
900f19
%{dynload_dir}/mmap.%{SOABI_optimized}.so
900f19
%{dynload_dir}/nis.%{SOABI_optimized}.so
900f19
%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so
900f19
%{dynload_dir}/parser.%{SOABI_optimized}.so
900f19
%{dynload_dir}/pyexpat.%{SOABI_optimized}.so
900f19
%{dynload_dir}/readline.%{SOABI_optimized}.so
900f19
%{dynload_dir}/resource.%{SOABI_optimized}.so
900f19
%{dynload_dir}/select.%{SOABI_optimized}.so
900f19
%{dynload_dir}/spwd.%{SOABI_optimized}.so
900f19
%{dynload_dir}/syslog.%{SOABI_optimized}.so
900f19
%{dynload_dir}/termios.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so
900f19
%{dynload_dir}/unicodedata.%{SOABI_optimized}.so
900f19
%{dynload_dir}/xxlimited.%{SOABI_optimized}.so
900f19
%{dynload_dir}/zlib.%{SOABI_optimized}.so
900f19
900f19
%dir %{pylibdir}/site-packages/
900f19
%dir %{pylibdir}/site-packages/__pycache__/
900f19
%{pylibdir}/site-packages/README.txt
900f19
%{pylibdir}/*.py
900f19
%dir %{pylibdir}/__pycache__/
900f19
%{pylibdir}/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/collections/
900f19
%dir %{pylibdir}/collections/__pycache__/
900f19
%{pylibdir}/collections/*.py
900f19
%{pylibdir}/collections/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/ctypes/
900f19
%dir %{pylibdir}/ctypes/__pycache__/
900f19
%{pylibdir}/ctypes/*.py
900f19
%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes}
900f19
%{pylibdir}/ctypes/macholib
900f19
900f19
%{pylibdir}/curses
900f19
900f19
%dir %{pylibdir}/dbm/
900f19
%dir %{pylibdir}/dbm/__pycache__/
900f19
%{pylibdir}/dbm/*.py
900f19
%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/distutils/
900f19
%dir %{pylibdir}/distutils/__pycache__/
900f19
%{pylibdir}/distutils/*.py
900f19
%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes}
900f19
%{pylibdir}/distutils/README
900f19
%{pylibdir}/distutils/command
900f19
%exclude %{pylibdir}/distutils/command/wininst-*.exe
900f19
900f19
%dir %{pylibdir}/email/
900f19
%dir %{pylibdir}/email/__pycache__/
900f19
%{pylibdir}/email/*.py
900f19
%{pylibdir}/email/__pycache__/*%{bytecode_suffixes}
900f19
%{pylibdir}/email/mime
900f19
%doc %{pylibdir}/email/architecture.rst
900f19
900f19
%{pylibdir}/encodings
900f19
900f19
%{pylibdir}/html
900f19
%{pylibdir}/http
900f19
900f19
%dir %{pylibdir}/importlib/
900f19
%dir %{pylibdir}/importlib/__pycache__/
900f19
%{pylibdir}/importlib/*.py
900f19
%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%dir %{pylibdir}/json/
900f19
%dir %{pylibdir}/json/__pycache__/
900f19
%{pylibdir}/json/*.py
900f19
%{pylibdir}/json/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%{pylibdir}/logging
900f19
%{pylibdir}/multiprocessing
900f19
900f19
%dir %{pylibdir}/sqlite3/
900f19
%dir %{pylibdir}/sqlite3/__pycache__/
900f19
%{pylibdir}/sqlite3/*.py
900f19
%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%exclude %{pylibdir}/turtle.py
900f19
%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
900f19
900f19
%{pylibdir}/urllib
900f19
%{pylibdir}/xml
900f19
900f19
%if "%{_lib}" == "lib64"
900f19
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}
900f19
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages
900f19
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages/__pycache__/
900f19
%endif
900f19
900f19
# "Makefile" and the config-32/64.h file are needed by
900f19
# distutils/sysconfig.py:_init_posix(), so we include them in the core
900f19
# package, along with their parent directories (bug 531901):
900f19
%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/
900f19
%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile
900f19
%dir %{_includedir}/python%{LDVERSION_optimized}/
900f19
%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
900f19
900f19
%{_libdir}/%{py_INSTSONAME_optimized}
900f19
%{_libdir}/libpython3.so
900f19
900f19
%files devel
900f19
900f19
900f19
%files -n platform-python-devel
900f19
%{_bindir}/2to3
900f19
# TODO: Remove 2to3-3.7 once rebased to 3.7
900f19
%{_bindir}/2to3-%{pybasever}
900f19
%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/*
900f19
%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile
900f19
%exclude %{pylibdir}/distutils/command/wininst-*.exe
900f19
%{_includedir}/python%{LDVERSION_optimized}/*.h
900f19
%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
900f19
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
900f19
900f19
%exclude %{_bindir}/python3-config
900f19
%exclude %{_bindir}/python%{pybasever}-config
900f19
%exclude %{_bindir}/python%{LDVERSION_optimized}-config
900f19
%exclude %{_bindir}/python%{LDVERSION_optimized}-*-config
900f19
%{_libexecdir}/platform-python-config
900f19
%{_libexecdir}/platform-python%{pybasever}-config
900f19
%{_libexecdir}/platform-python%{LDVERSION_optimized}-config
900f19
%{_libexecdir}/platform-python%{LDVERSION_optimized}-*-config
900f19
900f19
%{_bindir}/pathfix.py
900f19
%{_libdir}/libpython%{LDVERSION_optimized}.so
900f19
%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc
900f19
%{_libdir}/pkgconfig/python-%{pybasever}.pc
900f19
%{_libdir}/pkgconfig/python3.pc
900f19
900f19
%files idle
900f19
%{_bindir}/idle%{pybasever}
900f19
%{pylibdir}/idlelib
900f19
%{_metainfodir}/idle3.appdata.xml
900f19
%{_datadir}/applications/idle3.desktop
900f19
%{_datadir}/icons/hicolor/*/apps/idle3.*
900f19
%ghost %{_bindir}/idle3
900f19
900f19
%files tkinter
900f19
%{pylibdir}/tkinter
900f19
%exclude %{pylibdir}/tkinter/test
900f19
%{dynload_dir}/_tkinter.%{SOABI_optimized}.so
900f19
%{pylibdir}/turtle.py
900f19
%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
900f19
%dir %{pylibdir}/turtledemo
900f19
%{pylibdir}/turtledemo/*.py
900f19
%{pylibdir}/turtledemo/*.cfg
900f19
%dir %{pylibdir}/turtledemo/__pycache__/
900f19
%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}
900f19
900f19
%files test
900f19
%{pylibdir}/ctypes/test
900f19
%{pylibdir}/distutils/tests
900f19
%{pylibdir}/sqlite3/test
900f19
%{pylibdir}/test
900f19
%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_testcapi.%{SOABI_optimized}.so
900f19
%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so
900f19
%{pylibdir}/lib2to3/tests
900f19
%{pylibdir}/tkinter/test
900f19
%{pylibdir}/unittest/test
900f19
900f19
# stuff already owned by the libs subpackage
900f19
# test requires libs, so we are safe not owning those dirs
900f19
%exclude %dir %{pylibdir}/test/
900f19
%exclude %dir %{pylibdir}/test/__pycache__/
900f19
%exclude %{pylibdir}/test/__init__.py
900f19
%exclude %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes}
900f19
%exclude %{pylibdir}/test/support/
900f19
900f19
# We don't bother splitting the debug build out into further subpackages:
900f19
# if you need it, you're probably a developer.
900f19
900f19
# Hence the manifest is the combination of analogous files in the manifests of
900f19
# all of the other subpackages
900f19
900f19
%if %{with debug_build}
900f19
%files -n platform-python-debug
900f19
# Analog of the core subpackage's files:
900f19
%exclude %{_bindir}/python%{LDVERSION_debug}
900f19
%{_libexecdir}/platform-python%{LDVERSION_debug}
900f19
%exclude %{_bindir}/python3-debug
900f19
%{_libexecdir}/platform-python-debug
900f19
900f19
# Analog of the -libs subpackage's files:
900f19
# ...with debug builds of the built-in "extension" modules:
900f19
900f19
%{dynload_dir}/_blake2.%{SOABI_debug}.so
900f19
%{dynload_dir}/_sha3.%{SOABI_debug}.so
b7e076
%{dynload_dir}/_hmacopenssl.%{SOABI_debug}.so
900f19
900f19
%{dynload_dir}/_asyncio.%{SOABI_debug}.so
900f19
%{dynload_dir}/_bisect.%{SOABI_debug}.so
900f19
%{dynload_dir}/_bz2.%{SOABI_debug}.so
900f19
%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so
900f19
%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so
900f19
%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so
900f19
%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so
900f19
%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so
900f19
%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so
900f19
%{dynload_dir}/_crypt.%{SOABI_debug}.so
900f19
%{dynload_dir}/_csv.%{SOABI_debug}.so
900f19
%{dynload_dir}/_ctypes.%{SOABI_debug}.so
900f19
%{dynload_dir}/_curses.%{SOABI_debug}.so
900f19
%{dynload_dir}/_curses_panel.%{SOABI_debug}.so
900f19
%{dynload_dir}/_dbm.%{SOABI_debug}.so
900f19
%{dynload_dir}/_decimal.%{SOABI_debug}.so
900f19
%{dynload_dir}/_elementtree.%{SOABI_debug}.so
900f19
%if %{with gdbm}
900f19
%{dynload_dir}/_gdbm.%{SOABI_debug}.so
900f19
%endif
900f19
%{dynload_dir}/_hashlib.%{SOABI_debug}.so
900f19
%{dynload_dir}/_heapq.%{SOABI_debug}.so
900f19
%{dynload_dir}/_json.%{SOABI_debug}.so
900f19
%{dynload_dir}/_lsprof.%{SOABI_debug}.so
900f19
%{dynload_dir}/_lzma.%{SOABI_debug}.so
900f19
%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so
900f19
%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so
900f19
%{dynload_dir}/_opcode.%{SOABI_debug}.so
900f19
%{dynload_dir}/_pickle.%{SOABI_debug}.so
900f19
%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so
900f19
%{dynload_dir}/_random.%{SOABI_debug}.so
900f19
%{dynload_dir}/_socket.%{SOABI_debug}.so
900f19
%{dynload_dir}/_sqlite3.%{SOABI_debug}.so
900f19
%{dynload_dir}/_ssl.%{SOABI_debug}.so
900f19
%{dynload_dir}/_struct.%{SOABI_debug}.so
900f19
%{dynload_dir}/array.%{SOABI_debug}.so
900f19
%{dynload_dir}/audioop.%{SOABI_debug}.so
900f19
%{dynload_dir}/binascii.%{SOABI_debug}.so
900f19
%{dynload_dir}/cmath.%{SOABI_debug}.so
900f19
%{dynload_dir}/_datetime.%{SOABI_debug}.so
900f19
%{dynload_dir}/fcntl.%{SOABI_debug}.so
900f19
%{dynload_dir}/grp.%{SOABI_debug}.so
900f19
%{dynload_dir}/math.%{SOABI_debug}.so
900f19
%{dynload_dir}/mmap.%{SOABI_debug}.so
900f19
%{dynload_dir}/nis.%{SOABI_debug}.so
900f19
%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so
900f19
%{dynload_dir}/parser.%{SOABI_debug}.so
900f19
%{dynload_dir}/pyexpat.%{SOABI_debug}.so
900f19
%{dynload_dir}/readline.%{SOABI_debug}.so
900f19
%{dynload_dir}/resource.%{SOABI_debug}.so
900f19
%{dynload_dir}/select.%{SOABI_debug}.so
900f19
%{dynload_dir}/spwd.%{SOABI_debug}.so
900f19
%{dynload_dir}/syslog.%{SOABI_debug}.so
900f19
%{dynload_dir}/termios.%{SOABI_debug}.so
900f19
%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so
900f19
%{dynload_dir}/unicodedata.%{SOABI_debug}.so
900f19
%{dynload_dir}/zlib.%{SOABI_debug}.so
900f19
900f19
# No need to split things out the "Makefile" and the config-32/64.h file as we
900f19
# do for the regular build above (bug 531901), since they're all in one package
900f19
# now; they're listed below, under "-devel":
900f19
900f19
%{_libdir}/%{py_INSTSONAME_debug}
900f19
900f19
# Analog of the -devel subpackage's files:
900f19
%{pylibdir}/config-%{LDVERSION_debug}-%{_arch}-linux%{_gnu}
900f19
%{_includedir}/python%{LDVERSION_debug}
900f19
900f19
%exclude %{_bindir}/python%{LDVERSION_debug}-config
900f19
%exclude %{_bindir}/python%{LDVERSION_debug}-*-config
900f19
%{_libexecdir}/platform-python%{LDVERSION_debug}-config
900f19
%{_libexecdir}/platform-python%{LDVERSION_debug}-*-config
900f19
900f19
%{_libdir}/libpython%{LDVERSION_debug}.so
900f19
%{_libdir}/libpython%{LDVERSION_debug}.so.1.0
900f19
%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc
900f19
900f19
# Analog of the -tools subpackage's files:
900f19
#  None for now; we could build precanned versions that have the appropriate
900f19
# shebang if needed
900f19
900f19
# Analog  of the tkinter subpackage's files:
900f19
%{dynload_dir}/_tkinter.%{SOABI_debug}.so
900f19
900f19
# Analog  of the -test subpackage's files:
900f19
%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so
900f19
%{dynload_dir}/_testbuffer.%{SOABI_debug}.so
900f19
%{dynload_dir}/_testcapi.%{SOABI_debug}.so
900f19
%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so
900f19
900f19
%endif # with debug_build
900f19
900f19
# We put the debug-gdb.py file inside /usr/lib/debug to avoid noise from ldconfig
900f19
# See https://bugzilla.redhat.com/show_bug.cgi?id=562980
900f19
#
900f19
# The /usr/lib/rpm/redhat/macros defines %%__debug_package to use
900f19
# debugfiles.list, and it appears that everything below /usr/lib/debug and
900f19
# (/usr/src/debug) gets added to this file (via LISTFILES) in
900f19
# /usr/lib/rpm/find-debuginfo.sh
900f19
#
900f19
# Hence by installing it below /usr/lib/debug we ensure it is added to the
900f19
# -debuginfo subpackage
900f19
# (if it doesn't, then the rpmbuild ought to fail since the debug-gdb.py
900f19
# payload file would be unpackaged)
900f19
900f19
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1476593
900f19
%undefine _debuginfo_subpackages
900f19
900f19
# ======================================================
900f19
# Finally, the changelog:
900f19
# ======================================================
900f19
900f19
%changelog
b7e076
* Wed Nov 27 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-23
b7e076
- Modify the test suite to better handle disabled SSL/TLS versions and FIPS mode
b7e076
- Use OpenSSL's DRBG and disable os.getrandom() function in FIPS mode
b7e076
Resolves: rhbz#1754028, rhbz#1754027, rhbz#1754026, rhbz#1774471
b7e076
b7e076
* Thu Oct 24 2019 Tomas Orsava <torsava@redhat.com> - 3.6.8-22
b7e076
- Changed Requires into Recommends for python3-pip to allow a lower RHEL8
b7e076
  footprint for containers and other minimal environments
b7e076
Resolves: rhbz#1756217
b7e076
b7e076
* Wed Oct 16 2019 Tomas Orsava <torsava@redhat.com> - 3.6.8-21
b7e076
- Patch 329 (FIPS) modified: Added workaround for mod_ssl:
b7e076
  Skip error checking in _Py_hashlib_fips_error
b7e076
Resolves: rhbz#1760106
b7e076
b7e076
* Mon Oct 14 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-20
b7e076
- Security fix for CVE-2019-16056
b7e076
Resolves: rhbz#1750776
b7e076
b7e076
* Wed Oct 09 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-19
b7e076
- Skip windows specific test_get_exe_bytes test case and enable test_distutils
b7e076
Resolves: rhbz#1754040
b7e076
b7e076
* Mon Oct 07 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-18
b7e076
- Reduce the number of tests running during the profile guided optimizations build
b7e076
- Enable profile guided optimizations for all the supported architectures
b7e076
Resolves: rhbz#1749576
b7e076
b7e076
* Mon Oct 07 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-17
b7e076
- Security fix for CVE-2018-20852
b7e076
Resolves: rhbz#1741553
b7e076
b7e076
* Fri Oct 04 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-16
b7e076
- Properly pass the -Og optimization flag to the debug build
b7e076
Resolves: rhbz#1712977 and rhbz#1714733
b7e076
b7e076
* Thu Aug 29 2019 Tomas Orsava <torsava@redhat.com> - 3.6.8-15
b7e076
- Patch 329 that adds support for OpenSSL FIPS mode has been improved and
b7e076
  bugfixed
b7e076
Resolves: rhbz#1744670 rhbz#1745499 rhbz#1745685
b7e076
b7e076
* Tue Aug 06 2019 Tomas Orsava <torsava@redhat.com> - 3.6.8-14
b7e076
- Adding a new patch 329 that adds support for OpenSSL FIPS mode
b7e076
- Explicitly listing man pages in files section to fix an RPM warning
b7e076
Resolves: rhbz#1731424
b7e076
b7e076
* Tue Jul 02 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-13
b7e076
- Do not set PHA verify flag on client side (rhbz#1725721)
b7e076
- Enable TLS 1.3 post-handshake authentication in http.client (rhbz#1671353)
b7e076
b7e076
* Fri Jun 21 2019 Miro Hrončok <mhroncok@redhat.com> - 3.6.8-12
b7e076
- Use RPM built wheels of pip and setuptools in ensurepip instead of our rewheel patch
b7e076
- Require platform-python-setuptools from platform-python-devel to prevent packaging errors
b7e076
Resolves: rhbz#1701286
b7e076
900f19
* Fri Jun 07 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-11
b7e076
- Fix for CVE-2019-10160
900f19
Resolves: rhbz#1689318
900f19
900f19
* Wed May 29 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-10
900f19
- Security fix for CVE-2019-9948
900f19
Resolves: rhbz#1714643
900f19
900f19
* Tue May 21 2019 Miro Hrončok <mhroncok@redhat.com> - 3.6.8-9
900f19
- Reduced default build flags used to build extension modules
900f19
  https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
900f19
Resolves: rhbz#1634784
900f19
900f19
* Mon May 13 2019 Tomas Orsava <torsava@redhat.com> - 3.6.8-8
900f19
- gzip the unversioned-python man page
900f19
Resolves: rhbz#1665514
900f19
900f19
* Wed May 08 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-7
900f19
- Disallow control chars in http URLs
900f19
- Fixes CVE-2019-9740 and CVE-2019-9947
900f19
Resolves: rhbz#1704365 and rhbz#1703531
900f19
900f19
* Fri May 03 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-6
900f19
- Updated fix for CVE-2019-9636 (rhbz#1689318)
900f19
900f19
* Wed Apr 3 2019 Miro Hrončok <mhroncok@redhat.com> - 3.6.8-5
900f19
- Security fix for CVE-2019-9636 (rhbz#1689318)
900f19
900f19
* Wed Mar 20 2019 Victor Stinner <vstinner@redhat.com> - 3.6.8-4
900f19
- Security fix for CVE-2019-5010 (rhbz#1666789)
900f19
900f19
* Wed Mar 13 2019 Victor Stinner <vstinner@redhat.com> - 3.6.8-3
900f19
- Fix test_tarfile on ppc64 (rhbz#1639490)
900f19
900f19
* Fri Jan 18 2019 Victor Stinner <vstinner@redhat.com> - 3.6.8-2
900f19
- test_ssl fixes for TLS 1.3 and OpenSSL 1.1.1 (rhbz#1639531)
900f19
900f19
* Wed Jan 09 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-1
900f19
- Update to 3.6.8
900f19
Resolves: rhbz#1658271
900f19
900f19
* Wed Nov 21 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.7-4
900f19
- Make sure the entire test.support module is in python3-libs
900f19
Resolves: rhbz#1651215
900f19
900f19
* Tue Nov 13 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.7-3
900f19
- Add choices for sort option of cProfile for better output
900f19
Resolves: rhbz#1640151
900f19
900f19
* Mon Nov 05 2018 Tomas Orsava <torsava@redhat.com> - 3.6.7-2
900f19
- Switch to requiring platform-python-pip/setuptools instead of the python3-
900f19
  versions
900f19
- Resolves: rhbz#1638836
900f19
900f19
* Thu Oct 25 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.7-1
900f19
- Update to 3.6.7 (rhbz#1627739)
900f19
- Re-enable test_gdb (rhbz#1639536)
900f19
- Re-enable test_faulthandler (rhbz#1640147)
900f19
900f19
* Tue Oct 16 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.6-19
900f19
- Add compatibility fixes for openssl 1.1.1 and tls 1.3
900f19
Resolves: rhbz#1610023
900f19
900f19
* Tue Oct 16 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.6-18
900f19
- Fix test_dbm_gnu for gdbm 1.15 which fails on ppc64le
900f19
Resolves: rhbz#1638710
900f19
900f19
* Sun Oct 14 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-17
900f19
- Add Requires (/post/postun) on /usr/sbin/alternatives
900f19
- Resolves: rhbz#1632625
900f19
900f19
* Fri Oct 12 2018 Petr Viktorin <pviktori@redhat.com> - 3.6.6-16
900f19
- Remove Windows binaries from the source archive
900f19
- Resolves: rhbz#1633219
900f19
900f19
* Wed Oct 10 2018 Petr Viktorin <pviktori@redhat.com> - 3.6.6-15
900f19
- Compile the debug build with -Og rather than -O0
900f19
- Resolves: rhbz#1624162
900f19
900f19
* Wed Oct 10 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.6-14
900f19
- Security fix for CVE-2018-14647
900f19
- Resolves: rhbz#1632096
900f19
900f19
* Sun Oct 07 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-13
900f19
- Stop providing the `python3` and `python3-debug` names from the
900f19
  platform-python/-debug subpackages
900f19
- The `python3` and `python3-debug` names are now provided from the python36
900f19
  component
900f19
- Conflict with older versions of `python3` and `python3-debug`
900f19
- Related: rhbz#1619153
900f19
900f19
* Tue Oct 02 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-12.2
900f19
- Fix update of idle3's alternative symlink
900f19
- Resolves: rhbz#1632625
900f19
900f19
* Mon Oct 01 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-12.1
900f19
- Add idle3 to the alternatives system
900f19
- Resolves: rhbz#1632625
900f19
900f19
* Fri Sep 28 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-12
900f19
- Rename the python3-debug subpackage to platform-python-debug
900f19
- Provide the `python3-debug` name for backwards compatibility until it's taken
900f19
  over by the python36 component
900f19
- Rename the python3-libs-devel subpackage to platform-python-devel for
900f19
  symmetry with the `platform-python` and `platform-python-debug` package
900f19
- Add symlink /usr/libexec/platform-python-debug that was mistakenly omitted
900f19
- Related: rhbz#1619153
900f19
900f19
* Fri Sep 28 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-11
900f19
- Implement `alternatives` for chosing /usr/bin/python
900f19
- Provide the default `no-python` alternative
900f19
- Resolves: rhbz#1632625
900f19
900f19
* Wed Sep 19 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-10
900f19
- Provide the `python3` name with _isa until some packages can be rebuilt
900f19
- Resolves: rhbz#1619153
900f19
900f19
* Tue Sep 11 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-9
900f19
- Rename the python3 subpackage to platform-python
900f19
- Provide the `python3` name for backwards compatibility until it's taken over
900f19
  by the python36 component
900f19
- The python36 component that contains /usr/bin/python3 will Provide the
900f19
  name `python3` in its upcoming update
900f19
- Resolves: rhbz#1619153
900f19
900f19
* Tue Sep 04 2018 Lumír Balhar <lbalhar@redhat.com> - 3.6.6-8
900f19
- Remove /usr/bin/idle3 symlink
900f19
- Resolves: rhbz#1623811
900f19
900f19
* Wed Aug 15 2018 Lumír Balhar <lbalhar@redhat.com> - 3.6.6-7
900f19
- Remove 3 > 3.6 symlinks for pydoc and python manpage
900f19
- Resolves: rhbz#1615727
900f19
900f19
* Sun Aug 12 2018 Troy Dawson <tdawson@redhat.com>
900f19
- Disable %check so package will build for Mass Rebuild
900f19
- Related: bug#1614611
900f19
900f19
* Mon Aug 06 2018 Petr Viktorin <pviktori@redhat.com> - 3.6.6-6
900f19
- Make `devel` subpackage require python36-devel again
900f19
  (and get /usr/bin/python3 and /usr/bin/python3-config from that).
900f19
- Remove /usr/bin/python3* executables
900f19
- Use pip36 instead of `pip3`
900f19
900f19
* Fri Aug 03 2018 Petr Viktorin <pviktori@redhat.com> - 3.6.6-5
900f19
- Fix the `devel` subpackage to require python3, rather than python36-devel,
900f19
  and provide /usr/bin/python3-config itself.
900f19
900f19
* Wed Aug 01 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-4
900f19
- Create the `libs-devel` subpackage and move `devel` contents there
900f19
- `devel` subpackage is only for the buildroot and requires `python36-devel`
900f19
  to get /usr/bin/python3{,-config} symlinks there
900f19
- `devel` subpackage will not be shipped into RHEL8, only `libs-devel` will
900f19
- `debug` subpackage now runtime requires `libs-devel` instead of `devel`
900f19
900f19
* Wed Aug 01 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.6-3
900f19
- Disable ssl related tests for now
900f19
900f19
* Wed Jul 25 2018 Petr Kubat <pkubat@redhat.com> - 3.6.6-2
900f19
- Rebuilt for gdbm
900f19
900f19
* Thu Jul 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.6-1
900f19
- Update to Python 3.6.6
900f19
900f19
* Thu Jul 19 2018 Tomas Orsava <torsava@redhat.com> - 3.6.5-7
900f19
- Fix %%py_byte_compile macro: when invoked with a Python 2 binary it also
900f19
  mistakenly ran py3_byte_compile
900f19
900f19
* Thu Jul 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.5-6
900f19
- Do not include the unversioned pyvenv binary in the rpm
900f19
900f19
* Tue Jul 03 2018 Tomas Orsava <torsava@redhat.com> - 3.6.5-5
900f19
- Remove old system-python Provides/Obsoletes/symlinks/patches from Fedora
900f19
900f19
* Wed May 09 2018 Tomas Orsava <torsava@redhat.com> - 3.6.5-4
900f19
- Switch all shebangs to point to the Platform-Python executables
900f19
900f19
* Wed May 09 2018 Tomas Orsava <torsava@redhat.com> - 3.6.5-3
900f19
- Platform-Python: Rebase implementation from RHEL8 Alpha:
900f19
- Move the main executable to /usr/libexec/platform-python
900f19
- Move /usr/bin/python*-config and /usr/bin/pythonX.Ym scripts to /usr/libexec/
900f19
- Provide symlink to the main executable and other scripts from /usr/bin/,
900f19
  these will be later shipped only in the python36 module
900f19
900f19
* Wed May 09 2018 Tomas Orsava <torsava@redhat.com> - 3.6.5-2
900f19
- Remove Obsoletes and Provides that are not relevant for RHEL
900f19
900f19
* Thu Mar 29 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.5-1
900f19
- Update to 3.6.5
900f19
900f19
* Sat Mar 24 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-20
900f19
- Fix broken macro invocation and broken building of C Python extensions
900f19
Resolves: rhbz#1560103
900f19
900f19
* Fri Mar 16 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-19
900f19
- Add -n option for pathfix.py
900f19
Resolves: rhbz#1546990
900f19
900f19
* Thu Mar 15 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-18
900f19
- Fix the py_byte_compile macro to work on Python 2
900f19
- Remove the pybytecompile macro file from the flat package
900f19
Resolves: rhbz#1484993
900f19
900f19
* Tue Mar 13 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-17
900f19
- Do not send IP addresses in SNI TLS extension
900f19
900f19
* Sat Feb 24 2018 Florian Weimer <fweimer@redhat.com> - 3.6.4-16
900f19
- Rebuild with new LDFLAGS from redhat-rpm-config
900f19
900f19
* Wed Feb 21 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-15
900f19
- Filter out automatic /usr/bin/python3.X requirement,
900f19
  recommend the main package from libs instead
900f19
Resolves: rhbz#1547131
900f19
900f19
* Thu Feb 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.4-14
900f19
- Remove the python3-tools package (#rhbz 1312030)
900f19
- Move /usr/bin/2to3 to python3-devel
900f19
- Move /usr/bin/idle and idlelib to python3-idle
900f19
- Provide python3-tools from python3-idle
900f19
900f19
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.4-13
900f19
- Escape macros in %%changelog
900f19
900f19
* Fri Feb 02 2018 Michal Cyprian <mcyprian@redhat.com> - 3.6.4-12
900f19
- Remove sys.executable check from change-user-install-location patch
900f19
Resolves: rhbz#1532287
900f19
900f19
* Thu Feb 01 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-11
900f19
- Define TLS cipher suite on build time.
900f19
900f19
* Wed Jan 31 2018 Tomas Orsava <torsava@redhat.com> - 3.6.4-10
900f19
- Disable test_gdb for all arches and test_buffer for ppc64le in anticipation
900f19
  of the F28 mass rebuild
900f19
- Re-enable these tests after the mass rebuild when they can be properly
900f19
  addressed
900f19
900f19
* Tue Jan 23 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-9
900f19
- Restore the PyExc_RecursionErrorInst public symbol
900f19
900f19
* Tue Jan 23 2018 Björn Esser <besser82@fedoraproject.org> - 3.6.4-8
900f19
- Add patch to explicitly link _ctypes module with -ldl (#1537489)
900f19
- Refactored patch for libxcrypt
900f19
- Re-enable strict symbol checks in the link editor
900f19
900f19
* Mon Jan 22 2018 Björn Esser <besser82@fedoraproject.org> - 3.6.4-7
900f19
- Add patch for libxcrypt
900f19
- Disable strict symbol checks in the link editor
900f19
900f19
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 3.6.4-6
900f19
- Rebuilt for switch to libxcrypt
900f19
900f19
* Fri Jan 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-5
900f19
- Fix localeconv() encoding for LC_NUMERIC
900f19
900f19
* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.4-4
900f19
- R: gdbm-devel → R: gdbm for python3-libs
900f19
900f19
* Wed Jan 17 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-3
900f19
- Require large enough gdbm (fixup for previous bump)
900f19
900f19
* Tue Jan 16 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-2
900f19
- Rebuild for reverted gdbm 1.13 on Fedora 27
900f19
900f19
* Mon Jan 15 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-1
900f19
- Update to version 3.6.4
900f19
900f19
* Fri Jan 12 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.3-5
900f19
- Fix the compilation of the nis module.
900f19
900f19
* Tue Nov 21 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.3-4
900f19
- Raise the release of platform-python obsoletes for better maintainability
900f19
900f19
* Wed Nov 15 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.3-3
900f19
- Obsolete platform-python and it's subpackages
900f19
900f19
* Mon Oct 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.3-2
900f19
- Fix memory corruption due to allocator mix
900f19
Resolves: rhbz#1498207
900f19
900f19
* Fri Oct 06 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.3-1
900f19
- Update to Python 3.6.3
900f19
900f19
* Fri Sep 29 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-19
900f19
- Move pathfix.py to bindir, https://github.com/fedora-python/python-rpm-porting/issues/24
900f19
- Make the -devel package require redhat-rpm-config
900f19
Resolves: rhbz#1496757
900f19
900f19
* Wed Sep 13 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.2-18
900f19
- Fix /usr/bin/env dependency from python3-tools
900f19
Resolves: rhbz#1482118
900f19
900f19
* Wed Sep 06 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.2-17
900f19
- Include `-g` in the flags sent to the linker (LDFLAGS)
900f19
Resolves: rhbz#1483222
900f19
900f19
* Tue Sep 05 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-16
900f19
- Specfile cleanup
900f19
- Make the main description also applicable to the SRPM
900f19
- Add audiotest.au to the test package
900f19
900f19
* Fri Sep 01 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-15
900f19
- Remove %%{pylibdir}/Tools/scripts/2to3
900f19
900f19
* Fri Sep 01 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-14
900f19
- Expat >= 2.1.0 is everywhere, remove explicit requires
900f19
- Conditionalize systemtap-devel BuildRequires
900f19
- For consistency, require /usr/sbin/ifconfig instead of net-tools
900f19
900f19
* Mon Aug 28 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-13
900f19
- Rename patch files to be consistent
900f19
- Run autotools to generate the configure script before building
900f19
- Merge lib64 patches (104 into 102)
900f19
- Skip test_bdist_rpm using test config rather than a patch (removes patch 137)
900f19
- Remove patches 157 and 186, which had test changes left over after upstreaming
900f19
- Remove patch 188, a temporary workaround for hashlib tests
900f19
- Merge patches 180, 206, 243, 5001 (architecture naming) into new patch 274
900f19
- Move python2-tools conflicts to tools subpackage (it was wrongly in tkinter)
900f19
900f19
* Mon Aug 28 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.2-12
900f19
- Use python3 style of calling super() without arguments in rpath
900f19
  patch to prevent recursion in UnixCCompiler subclasses
900f19
Resolves: rhbz#1458122
900f19
900f19
* Mon Aug 21 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-11
900f19
- Add bcond for --without optimizations
900f19
- Reword package descriptions
900f19
- Remove Group declarations
900f19
- Skip failing test_float_with_comma
900f19
900f19
* Mon Aug 21 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-10
900f19
- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack
900f19
900f19
* Wed Aug 16 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-9
900f19
- Use bconds for configuring the build
900f19
- Reorganize the initial sections
900f19
900f19
* Wed Aug 16 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-8
900f19
- Have /usr/bin/2to3 (rhbz#1111275)
900f19
- Provide 2to3 and idle3, list them in summary and description (rhbz#1076401)
900f19
900f19
* Fri Aug 11 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.2-7
900f19
- Revert "Add --executable option to install.py command"
900f19
  This enhancement is currently not needed and it can possibly
900f19
  collide with `pip --editable`option
900f19
900f19
* Mon Aug 07 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.2-6
900f19
- Fix the "urllib FTP protocol stream injection" vulnerability
900f19
Resolves: rhbz#1478916
900f19
900f19
* Tue Aug 01 2017 Tomas Orsava <torsava@redhat.com> - 3.6.2-5
900f19
- Dropped BuildRequires on db4-devel which was useful for Python 2 (module
900f19
  bsddb), however, no longer needod for Python 3
900f19
- Tested building Python 3 with and without the dependency, all tests pass and
900f19
  filelists of resulting RPMs are identical
900f19
900f19
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 3.6.2-4
900f19
- Do not generate debuginfo subpackages (#1476593)
900f19
- Rebuild with binutils fix for ppc64le (#1475636)
900f19
900f19
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-3
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
900f19
900f19
* Tue Jul 25 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.2-2
900f19
- Make test_asyncio to not depend on the current SIGHUP signal handler.
900f19
900f19
* Tue Jul 18 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.2-1
900f19
- Update to Python 3.6.2
900f19
900f19
* Tue Jun 27 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-10
900f19
- Update to the latest upstream implementation of PEP 538
900f19
900f19
* Mon Jun 26 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.1-9
900f19
- Make pip and distutils in user environment install into separate location
900f19
900f19
* Fri Jun 23 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-8
900f19
- Fix test_alpn_protocols from test_ssl
900f19
- Do not require rebundled setuptools dependencies
900f19
900f19
* Tue May 16 2017 Tomas Orsava <torsava@redhat.com> - 3.6.1-7
900f19
- Added a dependency to the devel subpackage on python3-rpm-generators which
900f19
  have been excised out of rpm-build
900f19
- Updated notes on bootstrapping Python on top of this specfile accordingly
900f19
- Involves: rhbz#1410631, rhbz#1444925
900f19
900f19
* Tue May 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-6
900f19
- Enable profile guided optimizations for x86_64 and i686 architectures
900f19
- Update to a newer implementation of PEP 538
900f19
- Update description to reflect that Python 3 is now the default Python
900f19
900f19
* Fri May 05 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-5
900f19
- Update PEP 538 to the latest upstream implementation
900f19
900f19
* Tue Apr 18 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-4
900f19
- Enable link time optimizations
900f19
- Move windows executables to the devel subpackage (rhbz#1426257)
900f19
900f19
* Thu Apr 13 2017 Tomas Orsava <torsava@redhat.com> - 3.6.1-3
900f19
- Rename python3.Xdm-config script from -debug to be arch specific
900f19
Resolves: rhbz#1179073
900f19
900f19
* Wed Apr 05 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-2
900f19
- Install the Makefile in its proper location (rhbz#1438219)
900f19
900f19
* Wed Mar 22 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.1-1
900f19
- Update to version 3.6.1 final
900f19
900f19
* Tue Mar 21 2017 Tomas Orsava <torsava@redhat.com> - 3.6.1-0.2.rc1
900f19
- Fix syntax error in %%py_byte_compile macro (rhbz#1433569)
900f19
900f19
* Thu Mar 16 2017 Iryna Shcherbina <ishcherb@redaht.com> - 3.6.1-0.1.rc1
900f19
- Update to Python 3.6.1 release candidate 1
900f19
- Add patch 264 to skip a known test failure on aarch64
900f19
900f19
* Fri Mar 10 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-21
900f19
- Use proper command line parsing in _testembed
900f19
- Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale
900f19
  https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale
900f19
900f19
* Mon Feb 27 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-20
900f19
- Add desktop entry and appdata.xml file for IDLE 3 (rhbz#1392049)
900f19
900f19
* Fri Feb 24 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.0-19
900f19
- Revert "Set values of prefix and exec_prefix to /usr/local for
900f19
  /usr/bin/python* executables..." to prevent build failures
900f19
  of packages using alternate build tools
900f19
900f19
* Tue Feb 21 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.0-18
900f19
- Set values of prefix and exec_prefix to /usr/local for
900f19
  /usr/bin/python* executables
900f19
- Use new %%_module_build macro
900f19
900f19
* Fri Feb 17 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.0-13
900f19
- Add --executable option to install.py command
900f19
900f19
* Wed Feb 15 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-12
900f19
- BuildRequire the new dependencies of setuptools when rewheel mode is enabled
900f19
in order for the virtualenvs to work properly
900f19
900f19
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-11
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
900f19
900f19
* Wed Feb 01 2017 Stephen Gallagher <sgallagh@redhat.com> - 3.6.0-10
900f19
- Add missing %%license macro
900f19
900f19
* Thu Jan 26 2017 Tomas Orsava <torsava@redhat.com> - 3.6.0-9
900f19
- Modify the runtime dependency of python3-libs on system-python-libs again,
900f19
  because previous attempt didn't work properly with dnf resolving mechanism
900f19
900f19
* Wed Jan 25 2017 Tomas Orsava <torsava@redhat.com> - 3.6.0-8
900f19
- Modify the runtime dependency of python3-libs on system-python-libs to use
900f19
  just the version and release number, but not the dist tag due to Modularity
900f19
900f19
* Mon Jan 16 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-7
900f19
- Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275)
900f19
- Skip test_aead_aes_gcm during rpmbuild
900f19
900f19
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.6.0-6
900f19
- Rebuild for readline 7.x
900f19
900f19
* Tue Jan 10 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-5
900f19
- Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644)
900f19
900f19
* Mon Jan 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-4
900f19
- Define HAVE_LONG_LONG as 1 for backwards compatibility
900f19
900f19
* Thu Jan 05 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.0-3
900f19
- Don't blow up on EL7 kernel (random generator) (rhbz#1410175)
900f19
900f19
* Tue Dec 27 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-1
900f19
- Update to Python 3.6.0 final
900f19
900f19
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-0.6.rc1
900f19
- Enable rewheel
900f19
900f19
* Wed Dec 07 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-0.5.rc1
900f19
- Update to Python 3.6.0 release candidate 1
900f19
900f19
* Mon Dec 05 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-0.4.b4
900f19
- Update to Python 3.6.0 beta 4
900f19
900f19
* Mon Dec 05 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-7
900f19
- Set to work with pip version 9.0.1
900f19
900f19
* Wed Oct 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-6
900f19
- Use proper patch numbering and base upstream branch for
900f19
porting ssl and hashlib modules to OpenSSL 1.1.0
900f19
- Drop hashlib patch for now
900f19
- Add riscv64 arch to 64bit and no-valgrind arches
900f19
900f19
* Tue Oct 11 2016 Tomáš Mráz <tmraz@redhat.com> - 3.5.2-5
900f19
- Make it build with OpenSSL-1.1.0 based on upstream patch
900f19
900f19
* Wed Sep 14 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-4
900f19
- Obsolete and Provide python35 package
900f19
900f19
* Mon Sep 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-3
900f19
- Update %%py_byte_compile macro
900f19
- Remove unused configure flags (rhbz#1374357)
900f19
900f19
* Fri Sep 09 2016 Tomas Orsava <torsava@redhat.com> - 3.5.2-2
900f19
- Updated .pyc 'bytecompilation with the newly installed interpreter' to also
900f19
  recompile optimized .pyc files
900f19
- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo
900f19
  files are no more
900f19
- Resolves rhbz#1373635
900f19
900f19
* Mon Aug 15 2016 Tomas Orsava <torsava@redhat.com> - 3.5.2-1
900f19
- Rebased to version 3.5.2
900f19
- Set to work with pip version 8.1.2
900f19
- Removed patches 207, 237, 241 as fixes are already contained in Python 3.5.2
900f19
- Removed arch or environment specific patches 194, 196, 203, and 208
900f19
  as test builds indicate they are no longer needed
900f19
- Updated patches 102, 146, and 242 to work with the new Python codebase
900f19
- Removed patches 200, 201, 5000 which weren't even being applied
900f19
900f19
* Tue Aug 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-15
900f19
- Fix for CVE-2016-1000110 HTTPoxy attack
900f19
- SPEC file cleanup
900f19
900f19
* Mon Aug 01 2016 Michal Toman <mtoman@fedoraproject.org> - 3.5.1-14
900f19
- Build properly on MIPS
900f19
900f19
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.1-13
900f19
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
900f19
900f19
* Fri Jul 08 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-12
900f19
- Refactor patch for properly fixing CVE-2016-5636
900f19
900f19
* Fri Jul 08 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-11
900f19
- Fix test_pyexpat failure with Expat version of 2.2.0
900f19
900f19
* Fri Jul 08 2016 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-10
900f19
- Move xml module to system-python-libs
900f19
900f19
* Thu Jun 16 2016 Tomas Orsava <torsava@redhat.com> - 3.5.1-9
900f19
- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack
900f19
- Raise an error when STARTTLS fails
900f19
- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647
900f19
- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345
900f19
- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394
900f19
900f19
* Mon Jun 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-8
900f19
- Added patch for fixing possible integer overflow and heap corruption in zipimporter.get_data()
900f19
900f19
* Fri Mar 04 2016 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-7
900f19
- Move distutils to system-python-libs
900f19
900f19
* Wed Feb 24 2016 Robert Kuska <rkuska@redhat.com> - 3.5.1-6
900f19
- Provide python3-enum34
900f19
900f19
* Fri Feb 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-5
900f19
- Provide System Python packages and macros
900f19
900f19
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.1-4
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
900f19
900f19
* Wed Jan 13 2016 Orion Poplwski <orion@cora.nwra.com> - 3.5.1-2
900f19
- Drop python3 macros, require python/python3-rpm-macros
900f19
900f19
* Mon Dec 14 2015 Robert Kuska <rkuska@redhat.com> - 3.5.1-1
900f19
- Update to 3.5.1
900f19
- Removed patch 199 and 207 (upstream)
900f19
900f19
* Sun Nov 15 2015 Robert Kuska <rkuska@redhat.com> - 3.5.0-5
900f19
- Remove versioned libpython from devel package
900f19
900f19
* Fri Nov 13 2015 Than Ngo <than@redhat.com> 3.5.0-4
900f19
- add correct arch for ppc64/ppc64le to fix build failure
900f19
900f19
* Wed Nov 11 2015 Robert Kuska <rkuska@redhat.com> - 3.5.0-3
900f19
- Hide the private _Py_atomic_xxx symbols from public header
900f19
900f19
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 3.5.0-2
900f19
- Rebuild with wheel set to 1
900f19
900f19
* Tue Sep 15 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.5.0-1
900f19
- Update to 3.5.0
900f19
900f19
* Mon Jun 29 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.3-4
900f19
- python3-devel: Require python-macros for version independant macros such as
900f19
  python_provide. See fpc#281 and fpc#534.
900f19
900f19
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.3-3
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
900f19
900f19
* Wed Jun 17 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.3-4
900f19
- Use 1024bit DH key in test_ssl
900f19
- Use -O0 when compiling -debug build
900f19
- Update pip version variable to the version we actually ship
900f19
900f19
* Wed Jun 17 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.3-3
900f19
- Make relocating Python by changing _prefix actually work
900f19
Resolves: rhbz#1231801
900f19
900f19
* Mon May  4 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.4.3-2
900f19
- Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches
900f19
900f19
* Thu Mar 12 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.3-1
900f19
- Updated to 3.4.3
900f19
- BuildPython now accepts additional build options
900f19
- Temporarily disabled test_gdb on arm (rhbz#1196181)
900f19
900f19
* Wed Feb 25 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.2-7
900f19
- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64
900f19
  (http://bugs.python.org/issue23433)
900f19
900f19
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 3.4.2-6
900f19
- Rebuilt for Fedora 23 Change
900f19
  https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
900f19
900f19
* Tue Feb 17 2015 Ville Skyttä <ville.skytta@iki.fi> - 3.4.2-5
900f19
- Own systemtap dirs (#710733)
900f19
900f19
* Mon Jan 12 2015 Dan Horák <dan[at]danny.cz> - 3.4.2-4
900f19
- build with valgrind on ppc64le
900f19
- disable test_gdb on s390(x) until rhbz#1181034 is resolved
900f19
900f19
* Tue Dec 16 2014 Robert Kuska <rkuska@redhat.com> - 3.4.2-3
900f19
- New patches: 170 (gc asserts), 200 (gettext headers),
900f19
  201 (gdbm memory leak)
900f19
900f19
* Thu Dec 11 2014 Robert Kuska <rkuska@redhat.com> - 3.4.2-2
900f19
- OpenSSL disabled SSLv3 in SSLv23 method
900f19
900f19
* Thu Nov 13 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.2-1
900f19
- Update to 3.4.2
900f19
- Refreshed patches: 156 (gdb autoload)
900f19
- Removed: 195 (Werror declaration), 197 (CVE-2014-4650)
900f19
900f19
* Mon Nov 03 2014 Slavek Kabrda <bkabrda@redhat.com> - 3.4.1-16
900f19
- Fix CVE-2014-4650 - CGIHTTPServer URL handling
900f19
Resolves: rhbz#1113529
900f19
900f19
* Sun Sep 07 2014 Karsten Hopp <karsten@redhat.com> 3.4.1-15
900f19
- exclude test_gdb on ppc* (rhbz#1132488)
900f19
900f19
* Thu Aug 21 2014 Slavek Kabrda <bkabrda@redhat.com> - 3.4.1-14
900f19
- Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1
900f19
900f19
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.1-13
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
900f19
900f19
* Sun Jun  8 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.4.1-12
900f19
- aarch64 has valgrind, just list those that don't support it
900f19
900f19
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.1-11
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
900f19
900f19
* Wed Jun 04 2014 Karsten Hopp <karsten@redhat.com> 3.4.1-10
900f19
- bump release and rebuild to link with the correct tcl/tk libs on ppcle
900f19
900f19
* Tue Jun 03 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.1-9
900f19
- Change paths to bundled projects in rewheel patch
900f19
900f19
* Fri May 30 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-8
900f19
- In config script, use uname -m to write the arch
900f19
900f19
* Thu May 29 2014 Dan Horák <dan[at]danny.cz> - 3.4.1-7
900f19
- update the arch list where valgrind exists - %%power64 includes also
900f19
    ppc64le which is not supported yet
900f19
900f19
* Thu May 29 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-6
900f19
- Forward arguments to the arch specific config script
900f19
Resolves: rhbz#1102683
900f19
900f19
* Wed May 28 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-5
900f19
- Rename python3.Xm-config script to arch specific.
900f19
Resolves: rhbz#1091815
900f19
900f19
* Tue May 27 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.1-4
900f19
- Use python3-*, not python-* runtime requires on setuptools and pip
900f19
- rebuild for tcl-8.6
900f19
900f19
* Tue May 27 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.1-3
900f19
- Update the rewheel module
900f19
900f19
* Mon May 26 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-2
900f19
- Fix multilib dependencies.
900f19
Resolves: rhbz#1091815
900f19
900f19
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.1-1
900f19
- Update to Python 3.4.1
900f19
900f19
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-8
900f19
- Fix test_gdb failure on ppc64le
900f19
Resolves: rhbz#1095355
900f19
900f19
* Thu May 22 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.0-7
900f19
- Add macro %%python3_version_nodots
900f19
900f19
* Sun May 18 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-6
900f19
- Disable test_faulthandler, test_gdb on aarch64
900f19
Resolves: rhbz#1045193
900f19
900f19
* Fri May 16 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-5
900f19
- Don't add Werror=declaration-after-statement for extension
900f19
  modules through setup.py (PyBT#21121)
900f19
900f19
* Mon May 12 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-4
900f19
- Add setuptools and pip to Requires
900f19
900f19
* Tue Apr 29 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-3
900f19
- Point __os_install_post to correct brp-* files
900f19
900f19
* Tue Apr 15 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-2
900f19
- Temporarily disable tests requiring SIGHUP (rhbz#1088233)
900f19
900f19
* Tue Apr 15 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-1
900f19
- Update to Python 3.4 final
900f19
- Add patch adding the rewheel module
900f19
- Merge patches from master
900f19
900f19
* Wed Jan 08 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.0-0.1.b2
900f19
- Update to Python 3.4 beta 2.
900f19
- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise)
900f19
- Dropped patches: 114 (statvfs constants), 177 (platform unicode)
900f19
900f19
* Mon Nov 25 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.0-0.1.b1
900f19
- Update to Python 3.4 beta 1.
900f19
- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT
900f19
ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips),
900f19
157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port)
900f19
- Removed patch 00187 (remove pthread atfork; upstreamed)
900f19
900f19
* Mon Nov 04 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.0-0.1.a4
900f19
- Update to Python 3.4 alpha 4.
900f19
- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib),
900f19
114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in
900f19
test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise),
900f19
157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise
900f19
from py_compile)
900f19
- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in
900f19
Koji), 142 (the mock issue that caused this is fixed)
900f19
- Added patch 187 (remove thread atfork) - will be in next version
900f19
- Refreshed script for checking pyc and pyo timestamps with new ignored files.
900f19
- The fips patch is disabled for now until upstream makes a final decision
900f19
what to do with sha3 implementation for 3.4.0.
900f19
900f19
* Wed Oct 30 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-7
900f19
- Bytecompile all *.py files properly during build (rhbz#1023607)
900f19
900f19
* Fri Aug 23 2013 Matej Stuchlik <mstuchli@redhat.com> - 3.3.2-6
900f19
- Added fix for CVE-2013-4238 (rhbz#996399)
900f19
900f19
* Fri Jul 26 2013 Dennis Gilmore <dennis@ausil.us> - 3.3.2-5
900f19
- fix up indentation in arm patch
900f19
900f19
* Fri Jul 26 2013 Dennis Gilmore <dennis@ausil.us> - 3.3.2-4
900f19
- disable a test that fails on arm
900f19
- enable valgrind support on arm arches
900f19
900f19
* Tue Jul 02 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-3
900f19
- Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696).
900f19
900f19
* Mon May 20 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-2
900f19
- Add patch for CVE-2013-2099 (rhbz#963261).
900f19
900f19
* Thu May 16 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-1
900f19
- Updated to Python 3.3.2.
900f19
- Refreshed patches: 153 (gdb test noise)
900f19
- Dropped patches: 175 (configure -Wformat, fixed upstream), 182 (gdb
900f19
test threads)
900f19
- Synced patch numbers with python.spec.
900f19
900f19
* Thu May  9 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.1-4
900f19
- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010)
900f19
900f19
* Thu May 02 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.1-3
900f19
- Add patch that enables building on ppc64p7 (replace the sed, so that
900f19
we get consistent with python2 spec and it's more obvious that we're doing it.
900f19
900f19
* Wed Apr 24 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.1-2
900f19
- Add fix for gdb tests failing on arm, rhbz#951802.
900f19
900f19
* Tue Apr 09 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.1-1
900f19
- Updated to Python 3.3.1.
900f19
- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips),
900f19
153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just
900f19
keeping few more downstream tests)
900f19
- Removed patches: 3 (audiotest.au made it to upstream tarball)
900f19
- Removed workaround for http://bugs.python.org/issue14774, discussed in
900f19
http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8.
900f19
900f19
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-10
900f19
- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates
900f19
900f19
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-9
900f19
- renumber patches to keep them in sync with python.spec
900f19
900f19
* Fri Mar 15 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 3.3.0-8
900f19
- Fix error in platform.platform() when non-ascii byte strings are decoded to
900f19
  unicode (rhbz#922149)
900f19
900f19
* Thu Mar 14 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 3.3.0-7
900f19
- Fix up shared library extension (rhbz#889784)
900f19
900f19
* Thu Mar 07 2013 Karsten Hopp <karsten@redhat.com> 3.3.0-6
900f19
- add ppc64p7 build target, optimized for Power7
900f19
900f19
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-5
900f19
- add workaround for ENOPROTOOPT seen running selftests in Koji
900f19
(rhbz#913732)
900f19
900f19
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-4
900f19
- remove config flag from /etc/rpm/macros.{python3|pybytecompile}
900f19
900f19
* Mon Feb 11 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-3
900f19
- add aarch64 (rhbz#909783)
900f19
900f19
* Thu Nov 29 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-2
900f19
- add BR on bluez-libs-devel (rhbz#879720)
900f19
900f19
* Sat Sep 29 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-1
900f19
- 3.3.0rc3 -> 3.3.0; drop alphatag
900f19
900f19
* Mon Sep 24 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.6.rc3
900f19
- 3.3.0rc2 -> 3.3.0rc3
900f19
900f19
* Mon Sep 10 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.5.rc2
900f19
- 3.3.0rc1 -> 3.3.0rc2; refresh patch 55
900f19
900f19
* Mon Aug 27 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.4.rc1
900f19
- 3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55
900f19
900f19
* Mon Aug 13 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.3.b2
900f19
- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111,
900f19
134, 153, 160; regenenerate autotools patch; rework systemtap patch to work
900f19
correctly when LANG=C (patch 55); importlib.test was moved to
900f19
test.test_importlib upstream
900f19
900f19
* Mon Aug 13 2012 Karsten Hopp <karsten@redhat.com> 3.3.0-0.2.b1
900f19
- disable some failing checks on PPC* (rhbz#846849)
900f19
900f19
* Fri Aug  3 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.1.b1
900f19
- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3
900f19
- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream
900f19
patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from
900f19
configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326);
900f19
"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped
900f19
for stdlib (upstream issues 10645 and 12218); email/test moved to
900f19
test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add
900f19
_decimal and _lzma modules; make collections modules explicit in payload again
900f19
(upstream issue 11085); add _testbuffer module to tests subpackage (added in
900f19
upstream commit 3f9b3b6f7ff0); fix test failures (patches 160 and 161);
900f19
workaround erroneously shared _sysconfigdata.py upstream issue #14774; fix
900f19
distutils.sysconfig traceback (patch 162); add BuildRequires: xz-devel (for
900f19
_lzma module); skip some tests within test_socket (patch 163)
900f19
900f19
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.3-11
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
900f19
900f19
* Fri Jul 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.1.b1
900f19
900f19
* Fri Jun 22 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-10
900f19
- use macro for power64 (rhbz#834653)
900f19
900f19
* Mon Jun 18 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-9
900f19
- fix missing include in uid/gid handling patch (patch 157; rhbz#830405)
900f19
900f19
* Wed May 30 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 3.2.3-8
900f19
- fix tapset for debug build
900f19
900f19
* Tue May 15 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-7
900f19
- update uid/gid handling to avoid int overflows seen with uid/gid
900f19
values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470)
900f19
900f19
* Fri May  4 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-6
900f19
- renumber autotools patch from 300 to 5000
900f19
- specfile cleanups
900f19
900f19
* Mon Apr 30 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-5
900f19
- fix test_gdb.py (patch 156; rhbz#817072)
900f19
900f19
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-4
900f19
- avoid allocating thunks in ctypes unless absolutely necessary, to avoid
900f19
generating SELinux denials on "import ctypes" and "import uuid" when embedding
900f19
Python within httpd (patch 155; rhbz#814391)
900f19
900f19
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-3
900f19
- add explicit version requirements on expat to avoid linkage problems with
900f19
XML_SetHashSalt
900f19
900f19
* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-2
900f19
- fix test_gdb (patch 153)
900f19
900f19
* Wed Apr 11 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
900f19
- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic
900f19
values), 149 (__pycache__ fix); add patch 152 (test_gdb regex)
900f19
900f19
* Thu Feb  9 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.2.2-13
900f19
- use newly installed python for byte compiling (now for real)
900f19
900f19
* Sun Feb  5 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.2.2-12
900f19
- use newly installed python for byte compiling (#787498)
900f19
900f19
* Wed Jan  4 2012 Ville Skyttä <ville.skytta@iki.fi> - 3.2.2-11
900f19
- Build with $RPM_LD_FLAGS (#756863).
900f19
- Use xz-compressed source tarball.
900f19
900f19
* Wed Dec 07 2011 Karsten Hopp <karsten@redhat.com> 3.2.2-10
900f19
- disable rAssertAlmostEqual in test_cmath on PPC (#750811)
900f19
900f19
* Mon Oct 17 2011 Rex Dieter <rdieter@fedoraproject.org> - 3.2.2-9
900f19
- python3-devel missing autogenerated pkgconfig() provides (#746751)
900f19
900f19
* Mon Oct 10 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-8
900f19
- cherrypick fix for distutils not using __pycache__ when byte-compiling
900f19
files (rhbz#722578)
900f19
900f19
* Fri Sep 30 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-7
900f19
- re-enable gdbm (patch 148; rhbz#742242)
900f19
900f19
* Fri Sep 16 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-6
900f19
- add a sys._debugmallocstats() function (patch 147)
900f19
900f19
* Wed Sep 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-5
900f19
- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and
900f19
_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146)
900f19
900f19
* Tue Sep 13 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-4
900f19
- disable gdbm module to prepare for gdbm soname bump
900f19
900f19
* Mon Sep 12 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-3
900f19
- renumber and rename patches for consistency with python.spec (8 to 55, 106
900f19
to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143)
900f19
900f19
* Sat Sep 10 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-2
900f19
- rewrite of "check", introducing downstream-only hooks for skipping specific
900f19
cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more
900f19
fine-grained manner than before; (patches 106, 133-142 sparsely, moving
900f19
patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141)
900f19
900f19
* Tue Sep  6 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-1
900f19
- 3.2.2
900f19
900f19
* Thu Sep  1 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-7
900f19
- run selftests with "--verbose"
900f19
- disable parts of test_io on ppc (rhbz#732998)
900f19
900f19
* Wed Aug 31 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-6
900f19
- use "--findleaks --verbose3" when running test suite
900f19
900f19
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-5
900f19
- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit
900f19
ppc to avoid aliasing violations (patch 130; rhbz#698726)
900f19
900f19
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-4
900f19
- don't use --with-tsc on ppc64 debug builds (rhbz#698726)
900f19
900f19
* Thu Aug 18 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-3
900f19
- add %%python3_version to the rpm macros (rhbz#719082)
900f19
900f19
* Mon Jul 11 2011 Dennis Gilmore <dennis@ausil.us> - 3.2.1-2
900f19
- disable some tests on sparc arches
900f19
900f19
* Mon Jul 11 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-1
900f19
- 3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling
900f19
of static library build (due to Modules/_testembed; patch 6), autotool
900f19
intermediates (patch 300)
900f19
900f19
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-5
900f19
- use the gdb hooks from the upstream tarball, rather than keeping our own copy
900f19
900f19
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-4
900f19
- don't run test_openpty and test_pty in %%check
900f19
900f19
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-3
900f19
- cleanup of BuildRequires; add comment headings to specfile sections
900f19
900f19
* Tue Apr 19 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-2
900f19
- fix the libpython.stp systemtap tapset (rhbz#697730)
900f19
900f19
* Mon Feb 21 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-1
900f19
- 3.2
900f19
- drop alphatag
900f19
- regenerate autotool patch
900f19
900f19
* Mon Feb 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.13.rc3
900f19
- add a /usr/bin/python3-debug symlink within the debug subpackage
900f19
900f19
* Mon Feb 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.12.rc3
900f19
- 3.2rc3
900f19
- regenerate autotool patch
900f19
900f19
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-0.11.rc2
900f19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
900f19
900f19
* Mon Jan 31 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.10.rc2
900f19
- 3.2rc2
900f19
900f19
* Mon Jan 17 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.9.rc1
900f19
- 3.2rc1
900f19
- rework patch 6 (static lib removal)
900f19
- remove upstreamed patch 130 (ppc debug build)
900f19
- regenerate patch 300 (autotool intermediates)
900f19
- updated packaging to reflect upstream rewrite of "Demo" (issue 7962)
900f19
- added libpython3.so and 2to3-3.2
900f19
900f19
* Wed Jan  5 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.8.b2
900f19
- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker
900f19
error with dynamic annotations (when configured using --with-valgrind)
900f19
- fix the ppc build of the debug configuration (patch 130; rhbz#661510)
900f19
900f19
* Tue Jan  4 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.7.b2
900f19
- add --with-valgrind to configuration (on architectures that support this)
900f19
900f19
* Wed Dec 29 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.6.b2
900f19
- work around test_subprocess failure seen in koji (patch 129)
900f19
900f19
* Tue Dec 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.b2
900f19
- 3.2b2
900f19
- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs),
900f19
patch 8 (systemtap), patch 102 (lib64)
900f19
- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149),
900f19
patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar
900f19
fixed upstream)
900f19
- regenerate patch 300 (autotool intermediates)
900f19
- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127,
900f19
patch 128)
900f19
- stop using runtest.sh in %%check (dropped by upstream), replacing with
900f19
regrtest; fixup list of failing tests
900f19
- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros
900f19
- rework manifests of shared libraries to use "SOABI_" macros, reflecting
900f19
PEP 3149
900f19
- drop itertools, operator and _collections modules from the manifests as py3k
900f19
commit r84058 moved these inside libpython; json/tests moved to test/json_tests
900f19
- move turtle code into the tkinter subpackage
900f19
900f19
* Wed Nov 17 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.a1
900f19
- fix sysconfig to not rely on the -devel subpackage (rhbz#653058)
900f19
900f19
* Thu Sep  9 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.4.a1
900f19
- move most of the content of the core package to the libs subpackage, given
900f19
that the libs aren't meaningfully usable without the standard libraries
900f19
900f19
* Wed Sep  8 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.3.a1
900f19
- Move test.support to core package (rhbz#596258)
900f19
- Add various missing __pycache__ directories to payload
900f19
900f19
* Sun Aug 22 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.2-0.2.a1
900f19
- Add __pycache__ directory for site-packages
900f19
900f19
* Sun Aug 22 2010 Thomas Spura <tomspur@fedoraproject.org> - 3.2-0.1.a1
900f19
- on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch)
900f19
- make find-provides-without-python-sonames.sh 64bit aware
900f19
900f19
* Sat Aug 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.0.a1
900f19
- 3.2a1; add alphatag
900f19
- rework %%files in the light of PEP 3147 (__pycache__)
900f19
- drop our configuration patch to Setup.dist (patch 0): setup.py should do a
900f19
better job of things, and the %%files explicitly lists our modules (r82746
900f19
appears to break the old way of doing things).  This leads to various modules
900f19
changing from "foomodule.so" to "foo.so".  It also leads to the optimized build
900f19
dropping the _sha1, _sha256 and _sha512 modules, but these are provided by
900f19
_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for
900f19
testing/devel purposes)
900f19
- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase
900f19
- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat
900f19
plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983)
900f19
- add machinery for rebuilding "configure" and friends, using the correct
900f19
version of autoconf (patch 300)
900f19
- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125)
900f19
- "modulator" was removed upstream
900f19
- drop "-b" from patch applications affecting .py files to avoid littering the
900f19
installation tree
900f19
900f19
* Thu Aug 19 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.1.2-13
900f19
- Turn on computed-gotos.
900f19
- Fix for parallel make and graminit.c
900f19
900f19
* Fri Jul  2 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-12
900f19
- rebuild
900f19
900f19
* Fri Jul  2 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-11
900f19
- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to
900f19
a segfault running test_pyexpat.py (patch 110; upstream issue 9054; rhbz#610312)
900f19
900f19
* Fri Jun  4 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-10
900f19
- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819)
900f19
- reformat whitespace in audioop.c (patch 106)
900f19
- CVE-2010-1634: fix various integer overflow checks in the audioop
900f19
module (patch 107)
900f19
- CVE-2010-2089: further checks within the audioop module (patch 108)
900f19
- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 109)
900f19
900f19
* Thu May 27 2010 Dan Horák <dan[at]danny.cz> - 3.1.2-9
900f19
- reading the timestamp counter is available only on some arches (see Python/ceval.c)
900f19
900f19
* Wed May 26 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-8
900f19
- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os")
900f19
(patch 105)
900f19
900f19
* Tue May 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-7
900f19
- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options
900f19
(patch 104); enable them and the WITH_TSC option within the debug build
900f19
900f19
* Mon May 24 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-6
900f19
- build and install two different configurations of Python 3: debug and
900f19
standard, packaging the debug build in a new "python3-debug" subpackage
900f19
(patch 103)
900f19
900f19
* Tue Apr 13 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-5
900f19
- exclude test_http_cookies when running selftests, due to hang seen on
900f19
http://koji.fedoraproject.org/koji/taskinfo?taskID=2088463 (cancelled after
900f19
11 hours)
900f19
- update python-gdb.py from v5 to py3k version submitted upstream
900f19
900f19
* Wed Mar 31 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-4
900f19
- update python-gdb.py from v4 to v5 (improving performance and stability,
900f19
adding commands)
900f19
900f19
* Thu Mar 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-3
900f19
- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference
900f19
cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets
900f19
and exceptions)
900f19
900f19
* Wed Mar 24 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-2
900f19
- refresh gdb hooks to v3 (reworking how they are packaged)
900f19
900f19
* Sun Mar 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-1
900f19
- update to 3.1.2: http://www.python.org/download/releases/3.1.2/
900f19
- drop upstreamed patch 2 (.pyc permissions handling)
900f19
- drop upstream patch 5 (fix for the test_tk and test_ttk_* selftests)
900f19
- drop upstreamed patch 200 (path-fixing script)
900f19
900f19
* Sat Mar 20 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-28
900f19
- fix typo in libpython.stp (rhbz:575336)
900f19
900f19
* Fri Mar 12 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-27
900f19
- add pyfuntop.stp example (source 7)
900f19
- convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for
900f19
consistency with python.spec
900f19
900f19
* Mon Feb 15 2010 Thomas Spura <tomspur@fedoraproject.org> - 3.1.1-26
900f19
- rebuild for new package of redhat-rpm-config (rhbz:564527)
900f19
- use 'install -p' when running 'make install'
900f19
900f19
* Fri Feb 12 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-25
900f19
- split configure options into multiple lines for easy of editing
900f19
- add systemtap static markers (wcohen, mjw, dmalcolm; patch 8), a systemtap
900f19
tapset defining "python.function.entry" and "python.function.return" to make
900f19
the markers easy to use (dmalcolm; source 5), and an example of using the
900f19
tapset to the docs (dmalcolm; source 6) (rhbz:545179)
900f19
900f19
* Mon Feb  8 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-24
900f19
- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to
900f19
%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from
900f19
ldconfig (bug 562980), and which should also ensure it becomes part of the
900f19
debuginfo subpackage, rather than the libs subpackage
900f19
- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream
900f19
configure script, and to avoid fragile scripts that try to figure this out
900f19
dynamically (e.g. for the -gdb.py change)
900f19
900f19
* Mon Feb  8 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-23
900f19
- add gdb hooks for easier debugging (Source 4)
900f19
900f19
* Thu Jan 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-22
900f19
- update python-3.1.1-config.patch to remove downstream customization of build
900f19
of pyexpat and elementtree modules
900f19
- add patch adapted from upstream (patch 7) to add support for building against
900f19
system expat; add --with-system-expat to "configure" invocation
900f19
- remove embedded copies of expat and zlib from source tree during "prep"
900f19
900f19
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-21
900f19
- introduce %%{dynload_dir} macro
900f19
- explicitly list all lib-dynload files, rather than dynamically gathering the
900f19
payload into a temporary text file, so that we can be sure what we are
900f19
shipping
900f19
- introduce a macros.pybytecompile source file, to help with packaging python3
900f19
modules (Source3; written by Toshio)
900f19
- rename "2to3-3" to "python3-2to3" to better reflect python 3 module packaging
900f19
plans
900f19
900f19
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-20
900f19
- change python-3.1.1-config.patch to remove our downstream change to curses
900f19
configuration in Modules/Setup.dist, so that the curses modules are built using
900f19
setup.py with the downstream default (linking against libncursesw.so, rather
900f19
than libncurses.so), rather than within the Makefile; add a test to %%install
900f19
to verify the dso files that the curses module is linked against the correct
900f19
DSO (bug 539917; changes _cursesmodule.so -> _curses.so)
900f19
900f19
* Fri Jan 22 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-19
900f19
- add %%py3dir macro to macros.python3 (to be used during unified python 2/3
900f19
builds for setting up the python3 copy of the source tree)
900f19
900f19
* Wed Jan 20 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-18
900f19
- move lib2to3 from -tools subpackage to main package (bug 556667)
900f19
900f19
* Sun Jan 17 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-17
900f19
- patch Makefile.pre.in to avoid building static library (patch 6, bug 556092)
900f19
900f19
* Fri Jan 15 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-16
900f19
- use the %%{_isa} macro to ensure that the python-devel dependency on python
900f19
is for the correct multilib arch (#555943)
900f19
- delete bundled copy of libffi to make sure we use the system one
900f19
900f19
* Fri Jan 15 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-15
900f19
- fix the URLs output by pydoc so they point at python.org's 3.1 build of the
900f19
docs, rather than the 2.6 build
900f19
900f19
* Wed Jan 13 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-14
900f19
- replace references to /usr with %%{_prefix}; replace references to
900f19
/usr/include with %%{_includedir} (Toshio)
900f19
900f19
* Mon Jan 11 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-13
900f19
- fix permission on find-provides-without-python-sonames.sh from 775 to 755
900f19
900f19
* Mon Jan 11 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-12
900f19
- remove build-time requirements on tix and tk, since we already have
900f19
build-time requirements on the -devel subpackages for each of these (Thomas
900f19
Spura)
900f19
- replace usage of %%define with %%global (Thomas Spura)
900f19
- remove forcing of CC=gcc as this old workaround for bug 109268 appears to
900f19
longer be necessary
900f19
- move various test files from the "tools"/"tkinter" subpackages to the "test"
900f19
subpackage
900f19
900f19
* Thu Jan  7 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-11
900f19
- add %%check section (thanks to Thomas Spura)
900f19
- update patch 4 to use correct shebang line
900f19
- get rid of stray patch file from buildroot
900f19
900f19
* Tue Nov 17 2009 Andrew McNabb <amcnabb@mcnabbs.org> - 3.1.1-10
900f19
- switched a few instances of "find |xargs" to "find -exec" for consistency.
900f19
- made the description of __os_install_post more accurate.
900f19
900f19
* Wed Nov  4 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-9
900f19
- add macros.python3 to the -devel subpackage, containing common macros for use
900f19
when packaging python3 modules
900f19
900f19
* Tue Nov  3 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-8
900f19
- add a provides of "python(abi)" (see bug 532118)
900f19
- fix issues identified by a.badger in package review (bug 526126, comment 39):
900f19
  - use "3" thoughout metadata, rather than "3.*"
900f19
  - remove conditional around "pkg-config openssl"
900f19
  - use standard cleanup of RPM_BUILD_ROOT
900f19
  - replace hardcoded references to /usr with _prefix macro
900f19
  - stop removing egg-info files
900f19
  - use /usr/bin/python3.1 rather than /use/bin/env python3.1 when fixing
900f19
up shebang lines
900f19
  - stop attempting to remove no-longer-present .cvsignore files
900f19
  - move the post/postun sections above the "files" sections
900f19
900f19
* Thu Oct 29 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-7
900f19
- remove commented-away patch 51 (python-2.6-distutils_rpm.patch): the -O1
900f19
flag is used by default in the upstream code
900f19
- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py
900f19
_init_posix(), so we include them in the core package, along with their parent
900f19
directories (bug 531901)
900f19
900f19
* Tue Oct 27 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-6
900f19
- reword description, based on suggestion by amcnabb
900f19
- fix the test_email and test_imp selftests (patch 3 and patch 4 respectively)
900f19
- fix the test_tk and test_ttk_* selftests (patch 5)
900f19
- fix up the specfile's handling of shebang/perms to avoid corrupting
900f19
test_httpservers.py (sed command suggested by amcnabb)
900f19
900f19
* Thu Oct 22 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-5
900f19
- fixup importlib/_bootstrap.py so that it correctly handles being unable to
900f19
open .pyc files for writing (patch 2, upstream issue 7187)
900f19
- actually apply the rpath patch (patch 1)
900f19
900f19
* Thu Oct 22 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-4
900f19
- update patch0's setup of the crypt module to link it against libcrypt
900f19
- update patch0 to comment "datetimemodule" back out, so that it is built
900f19
using setup.py (see Setup, option 3), thus linking it statically against
900f19
timemodule.c and thus avoiding a run-time "undefined symbol:
900f19
_PyTime_DoubleToTimet" failure on "import datetime"
900f19
900f19
* Wed Oct 21 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-3
900f19
- remove executable flag from various files that shouldn't have it
900f19
- fix end-of-line encodings
900f19
- fix a character encoding
900f19
900f19
* Tue Oct 20 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-2
900f19
- disable invocation of brp-python-bytecompile in postprocessing, since
900f19
it would be with the wrong version of python (adapted from ivazquez'
900f19
python3000 specfile)
900f19
- use a custom implementation of __find_provides in order to filter out bogus
900f19
provides lines for the various .so modules
900f19
- fixup distutils/unixccompiler.py to remove standard library path from rpath
900f19
(patch 1, was Patch0 in ivazquez' python3000 specfile)
900f19
- split out libraries into a -libs subpackage
900f19
- update summaries and descriptions, basing content on ivazquez' specfile
900f19
- fixup executable permissions on .py, .xpm and .xbm files, based on work in
900f19
ivazquez's specfile
900f19
- get rid of DOS batch files
900f19
- fixup permissions for shared libraries from non-standard 555 to standard 755
900f19
- move /usr/bin/python*-config to the -devel subpackage
900f19
- mark various directories as being documentation
900f19
900f19
* Thu Sep 24 2009 Andrew McNabb <amcnabb@mcnabbs.org> 3.1.1-1
900f19
- Initial package for Python 3.
900f19