Blame SPECS/python.spec

70a2d8
# SCL macros
70a2d8
%{!?scl:%global pkg_name %{name}}
70a2d8
%{?scl:%scl_package python}
70a2d8
# Turn off default SCL bytecompiling.
70a2d8
%{?scl:%global _turn_off_bytecompile 1}
70a2d8
70a2d8
70a2d8
# ==================
70a2d8
# Top-level metadata
70a2d8
# ==================
70a2d8
70a2d8
%global pybasever 3.8
70a2d8
70a2d8
# pybasever without the dot:
70a2d8
%global pyshortver 38
70a2d8
70a2d8
Name: %{?scl_prefix}python
70a2d8
Summary: Interpreter of the Python programming language
70a2d8
URL: https://www.python.org/
70a2d8
70a2d8
#  WARNING  When rebasing to a new Python version,
70a2d8
#           remember to update the python3-docs package as well
60a024
%global general_version %{pybasever}.11
70a2d8
#global prerel ...
70a2d8
%global upstream_version %{general_version}%{?prerel}
70a2d8
Version: %{general_version}%{?prerel:~%{prerel}}
60a024
Release: 2%{?dist}
70a2d8
License: Python
70a2d8
70a2d8
# ==================================
70a2d8
# Conditionals controlling the build
70a2d8
# ==================================
70a2d8
70a2d8
# Note that the bcond macros are named for the CLI option they create.
70a2d8
# "%%bcond_without" means "ENABLE by default and create a --without option"
70a2d8
70a2d8
70a2d8
# Flat package, i.e. python36, python37, python38 for tox etc.
70a2d8
# WARNING: This also influences the main_python bcond below.
70a2d8
# in Fedora, never turn this on for the python3 package
70a2d8
# and always keep it on for python37 etc.
70a2d8
# WARNING: This does not change the package name and summary above.
70a2d8
%bcond_with flatpackage
70a2d8
70a2d8
# Main Python, i.e. whether this is the main Python version in the distribution
70a2d8
# that owns /usr/bin/python3 and other unique paths
70a2d8
%bcond_with main_python
70a2d8
70a2d8
# When bootstrapping python3, we need to build setuptools.
70a2d8
# but setuptools BR python3-devel and that brings in python3-rpm-generators;
70a2d8
# python3-rpm-generators needs python3-setuptools, so we cannot have it yet.
70a2d8
#
70a2d8
# Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython
70a2d8
#
70a2d8
#   IMPORTANT: When bootstrapping, it's very likely the wheels for pip and
70a2d8
#   setuptools are not available. Turn off the rpmwheels bcond until
70a2d8
#   the two packages are built with wheels to get around the issue.
70a2d8
%bcond_with bootstrap
70a2d8
70a2d8
# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package
70a2d8
# Uses upstream bundled prebuilt wheels otherwise
70a2d8
%bcond_without rpmwheels
70a2d8
70a2d8
# Expensive optimizations (mainly, profile-guided optimizations)
70a2d8
%bcond_without optimizations
70a2d8
70a2d8
# Run the test suite in %%check
70a2d8
%bcond_without tests
70a2d8
70a2d8
# Extra build for debugging the interpreter or C-API extensions
70a2d8
# (the -debug subpackages)
70a2d8
%if %{with flatpackage}
70a2d8
%bcond_with debug_build
70a2d8
%else
70a2d8
%bcond_without debug_build
70a2d8
%endif
70a2d8
70a2d8
# Support for the GDB debugger
70a2d8
%bcond_without gdb_hooks
70a2d8
70a2d8
# The dbm.gnu module (key-value database)
70a2d8
%bcond_without gdbm
70a2d8
70a2d8
# Main interpreter loop optimization
70a2d8
%bcond_without computed_gotos
70a2d8
70a2d8
# Support for the Valgrind debugger/profiler
70a2d8
%ifarch %{valgrind_arches}
70a2d8
%bcond_without valgrind
70a2d8
%else
70a2d8
%bcond_with valgrind
70a2d8
%endif
70a2d8
70a2d8
70a2d8
# =====================
70a2d8
# General global macros
70a2d8
# =====================
70a2d8
70a2d8
# SCL
70a2d8
# We want to byte-compile the .py files within the packages using the new
70a2d8
# python3 binary.
70a2d8
#
70a2d8
# Unfortunately, rpmbuild's infrastructure requires us to jump through some
70a2d8
# hoops to avoid byte-compiling with the system python 2 version:
70a2d8
#   /usr/lib/rpm/redhat/macros sets up build policy that (amongst other things)
70a2d8
# defines __os_install_post.  In particular, "brp-python-bytecompile" is
70a2d8
# invoked without an argument thus using the wrong version of python
70a2d8
# (/usr/bin/python, rather than the freshly built python), thus leading to
70a2d8
# numerous syntax errors, and incorrect magic numbers in the .pyc files.  We
70a2d8
# thus override __os_install_post to avoid invoking this script:
70a2d8
%global __os_install_post /usr/lib/rpm/brp-%{?scl:scl-}compress %{?_scl_root}\
70a2d8
  %{!?__debug_package:/usr/lib/rpm/brp-strip %{__strip}} \
70a2d8
  /usr/lib/rpm/brp-strip-static-archive %{__strip} \
70a2d8
  /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} \
70a2d8
  /usr/lib/rpm/redhat/brp-python-hardlink
70a2d8
# to remove the invocation of brp-python-bytecompile, whilst keeping the
70a2d8
# invocation of brp-python-hardlink (since this should still work for python3
70a2d8
# pyc/pyo files)
70a2d8
70a2d8
# SCL:
70a2d8
%if %{without bootstrap}
70a2d8
BuildRequires: %{?scl_prefix}python-rpm-macros
70a2d8
%else
70a2d8
# These two macros are defined in the `macros.python3` file, part of python-devel.
70a2d8
# We define them here as well so they are available when building Python
70a2d8
# itself, as Python does not have a BuildRequires on the `python-devel` package
70a2d8
# and thus it's not part of its buildroot.
70a2d8
# Adding a build-time dependency on `python-devel` was contemplated but decided
70a2d8
# against because it could create hard-to-debug issues: python-devel installs
70a2d8
# header files into the buildroot which could be then mistakenly used during
70a2d8
# the building of a newer Python version if there is a bug in the build
70a2d8
# scripts.
70a2d8
# Note that the macros point to a file in the buildroot which will already be
70a2d8
# copied there by the time this macros are invoked in %%__os_install_post.
70a2d8
%{?scl:%global python38_python_provides %{buildroot}%{_root_prefix}/lib/rpm/pythondeps-scl-38.sh --provides %{scl}-}
70a2d8
%{?scl:%global python38_python_requires %{buildroot}%{_root_prefix}/lib/rpm/pythondeps-scl-38.sh --requires %{scl}-}
70a2d8
%endif
70a2d8
70a2d8
70a2d8
# Set python3_pkgversion so that python_provide macro works for python38-
70a2d8
# prefixes in this spec file
70a2d8
# This is also set in the python38-rpm-macros package so that it works in other
70a2d8
# packages of this module.
70a2d8
%global python3_pkgversion 38
70a2d8
70a2d8
%global pylibdir %{_libdir}/python%{pybasever}
70a2d8
%global dynload_dir %{pylibdir}/lib-dynload
70a2d8
70a2d8
# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac
70a2d8
# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/
70a2d8
%global ABIFLAGS_optimized %{nil}
70a2d8
%global ABIFLAGS_debug     d
70a2d8
70a2d8
%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
70a2d8
%global LDVERSION_debug     %{pybasever}%{ABIFLAGS_debug}
70a2d8
70a2d8
%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}-%{_arch}-linux%{_gnu}
70a2d8
%global SOABI_debug     cpython-%{pyshortver}%{ABIFLAGS_debug}-%{_arch}-linux%{_gnu}
70a2d8
70a2d8
# All bytecode files are in a __pycache__ subdirectory, with a name
70a2d8
# reflecting the version of the bytecode.
70a2d8
# See PEP 3147: http://www.python.org/dev/peps/pep-3147/
70a2d8
# For example,
70a2d8
#   foo/bar.py
70a2d8
# has bytecode at:
70a2d8
#   foo/__pycache__/bar.cpython-%%{pyshortver}.pyc
70a2d8
#   foo/__pycache__/bar.cpython-%%{pyshortver}.opt-1.pyc
70a2d8
#   foo/__pycache__/bar.cpython-%%{pyshortver}.opt-2.pyc
70a2d8
%global bytecode_suffixes .cpython-%{pyshortver}*.pyc
70a2d8
70a2d8
# Python's configure script defines SOVERSION, and this is used in the Makefile
70a2d8
# to determine INSTSONAME, the name of the libpython DSO:
70a2d8
#   LDLIBRARY='libpython$(VERSION).so'
70a2d8
#   INSTSONAME="$LDLIBRARY".$SOVERSION
70a2d8
# We mirror this here in order to make it easier to add the -gdb.py hooks.
70a2d8
# (if these get out of sync, the payload of the libs subpackage will fail
70a2d8
# and halt the build)
70a2d8
%global py_SOVERSION %{scl}-1.0
70a2d8
%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION}
70a2d8
%global py_INSTSONAME_debug     libpython%{LDVERSION_debug}.so.%{py_SOVERSION}
70a2d8
70a2d8
# Disable automatic bytecompilation. The python3 binary is not yet be
70a2d8
# available in /usr/bin when Python is built. Also, the bytecompilation fails
70a2d8
# on files that test invalid syntax.
70a2d8
%undefine py_auto_byte_compile
70a2d8
70a2d8
# For multilib support, files that are different between 32- and 64-bit arches
70a2d8
# need different filenames. Use "64" or "32" according to the word size.
70a2d8
# Currently, the best way to determine an architecture's word size happens to
70a2d8
# be checking %%{_lib}.
70a2d8
%if "%{_lib}" == "lib64"
70a2d8
%global wordsize 64
70a2d8
%else
70a2d8
%global wordsize 32
70a2d8
%endif
70a2d8
70a2d8
70a2d8
# =======================
70a2d8
# Build-time requirements
70a2d8
# =======================
70a2d8
70a2d8
# (keep this list alphabetized)
70a2d8
70a2d8
%{?scl:BuildRequires: %{scl}-runtime}
70a2d8
BuildRequires: autoconf
70a2d8
BuildRequires: bluez-libs-devel
70a2d8
BuildRequires: bzip2
70a2d8
BuildRequires: bzip2-devel
70a2d8
BuildRequires: desktop-file-utils
70a2d8
BuildRequires: expat-devel
70a2d8
70a2d8
BuildRequires: findutils
70a2d8
70a2d8
# SCL: build with gcc from devtoolset SCL
70a2d8
# Update to new devtoolset version if necessary
70a2d8
%global dts devtoolset-9
70a2d8
BuildRequires: %{dts}-gcc-c++
70a2d8
# BuildRequires: gcc-c++
70a2d8
70a2d8
%if %{with gdbm}
70a2d8
BuildRequires: gdbm-devel
70a2d8
%endif
70a2d8
# BuildRequires: glibc-all-langpacks - SCL: Disabled
70a2d8
BuildRequires: glibc-devel
70a2d8
BuildRequires: gmp-devel
70a2d8
BuildRequires: libappstream-glib
70a2d8
BuildRequires: libffi-devel
70a2d8
# BuildRequires: libnsl2-devel - SCL: Disabled
70a2d8
BuildRequires: libtirpc-devel
70a2d8
BuildRequires: libGL-devel
70a2d8
BuildRequires: libuuid-devel
70a2d8
BuildRequires: libX11-devel
70a2d8
BuildRequires: ncurses-devel
70a2d8
70a2d8
BuildRequires: openssl-devel
70a2d8
BuildRequires: pkgconfig
70a2d8
BuildRequires: readline-devel
70a2d8
BuildRequires: redhat-rpm-config
70a2d8
BuildRequires: sqlite-devel
70a2d8
BuildRequires: gdb
70a2d8
70a2d8
BuildRequires: tar
70a2d8
BuildRequires: tcl-devel
70a2d8
BuildRequires: tix-devel
70a2d8
BuildRequires: tk-devel
70a2d8
70a2d8
%if %{with valgrind}
70a2d8
BuildRequires: valgrind-devel
70a2d8
%endif
70a2d8
70a2d8
BuildRequires: xz-devel
70a2d8
BuildRequires: zlib-devel
70a2d8
70a2d8
BuildRequires: /usr/bin/dtrace
70a2d8
70a2d8
# workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig)
70a2d8
# SCL: changed from file name to package name
70a2d8
BuildRequires: net-tools
70a2d8
70a2d8
%if %{with rpmwheels}
70a2d8
BuildRequires: %{?scl_prefix}python-setuptools-wheel
70a2d8
BuildRequires: %{?scl_prefix}python-pip-wheel
70a2d8
%endif
70a2d8
70a2d8
%if %{without bootstrap}
70a2d8
# for make regen-all and distutils.tests.test_bdist_rpm
70a2d8
BuildRequires: %{?scl_prefix}python
70a2d8
%endif
70a2d8
70a2d8
# =======================
70a2d8
# Source code and patches
70a2d8
# =======================
70a2d8
70a2d8
Source0: %{url}ftp/python/%{general_version}/Python-%{upstream_version}.tar.xz
70a2d8
70a2d8
# A simple script to check timestamps of bytecode files
70a2d8
# Run in check section with Python that is currently being built
70a2d8
# Originally written by bkabrda
70a2d8
Source8: check-pyc-timestamps.py
70a2d8
70a2d8
# Desktop menu entry for idle3
70a2d8
Source10: idle3.desktop
70a2d8
70a2d8
# AppData file for idle3
70a2d8
Source11: idle3.appdata.xml
70a2d8
70a2d8
# SCL-custom version of pythondeps.sh
70a2d8
# Append 36 to not collide with python27 SCL
70a2d8
Source20: pythondeps-scl-38.sh
70a2d8
# SCL:
70a2d8
# Append 36 for the same reason here
70a2d8
Source21: brp-python-bytecompile-with-scl-python-38
70a2d8
# SCL:
70a2d8
# Supply an RPM macro "py_byte_compile" for the python3-devel subpackage
70a2d8
# to enable specfiles to selectively byte-compile individual files and paths
70a2d8
# with different Python runtimes as necessary:
70a2d8
Source22: macros.pybytecompile
70a2d8
# SCL:
70a2d8
# Supply various useful macros for building python 3 modules:
70a2d8
#  __python3, python3_sitelib, python3_sitearch
70a2d8
Source23: macros.python3
70a2d8
Source24: macros.python-scl
70a2d8
Source25: macros.python-srpm
70a2d8
70a2d8
70a2d8
70a2d8
# 00001 #
70a2d8
# Fixup distutils/unixccompiler.py to remove standard library path from rpath:
70a2d8
# Was Patch0 in ivazquez' python3000 specfile:
70a2d8
Patch1:         00001-rpath.patch
70a2d8
70a2d8
# 00102 #
70a2d8
# Change the various install paths to use /usr/lib64/ instead or /usr/lib
70a2d8
# Only used when "%%{_lib}" == "lib64"
70a2d8
# Not yet sent upstream.
70a2d8
Patch102: 00102-lib64.patch
70a2d8
70a2d8
# 00111 #
70a2d8
# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
70a2d8
# a libpythonMAJOR.MINOR.a
70a2d8
# See https://bugzilla.redhat.com/show_bug.cgi?id=556092
70a2d8
# Downstream only: not appropriate for upstream
70a2d8
Patch111: 00111-no-static-lib.patch
70a2d8
70a2d8
# 00189 #
70a2d8
# Instead of bundled wheels, use our RPM packaged wheels from
70a2d8
# /usr/share/python38-wheels
70a2d8
Patch189: 00189-use-rpm-wheels.patch
70a2d8
70a2d8
# 00251
70a2d8
# Set values of prefix and exec_prefix in distutils install command
70a2d8
# to /usr/local if executable is /usr/bin/python* and RPM build
70a2d8
# is not detected to make pip and distutils install into separate location
70a2d8
# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
70a2d8
#
70a2d8
# SCL: This patch contains hardcoded location for /usr/local that needed to be
70a2d8
# modified for SCLs: the `PREFIXES.insert` variable now contains a hardcoded
70a2d8
# path to /usr/local inside the SCL root folder
70a2d8
Patch251: 00251-change-user-install-location.patch
70a2d8
70a2d8
# 00274 #
70a2d8
# Upstream uses Debian-style architecture naming. Change to match Fedora.
70a2d8
Patch274: 00274-fix-arch-names.patch
70a2d8
70a2d8
# 00300 #
70a2d8
# Traditional SCL patch to change so version
70a2d8
# Downstream only
70a2d8
Patch300: 00300-change-so-version-scl.patch
70a2d8
70a2d8
# 00328 #
70a2d8
# Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild
70a2d8
# See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
70a2d8
Patch328: 00328-pyc-timestamp-invalidation-mode.patch
70a2d8
70a2d8
# 00329 #
70a2d8
# Support OpenSSL FIPS mode
70a2d8
# - Fallback implementations md5, sha1, sha256, sha512 are removed in favor of OpenSSL wrappers
70a2d8
# - In FIPS mode, OpenSSL wrappers are always used in hashlib
70a2d8
# - add a new "usedforsecurity" keyword argument to the various digest
70a2d8
#   algorithms in hashlib so that you can whitelist a callsite with
70a2d8
#   "usedforsecurity=False"
70a2d8
#   The change has been implemented upstream since Python 3.9:
70a2d8
#   https://bugs.python.org/issue9216
70a2d8
# - OpenSSL wrappers for the hashes blake2{b512,s256},
70a2d8
#     sha3_{224,256,384,512}, shake_{128,256} are now exported from _hashlib
70a2d8
# - In FIPS mode, the blake2, sha3 and shake hashes use OpenSSL wrappers
70a2d8
#   and do not offer extended functionality (keys, tree hashing, custom digest size)
70a2d8
# - In FIPS mode, hmac.HMAC can only be instantiated with an OpenSSL wrapper
70a2d8
#   or an string with OpenSSL hash name as the "digestmod" argument.
70a2d8
#   The argument must be specified (instead of defaulting to ‘md5’).
70a2d8
#
70a2d8
# Resolves: rhbz#1817494
70a2d8
Patch329: 00329-fips.patch
70a2d8
60a024
# 00359 #
60a024
# CVE-2021-23336 python: Web Cache Poisoning via urllib.parse.parse_qsl and
60a024
# urllib.parse.parse_qs by using a semicolon in query parameters
60a024
# Upstream: https://bugs.python.org/issue42967
60a024
# Main BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1928904
60a024
Patch359: 00359-CVE-2021-23336.patch
60a024
60a024
# 00365 #
60a024
# CVE-2021-29921: Improper input validation of octal strings in the ipaddress module
60a024
# Upstream: https://bugs.python.org/issue36384
60a024
# Main bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1957458
60a024
Patch365: 00365-CVE-2021-29921.patch
60a024
70a2d8
# (New patches go here ^^^)
70a2d8
#
70a2d8
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
70a2d8
# please try to keep the patch numbers in-sync between all specfiles.
70a2d8
#
70a2d8
# More information, and a patch number catalog, is at:
70a2d8
#
70a2d8
#     https://fedoraproject.org/wiki/SIGs/Python/PythonPatches
70a2d8
#
70a2d8
# The patches are stored and rebased at:
70a2d8
#
70a2d8
#     https://github.com/fedora-python/cpython
70a2d8
70a2d8
70a2d8
# ==========================================
70a2d8
# Descriptions, and metadata for subpackages
70a2d8
# ==========================================
70a2d8
70a2d8
# People might want to dnf install pythonX.Y instead of pythonXY;
70a2d8
# we enable this in both flat and nonflat package.
70a2d8
Provides: %{?scl_prefix}python%{pybasever} = %{version}-%{release}
70a2d8
# SCL: Let's also provide python3
70a2d8
Provides: %{?scl_prefix}python3 = %{version}-%{release}
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
70a2d8
# Packages with Python modules in standard locations automatically
70a2d8
# depend on python(abi). Provide that here.
70a2d8
Provides: %{?scl_prefix}python(abi) = %{pybasever}
70a2d8
70a2d8
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
70a2d8
70a2d8
# In order to support multiple Python interpreters for development purposes,
70a2d8
# packages with the naming scheme flatpackage (e.g. python35) exist for
70a2d8
# non-default versions of Python 3.
70a2d8
# For consistency, and to keep the upgrade path clean, we Provide/Obsolete
70a2d8
# these names here.
70a2d8
Provides: %{?scl_prefix}python%{pyshortver} = %{version}-%{release}
70a2d8
70a2d8
%if %{with main_python}
70a2d8
# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package
70a2d8
# https://fedoraproject.org/wiki/Changes/Python_means_Python3
70a2d8
# We recommend /usr/bin/python so users get it by default
70a2d8
# Versioned recommends are problematic, and we know that the package requires
70a2d8
# python3 back with fixed version, so we just use the path here:
70a2d8
Recommends: %{_bindir}/python
70a2d8
%endif
70a2d8
70a2d8
# In Fedora 31, /usr/bin/pydoc was moved here from Python 2.
70a2d8
# Ideally we'd have an explicit conflict with "/usr/bin/pydoc < 3",
70a2d8
# but file provides aren't versioned and the file moved across packages.
70a2d8
# Instead, we rely on the conflict in python3-libs.
70a2d8
70a2d8
%if %{without bootstrap}
70a2d8
# Previously, this was required for our rewheel patch to work.
70a2d8
# This is technically no longer needed, but we keep it recommended
70a2d8
# for the developer experience.
70a2d8
# SCL: Recommends tags don't work on RHEL7 and so:
70a2d8
# SCL: Changed from Recommends to Requires
70a2d8
Requires: %{?scl_prefix}python-setuptools
70a2d8
# SCL: Disabled this Recommends
70a2d8
# Recommends: %{?scl_prefix}python-pip
70a2d8
%endif
70a2d8
70a2d8
# This prevents ALL subpackages built from this spec to require
70a2d8
# /usr/bin/python3*. Granularity per subpackage is impossible.
70a2d8
# It's intended for the libs package not to drag in the interpreter, see
70a2d8
# https://bugzilla.redhat.com/show_bug.cgi?id=1547131
70a2d8
# All others require %%{name} anyway.
70a2d8
%global __requires_exclude ^/usr/bin/python3
70a2d8
70a2d8
70a2d8
# The description used both for the SRPM and the main `python3` subpackage:
70a2d8
%description
70a2d8
Python is an accessible, high-level, dynamically typed, interpreted programming
70a2d8
language, designed with an emphasis on code readability.
70a2d8
It includes an extensive standard library, and has a vast ecosystem of
70a2d8
third-party libraries.
70a2d8
70a2d8
The %{name} package provides the "python3" executable: the reference
70a2d8
interpreter for the Python language, version 3.
70a2d8
The majority of its standard library is provided in the %{name}-libs package,
70a2d8
which should be installed automatically along with %{name}.
70a2d8
The remaining parts of the Python standard library are broken out into the
70a2d8
%{name}-tkinter and %{name}-test packages, which may need to be installed
70a2d8
separately.
70a2d8
70a2d8
Documentation for Python is provided in the %{name}-docs package.
70a2d8
70a2d8
Packages containing additional libraries for Python are generally named with
70a2d8
the "%{name}-" prefix.
70a2d8
70a2d8
70a2d8
%if %{with main_python}
70a2d8
# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package
70a2d8
# https://fedoraproject.org/wiki/Changes/Python_means_Python3
70a2d8
%package -n python-unversioned-command
70a2d8
Summary: The "python" command that runs Python 3
70a2d8
BuildArch: noarch
70a2d8
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
# In theory this could require any python3 version
70a2d8
Requires: python3 == %{version}-%{release}
70a2d8
# But since we want to provide versioned python, we require exact version
70a2d8
Provides: python = %{version}-%{release}
70a2d8
# This also save us an explicit conflict for older python3 builds
70a2d8
70a2d8
%description -n python-unversioned-command
70a2d8
This package contains /usr/bin/python - the "python" command that runs Python 3.
70a2d8
70a2d8
%endif # with main_python
70a2d8
70a2d8
70a2d8
%package libs
70a2d8
Summary:        Python runtime libraries
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
%if %{with rpmwheels}
70a2d8
Requires: %{?scl_prefix}python-setuptools-wheel
70a2d8
Requires: %{?scl_prefix}python-pip-wheel
70a2d8
%else
70a2d8
Provides: bundled(%{?scl_prefix}python-pip) = 19.2.3
70a2d8
Provides: bundled(%{?scl_prefix}python-setuptools) = 41.2.0
70a2d8
%endif
70a2d8
70a2d8
# There are files in the standard library that have python shebang.
70a2d8
# We've filtered the automatic requirement out so libs are installable without
70a2d8
# the main package. This however makes it pulled in by default.
70a2d8
# See https://bugzilla.redhat.com/show_bug.cgi?id=1547131
70a2d8
# SCL: Changed from Recommends to Requires
70a2d8
Requires: %{name}%{?_isa} = %{version}-%{release}
70a2d8
70a2d8
70a2d8
%description libs
70a2d8
This package contains runtime libraries for use by Python:
70a2d8
- the majority of the Python standard library
70a2d8
- a dynamically linked library for use by applications that embed Python as
70a2d8
  a scripting language, and by the main "python3" executable
70a2d8
70a2d8
70a2d8
%package devel
70a2d8
Summary: Libraries and header files needed for Python development
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
Requires: %{name} = %{version}-%{release}
70a2d8
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
70a2d8
# SCL: BR on python-rpm-macros moved to the macros definitions
70a2d8
Requires: %{?scl_prefix}python-rpm-macros
70a2d8
70a2d8
%if %{without bootstrap}
70a2d8
Requires: %{?scl_prefix}python-setuptools
70a2d8
%endif
70a2d8
70a2d8
# we filtered provides of pkgconfig on rhel7 so we need to manully re add them
70a2d8
Provides: %{?scl_prefix}pkgconfig(python) = %{version}-%{release}
70a2d8
Provides: %{?scl_prefix}pkgconfig(python-3.8m) = %{version}-%{release}
70a2d8
Provides: %{?scl_prefix}pkgconfig(python-3.8) = %{version}-%{release}
70a2d8
Provides: %{?scl_prefix}pkgconfig(python3) = %{version}-%{release}
70a2d8
70a2d8
# Fix for rhbz#1144601
70a2d8
Requires: scl-utils-build
70a2d8
70a2d8
%description devel
70a2d8
This package contains the header files and configuration needed to compile
70a2d8
Python extension modules (typically written in C or C++), to embed Python
70a2d8
into other programs, and to make binary distributions for Python libraries.
70a2d8
70a2d8
It also contains the necessary macros to build RPM packages with Python modules
70a2d8
and 2to3 tool, an automatic source converter from Python 2.X.
70a2d8
70a2d8
If you want to build an RPM against the python38 module, you also need to
70a2d8
install the python38-rpm-macros package.
70a2d8
70a2d8
70a2d8
%package idle
70a2d8
Summary: A basic graphical development environment for Python
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
Requires: %{name} = %{version}-%{release}
70a2d8
Requires: %{name}-tkinter = %{version}-%{release}
70a2d8
70a2d8
%description idle
70a2d8
IDLE is Python’s Integrated Development and Learning Environment.
70a2d8
70a2d8
IDLE has the following features: Python shell window (interactive
70a2d8
interpreter) with colorizing of code input, output, and error messages;
70a2d8
multi-window text editor with multiple undo, Python colorizing,
70a2d8
smart indent, call tips, auto completion, and other features;
70a2d8
search within any window, replace within editor windows, and
70a2d8
search through multiple files (grep); debugger with persistent
70a2d8
breakpoints, stepping, and viewing of global and local namespaces;
70a2d8
configuration, browsers, and other dialogs.
70a2d8
70a2d8
70a2d8
%package tkinter
70a2d8
Summary: A GUI toolkit for Python
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
Requires: %{name} = %{version}-%{release}
70a2d8
70a2d8
%description tkinter
70a2d8
The Tkinter (Tk interface) library is a graphical user interface toolkit for
70a2d8
the Python programming language.
70a2d8
70a2d8
70a2d8
%package test
70a2d8
Summary: The self-test suite for the main python3 package
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
Requires: %{name} = %{version}-%{release}
70a2d8
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
70a2d8
70a2d8
%description test
70a2d8
The self-test suite for the Python interpreter.
70a2d8
70a2d8
This is only useful to test Python itself. For testing general Python code,
70a2d8
you should use the unittest module from %{name}-libs, or a library such as
70a2d8
%{name}-pytest or %{name}-nose.
70a2d8
70a2d8
70a2d8
%if %{with debug_build}
70a2d8
%package debug
70a2d8
Summary: Debug version of the Python runtime
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
70a2d8
# The debug build is an all-in-one package version of the regular build, and
70a2d8
# shares the same .py/.pyc files and directories as the regular build. Hence
70a2d8
# we depend on all of the subpackages of the regular build:
70a2d8
Requires: %{name}%{?_isa} = %{version}-%{release}
70a2d8
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
70a2d8
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
70a2d8
Requires: %{name}-test%{?_isa} = %{version}-%{release}
70a2d8
Requires: %{name}-tkinter%{?_isa} = %{version}-%{release}
70a2d8
Requires: %{name}-idle%{?_isa} = %{version}-%{release}
70a2d8
70a2d8
# we filtered provides of pkgconfig on rhel7 so we need to manully re add them
70a2d8
Provides: %{?scl_prefix}pkgconfig(python-3.8dm) = %{version}-%{release}
70a2d8
70a2d8
%description debug
70a2d8
python38-debug provides a version of the Python runtime with numerous debugging
70a2d8
features enabled, aimed at advanced Python users such as developers of Python
70a2d8
extension modules.
70a2d8
70a2d8
This version uses more memory and will be slower than the regular Python build,
70a2d8
but is useful for tracking down reference-counting issues and other bugs.
70a2d8
70a2d8
The debug build shares installation directories with the standard Python
70a2d8
runtime. Python modules -- source (.py), bytecode (.pyc), and C-API extensions
70a2d8
(.cpython*.so) -- are compatible between this and the standard version
70a2d8
of Python.
70a2d8
70a2d8
The debug runtime additionally supports debug builds of C-API extensions
70a2d8
(with the "d" ABI flag) for debugging issues in those extensions.
70a2d8
%endif # with debug_build
70a2d8
70a2d8
%else  # with flatpackage
70a2d8
70a2d8
# We'll not provide this, on purpose
70a2d8
# No package in Fedora shall ever depend on flatpackage via this
70a2d8
%global __requires_exclude ^python\\(abi\\) = 3\\..$
70a2d8
%global __provides_exclude ^python\\(abi\\) = 3\\..$
70a2d8
70a2d8
%if %{with rpmwheels}
70a2d8
Requires: %{?scl_prefix}python-setuptools-wheel
70a2d8
Requires: %{?scl_prefix}python-pip-wheel
70a2d8
%else
70a2d8
Provides: bundled(%{?scl_prefix}python-pip) = 19.2.3
70a2d8
Provides: bundled(%{?scl_prefix}python-setuptools) = 41.2.0
70a2d8
%endif
70a2d8
70a2d8
# The description for the flat package
70a2d8
%description
70a2d8
Python %{pybasever} package for developers.
70a2d8
70a2d8
This package exists to allow developers to test their code against a newer
70a2d8
version of Python. This is not a full Python stack and if you wish to run
70a2d8
your applications with Python %{pybasever}, update your Fedora to a newer
70a2d8
version once Python %{pybasever} is stable.
70a2d8
70a2d8
%endif # with flatpackage
70a2d8
70a2d8
70a2d8
# python-rpm-macros subpackages
70a2d8
%package rpm-macros
70a2d8
Summary:    RPM macros for building RPMs with Python 3.8
70a2d8
BuildArch:  noarch
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
70a2d8
%description rpm-macros
70a2d8
RPM macros for building RPMs with Python 3.8 from the python38 module.
70a2d8
If you want to build an RPM against the python38 module, you need to
70a2d8
BuildRequire: python38-rpm-macros.
70a2d8
70a2d8
70a2d8
%package srpm-macros
70a2d8
Summary:    SRPM macros for building RPMs with Python 3.8
70a2d8
BuildArch:  noarch
70a2d8
%{?scl:Requires: %{scl}-runtime}
70a2d8
70a2d8
%description srpm-macros
70a2d8
SRPM macros for building RPMs with Python 3.8 from the python38 module.
70a2d8
These macros need to be in the minimal buildroot.
70a2d8
70a2d8
70a2d8
# ======================================================
70a2d8
# The prep phase of the build:
70a2d8
# ======================================================
70a2d8
70a2d8
%prep
70a2d8
%setup -q -n Python-%{upstream_version}
70a2d8
# Remove all exe files to ensure we are not shipping prebuilt binaries
70a2d8
# note that those are only used to create Microsoft Windows installers
70a2d8
# and that functionality is broken on Linux anyway
70a2d8
find -name '*.exe' -print -delete
70a2d8
70a2d8
# Remove bundled libraries to ensure that we're using the system copy.
70a2d8
rm -r Modules/expat
70a2d8
70a2d8
#
70a2d8
# Apply patches:
70a2d8
#
70a2d8
%patch1 -p1
70a2d8
70a2d8
%if "%{_lib}" == "lib64"
70a2d8
%patch102 -p1
70a2d8
%endif
70a2d8
%patch111 -p1
70a2d8
70a2d8
%if %{with rpmwheels}
70a2d8
%patch189 -p1
70a2d8
rm Lib/ensurepip/_bundled/*.whl
70a2d8
%endif
70a2d8
70a2d8
%patch251 -p1
70a2d8
%patch274 -p1
70a2d8
%patch328 -p1
70a2d8
%patch329 -p1
60a024
%patch359 -p1
60a024
%patch365 -p1
70a2d8
70a2d8
cat %{PATCH300} | sed -e "s/__SCL_NAME__/%{?scl}/" \
70a2d8
                | patch -p1
70a2d8
70a2d8
# Remove files that should be generated by the build
70a2d8
# (This is after patching, so that we can use patches directly from upstream)
70a2d8
rm configure pyconfig.h.in
70a2d8
70a2d8
70a2d8
# ======================================================
70a2d8
# Configuring and building the code:
70a2d8
# ======================================================
70a2d8
70a2d8
# SCL:
70a2d8
# filter pkgconfig Requires/Provides on rhel7 as filter_from doesnt work there
70a2d8
%global __provides_exclude ^pkgconfig\\(.*$
70a2d8
70a2d8
%build
70a2d8
70a2d8
# Regenerate the configure script and pyconfig.h.in
70a2d8
autoconf
70a2d8
autoheader
70a2d8
70a2d8
# Remember the current directory (which has sources and the configure script),
70a2d8
# so we can refer to it after we "cd" elsewhere.
70a2d8
topdir=$(pwd)
70a2d8
70a2d8
# Get proper option names from bconds
70a2d8
%if %{with computed_gotos}
70a2d8
%global computed_gotos_flag yes
70a2d8
%else
70a2d8
%global computed_gotos_flag no
70a2d8
%endif
70a2d8
70a2d8
%if %{with optimizations}
70a2d8
%global optimizations_flag "--enable-optimizations"
70a2d8
%else
70a2d8
%global optimizations_flag "--disable-optimizations"
70a2d8
%endif
70a2d8
70a2d8
# Set common compiler/linker flags
70a2d8
# We utilize the %%extension_...flags macros here so users building C/C++
70a2d8
# extensions with our python won't get all the compiler/linker flags used
70a2d8
# in Fedora RPMs.
70a2d8
# Standard library built here will still use the %%build_...flags,
70a2d8
# Fedora packages utilizing %%py3_build will use them as well
70a2d8
# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
70a2d8
70a2d8
# SCL: %%extension_... flags are not available in RHEL7, reverting to old flags
70a2d8
70a2d8
export CFLAGS="-I%{_includedir} $RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv"
70a2d8
export CFLAGS_NODIST="-I%{_includedir} $RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv -fno-semantic-interposition"
70a2d8
export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv"
70a2d8
export CPPFLAGS="$(pkg-config --cflags-only-I libffi)"
70a2d8
export OPT="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv"
70a2d8
export LINKCC="gcc"
70a2d8
export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)"
70a2d8
70a2d8
# Passing to the dynamic linker parameters -rpath and --enable-new-dtags causes
70a2d8
# ld to set RUNPATH instead of RPATH in the executables and libraries
70a2d8
# Setting RUNPATH resolves rhbz#1479406
70a2d8
export LDFLAGS="-L%{_libdir}$RPM_LD_FLAGS -Wl,-rpath,%{_libdir} -Wl,--enable-new-dtags -g $(pkg-config --libs-only-L openssl)"
70a2d8
export LDFLAGS_NODIST="-L%{_libdir}$RPM_LD_FLAGS -Wl,-rpath,%{_libdir} -Wl,--enable-new-dtags -fno-semantic-interposition -g $(pkg-config --libs-only-L openssl)"
70a2d8
70a2d8
# We can build several different configurations of Python: regular and debug.
70a2d8
# Define a common function that does one build:
70a2d8
BuildPython() {
70a2d8
  ConfName=$1
70a2d8
  ExtraConfigArgs=$2
70a2d8
  MoreCFlags=$3
70a2d8
70a2d8
  # Each build is done in its own directory
70a2d8
  ConfDir=build/$ConfName
70a2d8
  echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName
70a2d8
  mkdir -p $ConfDir
70a2d8
  pushd $ConfDir
70a2d8
70a2d8
  # Normally, %%configure looks for the "configure" script in the current
70a2d8
  # directory.
70a2d8
  # Since we changed directories, we need to tell %%configure where to look.
70a2d8
  %global _configure $topdir/configure
70a2d8
70a2d8
%configure \
70a2d8
  --enable-ipv6 \
70a2d8
  --enable-shared \
70a2d8
  --with-computed-gotos=%{computed_gotos_flag} \
70a2d8
  --with-dbmliborder=gdbm:ndbm:bdb \
70a2d8
  --with-system-expat \
70a2d8
  --with-system-ffi \
70a2d8
  --enable-loadable-sqlite-extensions \
70a2d8
  --with-dtrace \
70a2d8
  --with-lto \
70a2d8
  --with-ssl-default-suites=openssl \
70a2d8
%if %{with valgrind}
70a2d8
  --with-valgrind \
70a2d8
%endif
70a2d8
  $ExtraConfigArgs \
70a2d8
  %{nil}
70a2d8
70a2d8
%global flags_override EXTRA_CFLAGS="$MoreCFlags" CFLAGS_NODIST="$CFLAGS_NODIST $MoreCFlags"
70a2d8
70a2d8
%if %{without bootstrap}
70a2d8
  # Regenerate generated files (needs python3)
70a2d8
  %make_build %{flags_override} regen-all PYTHON_FOR_REGEN="python%{pybasever}"
70a2d8
%endif
70a2d8
70a2d8
  # Invoke the build
70a2d8
  %make_build %{flags_override}
70a2d8
70a2d8
  popd
70a2d8
  echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfName
70a2d8
}
70a2d8
70a2d8
# Call the above to build each configuration.
70a2d8
export -f BuildPython
70a2d8
export topdir
70a2d8
%{?scl:scl enable %{scl} %{?dts} - << \EOF}
70a2d8
70a2d8
%if %{with debug_build}
70a2d8
BuildPython debug \
70a2d8
  "--without-ensurepip --with-pydebug" \
70a2d8
  "-Og"
70a2d8
%endif # with debug_build
70a2d8
70a2d8
BuildPython optimized \
70a2d8
  "--without-ensurepip %{optimizations_flag}" \
70a2d8
  ""
70a2d8
%{?scl:EOF}
70a2d8
70a2d8
# ======================================================
70a2d8
# Installing the built code:
70a2d8
# ======================================================
70a2d8
70a2d8
%install
70a2d8
70a2d8
# As in %%build, remember the current directory
70a2d8
topdir=$(pwd)
70a2d8
70a2d8
# install SCL custom RPM scripts
70a2d8
%{?scl:mkdir -p %{buildroot}%{_root_prefix}/lib/rpm/redhat}
70a2d8
%{?scl:cp -a %{SOURCE20} %{buildroot}%{_root_prefix}/lib/rpm}
70a2d8
%{?scl:cp -a %{SOURCE21} %{buildroot}%{_root_prefix}/lib/rpm/redhat}
70a2d8
70a2d8
# We install a collection of hooks for gdb that make it easier to debug
70a2d8
# executables linked against libpython3* (such as /usr/bin/python3 itself)
70a2d8
#
70a2d8
# These hooks are implemented in Python itself (though they are for the version
70a2d8
# of python that gdb is linked with)
70a2d8
#
70a2d8
# gdb-archer looks for them in the same path as the ELF file or its .debug
70a2d8
# file, with a -gdb.py suffix.
70a2d8
# We put them next to the debug file, because ldconfig would complain if
70a2d8
# it found non-library files directly in /usr/lib/
70a2d8
# (see https://bugzilla.redhat.com/show_bug.cgi?id=562980)
70a2d8
#
70a2d8
# We'll put these files in the debuginfo package by installing them to e.g.:
70a2d8
#  /usr/lib/debug/usr/lib/libpython3.2.so.1.0.debug-gdb.py
70a2d8
# (note that the debug path is /usr/lib/debug for both 32/64 bit)
70a2d8
#
70a2d8
# See https://fedoraproject.org/wiki/Features/EasierPythonDebugging for more
70a2d8
# information
70a2d8
70a2d8
%if %{with gdb_hooks}
70a2d8
DirHoldingGdbPy=%{?scl:%_root_prefix}%{!?scl:%_prefix}/lib/debug/%{_libdir}
70a2d8
mkdir -p %{buildroot}$DirHoldingGdbPy
70a2d8
%endif # with gdb_hooks
70a2d8
70a2d8
# Multilib support for pyconfig.h
70a2d8
# 32- and 64-bit versions of pyconfig.h are different. For multilib support
70a2d8
# (making it possible to install 32- and 64-bit versions simultaneously),
70a2d8
# we need to install them under different filenames, and to make the common
70a2d8
# "pyconfig.h" include the right file based on architecture.
70a2d8
# See https://bugzilla.redhat.com/show_bug.cgi?id=192747
70a2d8
# Filanames are defined here:
70a2d8
%global _pyconfig32_h pyconfig-32.h
70a2d8
%global _pyconfig64_h pyconfig-64.h
70a2d8
%global _pyconfig_h pyconfig-%{wordsize}.h
70a2d8
70a2d8
# Use a common function to do an install for all our configurations:
70a2d8
InstallPython() {
70a2d8
70a2d8
  ConfName=$1
70a2d8
  PyInstSoName=$2
70a2d8
  MoreCFlags=$3
70a2d8
  LDVersion=$4
70a2d8
70a2d8
  # Switch to the directory with this configuration's built files
70a2d8
  ConfDir=build/$ConfName
70a2d8
  echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName
70a2d8
  mkdir -p $ConfDir
70a2d8
  pushd $ConfDir
70a2d8
70a2d8
  make \
70a2d8
    DESTDIR=%{buildroot} \
70a2d8
    INSTALL="install -p" \
70a2d8
    EXTRA_CFLAGS="$MoreCFlags" \
70a2d8
    install
70a2d8
70a2d8
  popd
70a2d8
70a2d8
%if %{with gdb_hooks}
70a2d8
  # See comment on $DirHoldingGdbPy above
70a2d8
  PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName-%{version}-%{release}.%{_arch}.debug-gdb.py
70a2d8
  cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy
70a2d8
%endif # with gdb_hooks
70a2d8
70a2d8
  # Rename the -devel script that differs on different arches to arch specific name
70a2d8
  mv %{buildroot}%{_bindir}/python${LDVersion}-{,`uname -m`-}config
70a2d8
  echo -e '#!/bin/sh\nexec `dirname $0`/python'${LDVersion}'-`uname -m`-config "$@"' > \
70a2d8
    %{buildroot}%{_bindir}/python${LDVersion}-config
70a2d8
  echo '[ $? -eq 127 ] && echo "Could not find python'${LDVersion}'-`uname -m`-config. Look around to see available arches." >&2' >> \
70a2d8
    %{buildroot}%{_bindir}/python${LDVersion}-config
70a2d8
    chmod +x %{buildroot}%{_bindir}/python${LDVersion}-config
70a2d8
70a2d8
  # Make python3-devel multilib-ready
70a2d8
  mv %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h \
70a2d8
     %{buildroot}%{_includedir}/python${LDVersion}/%{_pyconfig_h}
70a2d8
  cat > %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h << EOF
70a2d8
#include <bits/wordsize.h>
70a2d8
70a2d8
#if __WORDSIZE == 32
70a2d8
#include "%{_pyconfig32_h}"
70a2d8
#elif __WORDSIZE == 64
70a2d8
#include "%{_pyconfig64_h}"
70a2d8
#else
70a2d8
#error "Unknown word size"
70a2d8
#endif
70a2d8
EOF
70a2d8
70a2d8
  echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName
70a2d8
}
70a2d8
70a2d8
# Install the "debug" build first; any common files will be overridden with
70a2d8
# later builds
70a2d8
%if %{with debug_build}
70a2d8
InstallPython debug \
70a2d8
  %{py_INSTSONAME_debug} \
70a2d8
  -O0 \
70a2d8
  %{LDVERSION_debug}
70a2d8
%endif # with debug_build
70a2d8
70a2d8
# Now the optimized build:
70a2d8
InstallPython optimized \
70a2d8
  %{py_INSTSONAME_optimized} \
70a2d8
  "" \
70a2d8
  %{LDVERSION_optimized}
70a2d8
70a2d8
# Install directories for additional packages
70a2d8
install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__
70a2d8
%if "%{_lib}" == "lib64"
70a2d8
# The 64-bit version needs to create "site-packages" in /usr/lib/ (for
70a2d8
# pure-Python modules) as well as in /usr/lib64/ (for packages with extension
70a2d8
# modules).
70a2d8
# Note that rpmlint will complain about hardcoded library path;
70a2d8
# this is intentional.
70a2d8
install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__
70a2d8
%endif
70a2d8
70a2d8
%if %{with main_python}
70a2d8
# add idle3 to menu
70a2d8
install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png
70a2d8
install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png
70a2d8
install -D -m 0644 Lib/idlelib/Icons/idle_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/idle3.png
70a2d8
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE10}
70a2d8
70a2d8
# Install and validate appdata file
70a2d8
mkdir -p %{buildroot}%{_metainfodir}
70a2d8
cp -a %{SOURCE11} %{buildroot}%{_metainfodir}
70a2d8
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml
70a2d8
%endif
70a2d8
70a2d8
# Make sure distutils looks at the right pyconfig.h file
70a2d8
# See https://bugzilla.redhat.com/show_bug.cgi?id=201434
70a2d8
# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate
70a2d8
# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py
70a2d8
# when python starts up (see https://bugzilla.redhat.com/show_bug.cgi?id=653058)
70a2d8
#
70a2d8
# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h
70a2d8
# variants:
70a2d8
sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \
70a2d8
  %{buildroot}%{pylibdir}/distutils/sysconfig.py \
70a2d8
  %{buildroot}%{pylibdir}/sysconfig.py
70a2d8
70a2d8
# Install pathfix.py to bindir
70a2d8
# See https://github.com/fedora-python/python-rpm-porting/issues/24
70a2d8
cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/pathfix%{pybasever}.py
70a2d8
ln -s pathfix%{pybasever}.py %{buildroot}%{_bindir}/pathfix.py
70a2d8
70a2d8
# Install i18n tools to bindir
70a2d8
# They are also in python2, so we version them
70a2d8
# https://bugzilla.redhat.com/show_bug.cgi?id=1571474
70a2d8
for tool in pygettext msgfmt; do
70a2d8
  cp -p Tools/i18n/${tool}.py %{buildroot}%{_bindir}/${tool}%{pybasever}.py
70a2d8
  ln -s ${tool}%{pybasever}.py %{buildroot}%{_bindir}/${tool}3.py
70a2d8
done
70a2d8
70a2d8
# Switch all shebangs to refer to the specific Python version.
70a2d8
# This currently only covers files matching ^[a-zA-Z0-9_]+\.py$,
70a2d8
# so handle files named using other naming scheme separately.
70a2d8
LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \
70a2d8
  Tools/scripts/pathfix.py \
70a2d8
  -i "%{_bindir}/python%{pybasever}" -pn \
70a2d8
  %{buildroot} \
70a2d8
  %{buildroot}%{_bindir}/*%{pybasever}.py \
70a2d8
  %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py}
70a2d8
70a2d8
# Remove tests for python3-tools which was removed in
70a2d8
# https://bugzilla.redhat.com/show_bug.cgi?id=1312030
70a2d8
rm -rf %{buildroot}%{pylibdir}/test/test_tools
70a2d8
70a2d8
# Remove shebang lines from .py files that aren't executable, and
70a2d8
# remove executability from .py files that don't have a shebang line:
70a2d8
find %{buildroot} -name \*.py \
70a2d8
  \( \( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \; \
70a2d8
  -print -exec sed -i '1d' {} \; \) -o \( \
70a2d8
  -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
70a2d8
  -exec chmod a-x {} \; \) \)
70a2d8
70a2d8
# Get rid of DOS batch files:
70a2d8
find %{buildroot} -name \*.bat -exec rm {} \;
70a2d8
70a2d8
# Get rid of backup files:
70a2d8
find %{buildroot}/ -name "*~" -exec rm -f {} \;
70a2d8
find . -name "*~" -exec rm -f {} \;
70a2d8
70a2d8
# Do bytecompilation with the newly installed interpreter.
70a2d8
# This is similar to the script in macros.pybytecompile
70a2d8
# compile *.pyc
70a2d8
find %{buildroot} -type f -a -name "*.py" -print0 | \
70a2d8
    LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \
70a2d8
    PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \
70a2d8
    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:]]' || :
70a2d8
70a2d8
# Since we have pathfix.py in bindir, this is created, but we don't want it
70a2d8
rm -rf %{buildroot}%{_bindir}/__pycache__
70a2d8
70a2d8
# Fixup permissions for shared libraries from non-standard 555 to standard 755:
70a2d8
find %{buildroot} -perm 555 -exec chmod 755 {} \;
70a2d8
70a2d8
70a2d8
# SCL: Install macros for rpm:
70a2d8
mkdir -p %{buildroot}/%{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rpm
70a2d8
install -m 644 %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE25} \
70a2d8
    %{buildroot}/%{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rpm
70a2d8
# Optionally rename macro files by appending scl name
70a2d8
pushd %{buildroot}/%{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}
70a2d8
find -type f -name 'macros.py*' -exec mv {} {}%{?scl:.%{scl}} \;
70a2d8
popd
70a2d8
70a2d8
# Point the __python3 macro to the final SCL location
70a2d8
%{?scl:sed -i 's|^\(%@scl@__python3\)|\1 %{_bindir}/python3|' %{buildroot}%{_root_sysconfdir}/rpm/macros.python3.%{scl}}
70a2d8
# We replace @scl@ with scl_no_vendor macro from build meta subpackage because macros names cant contain
70a2d8
# dash, scl_no_vendor is scl macro without vendor prefix
70a2d8
%{?scl:sed -i 's|@scl@|%{scl_no_vendor}|g' %{buildroot}%{_root_sysconfdir}/rpm/macros.python{3,-scl}.%{scl}}
70a2d8
# when using scl enable we have to pass original scl macro with vendor prefix
70a2d8
%{?scl:sed -i 's|@vendorscl@|%{scl}|g' %{buildroot}%{_root_sysconfdir}/rpm/macros.python{3,-scl}.%{scl}}
70a2d8
70a2d8
70a2d8
# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to
70a2d8
# avoid the user having to know the precise version and ABI flags.
70a2d8
# See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748
70a2d8
%if %{with debug_build}
70a2d8
    # SCL - disabled part of the condition: && %{with main_python}
70a2d8
ln -s \
70a2d8
  %{_bindir}/python%{LDVERSION_debug} \
70a2d8
  %{buildroot}%{_bindir}/python3-debug
70a2d8
%endif
70a2d8
70a2d8
# SCL:
70a2d8
# Link the unversioned stuff
70a2d8
# https://fedoraproject.org/wiki/Changes/Python_means_Python3
70a2d8
ln -s ./python3 %{buildroot}%{_bindir}/python
70a2d8
ln -s ./pydoc3 %{buildroot}%{_bindir}/pydoc
70a2d8
ln -s ./pygettext3.py %{buildroot}%{_bindir}/pygettext.py
70a2d8
ln -s ./msgfmt3.py %{buildroot}%{_bindir}/msgfmt.py
70a2d8
ln -s ./idle3 %{buildroot}%{_bindir}/idle
70a2d8
ln -s ./python3-config %{buildroot}%{_bindir}/python-config
70a2d8
ln -s ./python3.1 %{buildroot}%{_mandir}/man1/python.1
70a2d8
ln -s ./python3.pc %{buildroot}%{_libdir}/pkgconfig/python.pc
70a2d8
%if %{with debug_build}
70a2d8
ln -s ./python3-debug %{buildroot}%{_bindir}/python-debug
70a2d8
%endif
70a2d8
70a2d8
70a2d8
# ======================================================
70a2d8
# Checks for packaging issues
70a2d8
# ======================================================
70a2d8
70a2d8
%check
70a2d8
70a2d8
# first of all, check timestamps of bytecode files
70a2d8
find %{buildroot} -type f -a -name "*.py" -print0 | \
70a2d8
    LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \
70a2d8
    PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \
70a2d8
    xargs -0 %{buildroot}%{_bindir}/python%{pybasever} %{SOURCE8}
70a2d8
70a2d8
# Ensure that the curses module was linked against libncursesw.so, rather than
70a2d8
# libncurses.so
70a2d8
# See https://bugzilla.redhat.com/show_bug.cgi?id=539917
70a2d8
ldd %{buildroot}/%{dynload_dir}/_curses*.so \
70a2d8
    | grep curses \
70a2d8
    | grep libncurses.so && (echo "_curses.so linked against libncurses.so" ; exit 1)
70a2d8
70a2d8
# Ensure that the debug modules are linked against the debug libpython, and
70a2d8
# likewise for the optimized modules and libpython:
70a2d8
for Module in %{buildroot}/%{dynload_dir}/*.so ; do
70a2d8
    case $Module in
70a2d8
    *.%{SOABI_debug})
70a2d8
        ldd $Module | grep %{py_INSTSONAME_optimized} &&
70a2d8
            (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1)
70a2d8
70a2d8
        ;;
70a2d8
    *.%{SOABI_optimized})
70a2d8
        ldd $Module | grep %{py_INSTSONAME_debug} &&
70a2d8
            (echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1)
70a2d8
        ;;
70a2d8
    esac
70a2d8
done
70a2d8
70a2d8
70a2d8
# ======================================================
70a2d8
# Running the upstream test suite
70a2d8
# ======================================================
70a2d8
70a2d8
topdir=$(pwd)
70a2d8
CheckPython() {
70a2d8
  ConfName=$1
70a2d8
  ConfDir=$(pwd)/build/$ConfName
70a2d8
70a2d8
  echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
70a2d8
70a2d8
  # Note that we're running the tests using the version of the code in the
70a2d8
  # builddir, not in the buildroot.
70a2d8
70a2d8
  # Show some info, helpful for debugging test failures
70a2d8
  LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo
70a2d8
70a2d8
  # Run the upstream test suite
70a2d8
  # test_gdb skipped on s390x:
70a2d8
  #   https://bugzilla.redhat.com/show_bug.cgi?id=1678277
70a2d8
  # test_gdb skipped everywhere:
70a2d8
  #   https://bugzilla.redhat.com/show_bug.cgi?id=1734327
70a2d8
  # test_distutils
70a2d8
  #   distutils.tests.test_bdist_rpm tests fail when bootstraping the Python
70a2d8
  #   package: rpmbuild requires /usr/bin/pythonX.Y to be installed
70a2d8
  LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \
70a2d8
    -wW --slowest -j0 \
70a2d8
    %if %{with bootstrap}
70a2d8
    -x test_distutils \
70a2d8
    %endif
70a2d8
    -x test_gdb \
70a2d8
    -x test_distutils \
70a2d8
    %ifarch %{mips64}
70a2d8
    -x test_ctypes \
70a2d8
    %endif
70a2d8
  # Disabled test_distutils due to 2 tests failing:
70a2d8
  #   - test_no_optimize_flag
70a2d8
  #   - test_quiet
70a2d8
  #   they run rpmbuild and crash on:
70a2d8
  #     /usr/lib/rpm/brp-python-bytecompile: line 44: /usr/bin/python3.8: No such file or directory
70a2d8
  #   because %%_os_install_post isn't overriden
70a2d8
70a2d8
  echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
70a2d8
70a2d8
}
70a2d8
70a2d8
%if %{with tests}
70a2d8
# SCL:
70a2d8
export -f CheckPython
70a2d8
export topdir
70a2d8
%{?scl:scl enable %{scl} %{?dts} - << \EOF}
70a2d8
set -e
70a2d8
70a2d8
# Check each of the configurations:
70a2d8
%if %{with debug_build}
70a2d8
CheckPython debug
70a2d8
%endif # with debug_build
70a2d8
CheckPython optimized
70a2d8
70a2d8
%{?scl:EOF}
70a2d8
%endif # with tests
70a2d8
70a2d8
70a2d8
%files rpm-macros
70a2d8
%license LICENSE
70a2d8
%doc README.rst
70a2d8
%config(noreplace) %{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rpm/macros.python3%{?scl:.%{scl}}
70a2d8
%config(noreplace) %{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rpm/macros.python-scl%{?scl:.%{scl}}
70a2d8
70a2d8
%files srpm-macros
70a2d8
%license LICENSE
70a2d8
%doc README.rst
70a2d8
%config(noreplace) %{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rpm/macros.python-srpm%{?scl:.%{scl}}
70a2d8
70a2d8
%files
70a2d8
%doc README.rst
70a2d8
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
%{_bindir}/pydoc*
70a2d8
%{_bindir}/python3
70a2d8
# %%else
70a2d8
# %%{_bindir}/pydoc%%{pybasever}
70a2d8
# %%endif
70a2d8
70a2d8
%{_bindir}/python%{pybasever}
70a2d8
%{_bindir}/python%{LDVERSION_optimized}
70a2d8
%{_mandir}/*/*3*
70a2d8
70a2d8
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
# %%if %%{without flatpackage}
70a2d8
# %%files -n python-unversioned-command
70a2d8
# %%endif
70a2d8
%{_bindir}/python
70a2d8
%{_mandir}/*/python.1*
70a2d8
# %%endif
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
%files libs
70a2d8
%doc README.rst
70a2d8
%endif
70a2d8
70a2d8
%dir %{pylibdir}
70a2d8
%dir %{dynload_dir}
70a2d8
70a2d8
%license %{pylibdir}/LICENSE.txt
70a2d8
70a2d8
%{pylibdir}/lib2to3
70a2d8
%if %{without flatpackage}
70a2d8
%exclude %{pylibdir}/lib2to3/tests
70a2d8
%endif
70a2d8
70a2d8
%dir %{pylibdir}/unittest/
70a2d8
%dir %{pylibdir}/unittest/__pycache__/
70a2d8
%{pylibdir}/unittest/*.py
70a2d8
%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/asyncio/
70a2d8
%dir %{pylibdir}/asyncio/__pycache__/
70a2d8
%{pylibdir}/asyncio/*.py
70a2d8
%{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/venv/
70a2d8
%dir %{pylibdir}/venv/__pycache__/
70a2d8
%{pylibdir}/venv/*.py
70a2d8
%{pylibdir}/venv/__pycache__/*%{bytecode_suffixes}
70a2d8
%{pylibdir}/venv/scripts
70a2d8
70a2d8
%{pylibdir}/wsgiref
70a2d8
%{pylibdir}/xmlrpc
70a2d8
70a2d8
%dir %{pylibdir}/ensurepip/
70a2d8
%dir %{pylibdir}/ensurepip/__pycache__/
70a2d8
%{pylibdir}/ensurepip/*.py
70a2d8
%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%if %{with rpmwheels}
70a2d8
%exclude %{pylibdir}/ensurepip/_bundled
70a2d8
%else
70a2d8
%dir %{pylibdir}/ensurepip/_bundled
70a2d8
%{pylibdir}/ensurepip/_bundled/*.whl
70a2d8
%endif
70a2d8
70a2d8
%dir %{pylibdir}/concurrent/
70a2d8
%dir %{pylibdir}/concurrent/__pycache__/
70a2d8
%{pylibdir}/concurrent/*.py
70a2d8
%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/concurrent/futures/
70a2d8
%dir %{pylibdir}/concurrent/futures/__pycache__/
70a2d8
%{pylibdir}/concurrent/futures/*.py
70a2d8
%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%{pylibdir}/pydoc_data
70a2d8
70a2d8
%{dynload_dir}/_blake2.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_sha3.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_hmacopenssl.%{SOABI_optimized}.so
70a2d8
70a2d8
%{dynload_dir}/_asyncio.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_bisect.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_bz2.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_contextvars.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_crypt.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_csv.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_ctypes.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_curses.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_dbm.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_decimal.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_elementtree.%{SOABI_optimized}.so
70a2d8
%if %{with gdbm}
70a2d8
%{dynload_dir}/_gdbm.%{SOABI_optimized}.so
70a2d8
%endif
70a2d8
%{dynload_dir}/_hashlib.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_heapq.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_json.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_lsprof.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_lzma.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_opcode.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_pickle.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_queue.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_random.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_socket.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_ssl.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_statistics.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_struct.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/array.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/audioop.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/binascii.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/cmath.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_datetime.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/fcntl.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/grp.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/math.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/mmap.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/nis.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/parser.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_posixshmem.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/pyexpat.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/readline.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/resource.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/select.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/spwd.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/syslog.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/termios.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/unicodedata.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_uuid.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/xxlimited.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/zlib.%{SOABI_optimized}.so
70a2d8
70a2d8
%dir %{pylibdir}/site-packages/
70a2d8
%dir %{pylibdir}/site-packages/__pycache__/
70a2d8
%{pylibdir}/site-packages/README.txt
70a2d8
%{pylibdir}/*.py
70a2d8
%dir %{pylibdir}/__pycache__/
70a2d8
%{pylibdir}/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/collections/
70a2d8
%dir %{pylibdir}/collections/__pycache__/
70a2d8
%{pylibdir}/collections/*.py
70a2d8
%{pylibdir}/collections/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/ctypes/
70a2d8
%dir %{pylibdir}/ctypes/__pycache__/
70a2d8
%{pylibdir}/ctypes/*.py
70a2d8
%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes}
70a2d8
%{pylibdir}/ctypes/macholib
70a2d8
70a2d8
%{pylibdir}/curses
70a2d8
70a2d8
%dir %{pylibdir}/dbm/
70a2d8
%dir %{pylibdir}/dbm/__pycache__/
70a2d8
%{pylibdir}/dbm/*.py
70a2d8
%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/distutils/
70a2d8
%dir %{pylibdir}/distutils/__pycache__/
70a2d8
%{pylibdir}/distutils/*.py
70a2d8
%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes}
70a2d8
%{pylibdir}/distutils/README
70a2d8
%{pylibdir}/distutils/command
70a2d8
70a2d8
%dir %{pylibdir}/email/
70a2d8
%dir %{pylibdir}/email/__pycache__/
70a2d8
%{pylibdir}/email/*.py
70a2d8
%{pylibdir}/email/__pycache__/*%{bytecode_suffixes}
70a2d8
%{pylibdir}/email/mime
70a2d8
%doc %{pylibdir}/email/architecture.rst
70a2d8
70a2d8
%{pylibdir}/encodings
70a2d8
70a2d8
%{pylibdir}/html
70a2d8
%{pylibdir}/http
70a2d8
70a2d8
%dir %{pylibdir}/importlib/
70a2d8
%dir %{pylibdir}/importlib/__pycache__/
70a2d8
%{pylibdir}/importlib/*.py
70a2d8
%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%dir %{pylibdir}/json/
70a2d8
%dir %{pylibdir}/json/__pycache__/
70a2d8
%{pylibdir}/json/*.py
70a2d8
%{pylibdir}/json/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%{pylibdir}/logging
70a2d8
%{pylibdir}/multiprocessing
70a2d8
70a2d8
%dir %{pylibdir}/sqlite3/
70a2d8
%dir %{pylibdir}/sqlite3/__pycache__/
70a2d8
%{pylibdir}/sqlite3/*.py
70a2d8
%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
%exclude %{pylibdir}/turtle.py
70a2d8
%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
70a2d8
%endif
70a2d8
70a2d8
%{pylibdir}/urllib
70a2d8
%{pylibdir}/xml
70a2d8
70a2d8
%if "%{_lib}" == "lib64"
70a2d8
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}
70a2d8
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages
70a2d8
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages/__pycache__/
70a2d8
%endif
70a2d8
70a2d8
# "Makefile" and the config-32/64.h file are needed by
70a2d8
# distutils/sysconfig.py:_init_posix(), so we include them in the core
70a2d8
# package, along with their parent directories (bug 531901):
70a2d8
%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/
70a2d8
%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile
70a2d8
%dir %{_includedir}/python%{LDVERSION_optimized}/
70a2d8
%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
70a2d8
70a2d8
%{_libdir}/%{py_INSTSONAME_optimized}
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
%{_libdir}/libpython3.so.%{scl}
70a2d8
# %%endif
70a2d8
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
%files devel
70a2d8
%endif
70a2d8
70a2d8
# SCL:
70a2d8
%{?scl:%{_root_prefix}/lib/rpm/pythondeps-scl-38.sh}
70a2d8
%{?scl:%{_root_prefix}/lib/rpm/redhat/brp-python-bytecompile-with-scl-python-38}
70a2d8
%config(noreplace) %{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rpm/macros.pybytecompile%{?scl:.%{scl}}
70a2d8
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
%{_bindir}/2to3
70a2d8
# %%endif
70a2d8
70a2d8
%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/*
70a2d8
%if %{without flatpackage}
70a2d8
%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile
70a2d8
%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
70a2d8
%endif
70a2d8
%{_includedir}/python%{LDVERSION_optimized}/*.h
70a2d8
%{_includedir}/python%{LDVERSION_optimized}/internal/
70a2d8
%{_includedir}/python%{LDVERSION_optimized}/cpython/
70a2d8
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
70a2d8
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
%{_bindir}/python3-config
70a2d8
%{_bindir}/python-config
70a2d8
%{_libdir}/pkgconfig/python3.pc
70a2d8
%{_libdir}/pkgconfig/python.pc
70a2d8
%{_libdir}/pkgconfig/python3-embed.pc
70a2d8
%{_bindir}/pathfix.py
70a2d8
%{_bindir}/pygettext3.py
70a2d8
%{_bindir}/pygettext.py
70a2d8
%{_bindir}/msgfmt3.py
70a2d8
%{_bindir}/msgfmt.py
70a2d8
# %%endif
70a2d8
70a2d8
%{_bindir}/2to3-%{pybasever}
70a2d8
%{_bindir}/pathfix%{pybasever}.py
70a2d8
%{_bindir}/pygettext%{pybasever}.py
70a2d8
%{_bindir}/msgfmt%{pybasever}.py
70a2d8
70a2d8
%{_bindir}/python%{pybasever}-config
70a2d8
%{_bindir}/python%{LDVERSION_optimized}-config
70a2d8
%{_bindir}/python%{LDVERSION_optimized}-*-config
70a2d8
%{_libdir}/libpython%{LDVERSION_optimized}.so
70a2d8
%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc
70a2d8
%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}-embed.pc
70a2d8
%{_libdir}/pkgconfig/python-%{pybasever}.pc
70a2d8
%{_libdir}/pkgconfig/python-%{pybasever}-embed.pc
70a2d8
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
%files idle
70a2d8
%endif
70a2d8
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
%{_bindir}/idle*
70a2d8
# %%else
70a2d8
# %%{_bindir}/idle%%{pybasever}
70a2d8
# %%endif
70a2d8
70a2d8
%{pylibdir}/idlelib
70a2d8
70a2d8
%if %{with main_python}
70a2d8
%{_metainfodir}/idle3.appdata.xml
70a2d8
%{_datadir}/applications/idle3.desktop
70a2d8
%{_datadir}/icons/hicolor/*/apps/idle3.*
70a2d8
%endif
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
%files tkinter
70a2d8
%endif
70a2d8
70a2d8
%{pylibdir}/tkinter
70a2d8
%if %{without flatpackage}
70a2d8
%exclude %{pylibdir}/tkinter/test
70a2d8
%endif
70a2d8
%{dynload_dir}/_tkinter.%{SOABI_optimized}.so
70a2d8
%{pylibdir}/turtle.py
70a2d8
%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
70a2d8
%dir %{pylibdir}/turtledemo
70a2d8
%{pylibdir}/turtledemo/*.py
70a2d8
%{pylibdir}/turtledemo/*.cfg
70a2d8
%dir %{pylibdir}/turtledemo/__pycache__/
70a2d8
%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}
70a2d8
70a2d8
70a2d8
%if %{without flatpackage}
70a2d8
%files test
70a2d8
%endif
70a2d8
70a2d8
%{pylibdir}/ctypes/test
70a2d8
%{pylibdir}/distutils/tests
70a2d8
%{pylibdir}/sqlite3/test
70a2d8
%{pylibdir}/test
70a2d8
%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_testcapi.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so
70a2d8
%{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so
70a2d8
%{pylibdir}/lib2to3/tests
70a2d8
%{pylibdir}/tkinter/test
70a2d8
%{pylibdir}/unittest/test
70a2d8
70a2d8
# We don't bother splitting the debug build out into further subpackages:
70a2d8
# if you need it, you're probably a developer.
70a2d8
70a2d8
# Hence the manifest is the combination of analogous files in the manifests of
70a2d8
# all of the other subpackages
70a2d8
70a2d8
%if %{with debug_build}
70a2d8
%if %{without flatpackage}
70a2d8
%files debug
70a2d8
%endif
70a2d8
70a2d8
# SCL: %%if %%{with main_python}
70a2d8
%{_bindir}/python3-debug
70a2d8
%{_bindir}/python-debug
70a2d8
# %%endif
70a2d8
70a2d8
# Analog of the core subpackage's files:
70a2d8
%{_bindir}/python%{LDVERSION_debug}
70a2d8
70a2d8
# Analog of the -libs subpackage's files:
70a2d8
# ...with debug builds of the built-in "extension" modules:
70a2d8
70a2d8
%{dynload_dir}/_blake2.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_sha3.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_hmacopenssl.%{SOABI_debug}.so
70a2d8
70a2d8
%{dynload_dir}/_asyncio.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_bisect.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_bz2.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_contextvars.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_crypt.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_csv.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_ctypes.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_curses.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_curses_panel.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_dbm.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_decimal.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_elementtree.%{SOABI_debug}.so
70a2d8
%if %{with gdbm}
70a2d8
%{dynload_dir}/_gdbm.%{SOABI_debug}.so
70a2d8
%endif
70a2d8
%{dynload_dir}/_hashlib.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_heapq.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_json.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_lsprof.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_lzma.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_opcode.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_pickle.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_queue.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_random.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_socket.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_sqlite3.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_ssl.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_statistics.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_struct.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/array.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/audioop.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/binascii.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/cmath.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_datetime.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/fcntl.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/grp.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/math.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/mmap.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/nis.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/parser.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_posixshmem.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/pyexpat.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/readline.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/resource.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/select.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/spwd.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/syslog.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/termios.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/unicodedata.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_uuid.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/zlib.%{SOABI_debug}.so
70a2d8
70a2d8
# No need to split things out the "Makefile" and the config-32/64.h file as we
70a2d8
# do for the regular build above (bug 531901), since they're all in one package
70a2d8
# now; they're listed below, under "-devel":
70a2d8
70a2d8
%{_libdir}/%{py_INSTSONAME_debug}
70a2d8
70a2d8
# Analog of the -devel subpackage's files:
70a2d8
%{pylibdir}/config-%{LDVERSION_debug}-%{_arch}-linux%{_gnu}
70a2d8
%{_includedir}/python%{LDVERSION_debug}
70a2d8
%{_bindir}/python%{LDVERSION_debug}-config
70a2d8
%{_bindir}/python%{LDVERSION_debug}-*-config
70a2d8
%{_libdir}/libpython%{LDVERSION_debug}.so
70a2d8
%{_libdir}/libpython%{LDVERSION_debug}.so.%{py_SOVERSION}
70a2d8
%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc
70a2d8
%{_libdir}/pkgconfig/python-%{LDVERSION_debug}-embed.pc
70a2d8
70a2d8
# Analog of the -tools subpackage's files:
70a2d8
#  None for now; we could build precanned versions that have the appropriate
70a2d8
# shebang if needed
70a2d8
70a2d8
# Analog  of the tkinter subpackage's files:
70a2d8
%{dynload_dir}/_tkinter.%{SOABI_debug}.so
70a2d8
70a2d8
# Analog  of the -test subpackage's files:
70a2d8
%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_testbuffer.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_testcapi.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so
70a2d8
%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so
70a2d8
70a2d8
%endif # with debug_build
70a2d8
70a2d8
# We put the debug-gdb.py file inside /usr/lib/debug to avoid noise from ldconfig
70a2d8
# See https://bugzilla.redhat.com/show_bug.cgi?id=562980
70a2d8
#
70a2d8
# The /usr/lib/rpm/redhat/macros defines %%__debug_package to use
70a2d8
# debugfiles.list, and it appears that everything below /usr/lib/debug and
70a2d8
# (/usr/src/debug) gets added to this file (via LISTFILES) in
70a2d8
# /usr/lib/rpm/find-debuginfo.sh
70a2d8
#
70a2d8
# Hence by installing it below /usr/lib/debug we ensure it is added to the
70a2d8
# -debuginfo subpackage
70a2d8
# (if it doesn't, then the rpmbuild ought to fail since the debug-gdb.py
70a2d8
# payload file would be unpackaged)
70a2d8
70a2d8
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1476593
70a2d8
%undefine _debuginfo_subpackages
70a2d8
70a2d8
# ======================================================
70a2d8
# Finally, the changelog:
70a2d8
# ======================================================
70a2d8
70a2d8
%changelog
60a024
* Thu Jul 22 2021 Charalampos Stratakis <cstratak@redhat.com> - 3.8.11-2
60a024
- Security fix for CVE-2021-29921: Leading zeros in IPv4 addresses are no longer tolerated
60a024
Resolves: rhbz#1957458
60a024
60a024
* Wed Jun 09 2021 Charalampos Stratakis <cstratak@redhat.com> - 3.8.11-1
60a024
- Update to 3.8.11
60a024
- Security fixes for CVE-2021-3426, CVE-2021-23336, CVE-2021-3177 and CVE-2020-27619
60a024
Resolves: rhbz#1935913, rhbz#1928904, rhbz#1918168, rhbz#1889886
60a024
b5669c
* Mon Oct 05 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.8.6-1
b5669c
- Update to 3.8.6
b5669c
- Security fixes for CVE-2020-26116, CVE-2020-14422 and CVE-2019-20907
60a024
Resolves: rhbz#1882438, rhbz#1883256, rhbz#1857277, rhbz#1856546
b5669c
70a2d8
* Tue Apr 28 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.8.0-15
70a2d8
- Add a sentinel value on the Hmac_members table of the fips compliant hmac module
70a2d8
Resolves: rhbz#1817494
70a2d8
70a2d8
* Mon Apr 27 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.8.0-14
70a2d8
- Add support for FIPS mode
70a2d8
Resolves: rhbz#1817494
70a2d8
70a2d8
* Fri Apr 24 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.8.0-13
70a2d8
- Skip test_startup_imports from test_site if we have a .pth file in sys.path
70a2d8
Resolves: rhbz#1815645
70a2d8
70a2d8
* Fri Apr 24 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.8.0-12
70a2d8
- Security fix for CVE-2020-8492
70a2d8
Resolves: rhbz#1810623
70a2d8
70a2d8
* Thu Apr 23 2020 Lumír Balhar <lbalhar@redhat.com> - 3.8.0-11
70a2d8
- Fix ensurepip to run pip via runpy to fix compatibility with pip 19.3.1
70a2d8
Resolves: rhbz#1827267
70a2d8
70a2d8
* Tue Feb 04 2020 Tomas Orsava <torsava@redhat.com> - 3.8.0-10
70a2d8
- Fix invocation of brp-python-bytecompile
70a2d8
- Resolves: rhbz#1671025
70a2d8
70a2d8
* Thu Jan 30 2020 Tomas Orsava <torsava@redhat.com> - 3.8.0-9
70a2d8
- Removed patch 342 which is not needed with the new gcc from devtoolset
70a2d8
- Resolves: rhbz#1671025
70a2d8
70a2d8
* Thu Jan 30 2020 Tomas Orsava <torsava@redhat.com> - 3.8.0-8
70a2d8
- Building with new gcc from devtoolset
70a2d8
- Re-added dtrace and -fno-semantic-interposition
70a2d8
- Resolves: rhbz#1671025
70a2d8
70a2d8
* Tue Jan 07 2020 Tomas Orsava <torsava@redhat.com> - 3.8.0-7
70a2d8
- Fixed path to /usr/local for pip
70a2d8
- Resolves: rhbz#1671025
70a2d8
70a2d8
* Tue Jan 07 2020 Tomas Orsava <torsava@redhat.com> - 3.8.0-6
70a2d8
- Finished bootstrapping
70a2d8
- Disabled broken tests
70a2d8
- Resolves: rhbz#1671025
70a2d8
70a2d8
* Tue Jan 07 2020 Tomas Orsava <torsava@redhat.com> - 3.8.0-5.bootstrap
70a2d8
- Converted from RHEL8 module to RHSCL for RHEL7
70a2d8
- Start of bootstrapping
70a2d8
- Resolves: rhbz#1671025
70a2d8
70a2d8
* Thu Dec 12 2019 Tomas Orsava <torsava@redhat.com> - 3.8.0-4
70a2d8
- Exclude unsupported i686 arch
70a2d8
70a2d8
* Mon Nov 25 2019 Tomas Orsava <torsava@redhat.com> - 3.8.0-3
70a2d8
- Build Python with -fno-semantic-interposition for better performance
70a2d8
  https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup
70a2d8
70a2d8
* Wed Nov 13 2019 Tomas Orsava <torsava@redhat.com> - 3.8.0-2
70a2d8
- Converting to RHEL8
70a2d8
- Changes from Fedora
70a2d8
  - Removed gpgverifycation as the tool used in Fedora is not present in RHEL8
70a2d8
  - Added versioned pathfix.py and 2to3 scripts into bindir
70a2d8
  - Depend on python3-rpm-generators always, because they run on Python 3.6
70a2d8
- Added python38-rpm-macros subpackage
70a2d8
  - Fixed py3_install_wheel macro because python38-pip does not have
70a2d8
    the --strip-prefix patch
70a2d8
70a2d8
* Mon Oct 14 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0-1
70a2d8
- Update to Python 3.8.0 final
70a2d8
70a2d8
* Tue Oct 01 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0~rc1-1
70a2d8
- Rebased to Python 3.8.0rc1
70a2d8
70a2d8
* Fri Aug 30 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0~b4-1
70a2d8
- Rebased to Python 3.8.0b4
70a2d8
70a2d8
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0~b3-4
70a2d8
- Enable Profile-guided optimization for all arches, not just x86 (#1741015)
70a2d8
70a2d8
* Wed Aug 14 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0~b3-3
70a2d8
- Rebuilt for Python 3.8
70a2d8
70a2d8
* Wed Aug 14 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0~b3-2
70a2d8
- Bootstrap for Python 3.8
70a2d8
70a2d8
* Tue Aug 13 2019 Miro Hrončok <mhroncok@redhat.com> - 3.8.0~b3-1
70a2d8
- Update to 3.8.0b3
70a2d8
70a2d8
* Sun Aug 11 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.4-5
70a2d8
- Conditionalize python3-devel runtime dependencies on RPM packages and setuptools
70a2d8
70a2d8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-4
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
70a2d8
70a2d8
* Mon Jul 15 2019 Lumír Balhar <lbalhar@redhat.com> - 3.7.4-3
70a2d8
- Move test.support module to python3-test subpackage
70a2d8
  https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-test_subpackage
70a2d8
- Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild
70a2d8
70a2d8
* Fri Jul 12 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.4-2
70a2d8
- https://fedoraproject.org/wiki/Changes/Python_means_Python3
70a2d8
- The python-unversioned-command package is no longer Python 2, but 3
70a2d8
- The python, pydoc, python-config, python-debug, idle, pygettext.py and
70a2d8
  msgfmt.py commands are now in python3
70a2d8
70a2d8
* Tue Jul 09 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.4-1
70a2d8
- Update to 3.7.4
70a2d8
70a2d8
* Tue Jul 02 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.4~rc2-1
70a2d8
- Update to 3.7.4rc2
70a2d8
70a2d8
* Tue Jun 25 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.4~rc1-1
70a2d8
- Update to 3.7.4rc1
70a2d8
70a2d8
* Tue May 07 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.7.3-3
70a2d8
- Fix handling of pre-normalization characters in urlsplit
70a2d8
- Disallow control chars in http URLs (#1695572, #1700684, #1688169, #1706851)
70a2d8
70a2d8
* Wed Apr 17 2019 Patrik Kopkan <pkopkan@redhat.com> - 3.7.3-2
70a2d8
- Makes man python3.7m show python3.7 man pages (#1612241)
70a2d8
70a2d8
* Wed Mar 27 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.3-1
70a2d8
- Update to 3.7.3
70a2d8
70a2d8
* Thu Mar 21 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.3~rc1-1
70a2d8
- Update to 3.7.3rc1
70a2d8
70a2d8
* Thu Mar 14 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.2-8
70a2d8
- Security fix for CVE-2019-9636 (#1688543, #1688546)
70a2d8
70a2d8
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.7.2-7
70a2d8
- Rebuild for readline 8.0
70a2d8
70a2d8
* Tue Feb 12 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.2-6
70a2d8
- Reduced default build flags used to build extension modules
70a2d8
  https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
70a2d8
70a2d8
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.2-5
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
70a2d8
70a2d8
* Wed Jan 16 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.2-4
70a2d8
- Security fix for CVE-2019-5010 (#1666519, #1666522)
70a2d8
70a2d8
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 3.7.2-3
70a2d8
- Rebuilt for libcrypt.so.2 (#1666033)
70a2d8
70a2d8
* Fri Jan 04 2019 Miro Hrončok <mhroncok@redhat.com> - 3.7.2-2
70a2d8
- No longer revert upstream commit 3b699932e5ac3e7
70a2d8
- This was a dirty workaround for (#1644936)
70a2d8
70a2d8
* Tue Dec 25 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.2-1
70a2d8
- Update to 3.7.2
70a2d8
70a2d8
* Fri Dec 07 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.1-5
70a2d8
- Make sure we don't ship any exe files (not needed an prebuilt)
70a2d8
70a2d8
* Wed Nov 21 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.1-4
70a2d8
- Make sure the entire test.support module is in python3-libs (#1651245)
70a2d8
70a2d8
* Tue Nov 06 2018 Victor Stinner <vstinner@redhat.com> - 3.7.1-3
70a2d8
- Verify the value of '-s' when execute the CLI of cProfile (rhbz#1160640)
70a2d8
70a2d8
* Sun Nov 04 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.1-2
70a2d8
- Temporarily revert upstream commit 3b699932e5ac3e7
70a2d8
- This is dirty workaround for (#1644936)
70a2d8
70a2d8
* Mon Oct 22 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.1-1
70a2d8
- Update to 3.7.1
70a2d8
70a2d8
* Thu Sep 27 2018 Petr Viktorin <pviktori@redhat.com> - 3.7.0-10
70a2d8
- Compile the debug build with -Og rather than -O0
70a2d8
70a2d8
* Thu Aug 30 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-9
70a2d8
- Require python3-setuptools from python3-devel to prevent packaging errors (#1623914)
70a2d8
70a2d8
* Fri Aug 17 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-8
70a2d8
- Add /usr/bin/pygettext3.py and msgfmt3.py to python3-devel
70a2d8
Resolves: rhbz#1571474
70a2d8
70a2d8
* Fri Aug 17 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-7
70a2d8
- Backport TLS 1.3 related fixes to fix FTBFS
70a2d8
Resolves: rhbz#1609291
70a2d8
70a2d8
* Wed Aug 15 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-6
70a2d8
- Use RPM built wheels of pip and setuptools in ensurepip instead of our rewheel patch
70a2d8
70a2d8
* Fri Aug 10 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.7.0-5
70a2d8
- Fix wrong requirement on gdbm
70a2d8
70a2d8
* Fri Jul 20 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-4
70a2d8
- Allow to call Py_Main() after Py_Initialize()
70a2d8
Resolves: rhbz#1595421
70a2d8
70a2d8
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-3
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
70a2d8
70a2d8
* Thu Jul 12 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.7.0-2
70a2d8
- Rebuild for new gdbm
70a2d8
70a2d8
* Wed Jun 27 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-1
70a2d8
- Update to 3.7.0 final
70a2d8
70a2d8
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-0.21.rc1
70a2d8
- Finish bootstrapping, enable rewheel, tests, optimizations
70a2d8
70a2d8
* Tue Jun 12 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.0-0.20.rc1
70a2d8
- Update to 3.7.0rc1
70a2d8
- Bootstrap, disable rewheel, tests, optimizations
70a2d8
70a2d8
* Mon Apr 23 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.5-4
70a2d8
- Fix multiprocessing regression on newer glibcs
70a2d8
- Enable test_multiprocessing_fork(server) and _spawn again
70a2d8
Resolves: rhbz#1569933
70a2d8
70a2d8
* Thu Apr 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.5-3
70a2d8
- Skip test_multiprocessing_fork(server) and _spawn for now
70a2d8
70a2d8
* Wed Apr 18 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.5-2
70a2d8
- Add flatpackage conditionals
70a2d8
70a2d8
* Thu Mar 29 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.5-1
70a2d8
- Update to 3.6.5
70a2d8
70a2d8
* Sat Mar 24 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-20
70a2d8
- Fix broken macro invocation and broken building of C Python extensions
70a2d8
Resolves: rhbz#1560103
70a2d8
70a2d8
* Fri Mar 16 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-19
70a2d8
- Add -n option for pathfix.py
70a2d8
Resolves: rhbz#1546990
70a2d8
70a2d8
* Thu Mar 15 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-18
70a2d8
- Fix the py_byte_compile macro to work on Python 2
70a2d8
- Remove the pybytecompile macro file from the flat package
70a2d8
Resolves: rhbz#1484993
70a2d8
70a2d8
* Tue Mar 13 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-17
70a2d8
- Do not send IP addresses in SNI TLS extension
70a2d8
70a2d8
* Sat Feb 24 2018 Florian Weimer <fweimer@redhat.com> - 3.6.4-16
70a2d8
- Rebuild with new LDFLAGS from redhat-rpm-config
70a2d8
70a2d8
* Wed Feb 21 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-15
70a2d8
- Filter out automatic /usr/bin/python3.X requirement,
70a2d8
  recommend the main package from libs instead
70a2d8
Resolves: rhbz#1547131
70a2d8
70a2d8
* Thu Feb 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.4-14
70a2d8
- Remove the python3-tools package (#rhbz 1312030)
70a2d8
- Move /usr/bin/2to3 to python3-devel
70a2d8
- Move /usr/bin/idle and idlelib to python3-idle
70a2d8
- Provide python3-tools from python3-idle
70a2d8
70a2d8
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.4-13
70a2d8
- Escape macros in %%changelog
70a2d8
70a2d8
* Fri Feb 02 2018 Michal Cyprian <mcyprian@redhat.com> - 3.6.4-12
70a2d8
- Remove sys.executable check from change-user-install-location patch
70a2d8
Resolves: rhbz#1532287
70a2d8
70a2d8
* Thu Feb 01 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-11
70a2d8
- Define TLS cipher suite on build time.
70a2d8
70a2d8
* Wed Jan 31 2018 Tomas Orsava <torsava@redhat.com> - 3.6.4-10
70a2d8
- Disable test_gdb for all arches and test_buffer for ppc64le in anticipation
70a2d8
  of the F28 mass rebuild
70a2d8
- Re-enable these tests after the mass rebuild when they can be properly
70a2d8
  addressed
70a2d8
70a2d8
* Tue Jan 23 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-9
70a2d8
- Restore the PyExc_RecursionErrorInst public symbol
70a2d8
70a2d8
* Tue Jan 23 2018 Björn Esser <besser82@fedoraproject.org> - 3.6.4-8
70a2d8
- Add patch to explicitly link _ctypes module with -ldl (#1537489)
70a2d8
- Refactored patch for libxcrypt
70a2d8
- Re-enable strict symbol checks in the link editor
70a2d8
70a2d8
* Mon Jan 22 2018 Björn Esser <besser82@fedoraproject.org> - 3.6.4-7
70a2d8
- Add patch for libxcrypt
70a2d8
- Disable strict symbol checks in the link editor
70a2d8
70a2d8
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 3.6.4-6
70a2d8
- Rebuilt for switch to libxcrypt
70a2d8
70a2d8
* Fri Jan 19 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-5
70a2d8
- Fix localeconv() encoding for LC_NUMERIC
70a2d8
70a2d8
* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.4-4
70a2d8
- R: gdbm-devel → R: gdbm for python3-libs
70a2d8
70a2d8
* Wed Jan 17 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-3
70a2d8
- Require large enough gdbm (fixup for previous bump)
70a2d8
70a2d8
* Tue Jan 16 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-2
70a2d8
- Rebuild for reverted gdbm 1.13 on Fedora 27
70a2d8
70a2d8
* Mon Jan 15 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.4-1
70a2d8
- Update to version 3.6.4
70a2d8
70a2d8
* Fri Jan 12 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.3-5
70a2d8
- Fix the compilation of the nis module.
70a2d8
70a2d8
* Tue Nov 21 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.3-4
70a2d8
- Raise the release of platform-python obsoletes for better maintainability
70a2d8
70a2d8
* Wed Nov 15 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.3-3
70a2d8
- Obsolete platform-python and it's subpackages
70a2d8
70a2d8
* Mon Oct 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.3-2
70a2d8
- Fix memory corruption due to allocator mix
70a2d8
Resolves: rhbz#1498207
70a2d8
70a2d8
* Fri Oct 06 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.3-1
70a2d8
- Update to Python 3.6.3
70a2d8
70a2d8
* Fri Sep 29 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-19
70a2d8
- Move pathfix.py to bindir, https://github.com/fedora-python/python-rpm-porting/issues/24
70a2d8
- Make the -devel package require redhat-rpm-config
70a2d8
Resolves: rhbz#1496757
70a2d8
70a2d8
* Wed Sep 13 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.2-18
70a2d8
- Fix /usr/bin/env dependency from python3-tools
70a2d8
Resolves: rhbz#1482118
70a2d8
70a2d8
* Wed Sep 06 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.2-17
70a2d8
- Include `-g` in the flags sent to the linker (LDFLAGS)
70a2d8
Resolves: rhbz#1483222
70a2d8
70a2d8
* Tue Sep 05 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-16
70a2d8
- Specfile cleanup
70a2d8
- Make the main description also applicable to the SRPM
70a2d8
- Add audiotest.au to the test package
70a2d8
70a2d8
* Fri Sep 01 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-15
70a2d8
- Remove %%{pylibdir}/Tools/scripts/2to3
70a2d8
70a2d8
* Fri Sep 01 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-14
70a2d8
- Expat >= 2.1.0 is everywhere, remove explicit requires
70a2d8
- Conditionalize systemtap-devel BuildRequires
70a2d8
- For consistency, require /usr/sbin/ifconfig instead of net-tools
70a2d8
70a2d8
* Mon Aug 28 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-13
70a2d8
- Rename patch files to be consistent
70a2d8
- Run autotools to generate the configure script before building
70a2d8
- Merge lib64 patches (104 into 102)
70a2d8
- Skip test_bdist_rpm using test config rather than a patch (removes patch 137)
70a2d8
- Remove patches 157 and 186, which had test changes left over after upstreaming
70a2d8
- Remove patch 188, a temporary workaround for hashlib tests
70a2d8
- Merge patches 180, 206, 243, 5001 (architecture naming) into new patch 274
70a2d8
- Move python2-tools conflicts to tools subpackage (it was wrongly in tkinter)
70a2d8
70a2d8
* Mon Aug 28 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.2-12
70a2d8
- Use python3 style of calling super() without arguments in rpath
70a2d8
  patch to prevent recursion in UnixCCompiler subclasses
70a2d8
Resolves: rhbz#1458122
70a2d8
70a2d8
* Mon Aug 21 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-11
70a2d8
- Add bcond for --without optimizations
70a2d8
- Reword package descriptions
70a2d8
- Remove Group declarations
70a2d8
- Skip failing test_float_with_comma
70a2d8
70a2d8
* Mon Aug 21 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-10
70a2d8
- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack
70a2d8
70a2d8
* Wed Aug 16 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-9
70a2d8
- Use bconds for configuring the build
70a2d8
- Reorganize the initial sections
70a2d8
70a2d8
* Wed Aug 16 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-8
70a2d8
- Have /usr/bin/2to3 (rhbz#1111275)
70a2d8
- Provide 2to3 and idle3, list them in summary and description (rhbz#1076401)
70a2d8
70a2d8
* Fri Aug 11 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.2-7
70a2d8
- Revert "Add --executable option to install.py command"
70a2d8
  This enhancement is currently not needed and it can possibly
70a2d8
  collide with `pip --editable`option
70a2d8
70a2d8
* Mon Aug 07 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.2-6
70a2d8
- Fix the "urllib FTP protocol stream injection" vulnerability
70a2d8
Resolves: rhbz#1478916
70a2d8
70a2d8
* Tue Aug 01 2017 Tomas Orsava <torsava@redhat.com> - 3.6.2-5
70a2d8
- Dropped BuildRequires on db4-devel which was useful for Python 2 (module
70a2d8
  bsddb), however, no longer needod for Python 3
70a2d8
- Tested building Python 3 with and without the dependency, all tests pass and
70a2d8
  filelists of resulting RPMs are identical
70a2d8
70a2d8
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 3.6.2-4
70a2d8
- Do not generate debuginfo subpackages (#1476593)
70a2d8
- Rebuild with binutils fix for ppc64le (#1475636)
70a2d8
70a2d8
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-3
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
70a2d8
70a2d8
* Tue Jul 25 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.2-2
70a2d8
- Make test_asyncio to not depend on the current SIGHUP signal handler.
70a2d8
70a2d8
* Tue Jul 18 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.2-1
70a2d8
- Update to Python 3.6.2
70a2d8
70a2d8
* Tue Jun 27 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-10
70a2d8
- Update to the latest upstream implementation of PEP 538
70a2d8
70a2d8
* Mon Jun 26 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.1-9
70a2d8
- Make pip and distutils in user environment install into separate location
70a2d8
70a2d8
* Fri Jun 23 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-8
70a2d8
- Fix test_alpn_protocols from test_ssl
70a2d8
- Do not require rebundled setuptools dependencies
70a2d8
70a2d8
* Tue May 16 2017 Tomas Orsava <torsava@redhat.com> - 3.6.1-7
70a2d8
- Added a dependency to the devel subpackage on python3-rpm-generators which
70a2d8
  have been excised out of rpm-build
70a2d8
- Updated notes on bootstrapping Python on top of this specfile accordingly
70a2d8
- Involves: rhbz#1410631, rhbz#1444925
70a2d8
70a2d8
* Tue May 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-6
70a2d8
- Enable profile guided optimizations for x86_64 and i686 architectures
70a2d8
- Update to a newer implementation of PEP 538
70a2d8
- Update description to reflect that Python 3 is now the default Python
70a2d8
70a2d8
* Fri May 05 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-5
70a2d8
- Update PEP 538 to the latest upstream implementation
70a2d8
70a2d8
* Tue Apr 18 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-4
70a2d8
- Enable link time optimizations
70a2d8
- Move windows executables to the devel subpackage (rhbz#1426257)
70a2d8
70a2d8
* Thu Apr 13 2017 Tomas Orsava <torsava@redhat.com> - 3.6.1-3
70a2d8
- Rename python3.Xdm-config script from -debug to be arch specific
70a2d8
Resolves: rhbz#1179073
70a2d8
70a2d8
* Wed Apr 05 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.1-2
70a2d8
- Install the Makefile in its proper location (rhbz#1438219)
70a2d8
70a2d8
* Wed Mar 22 2017 Iryna Shcherbina <ishcherb@redhat.com> - 3.6.1-1
70a2d8
- Update to version 3.6.1 final
70a2d8
70a2d8
* Tue Mar 21 2017 Tomas Orsava <torsava@redhat.com> - 3.6.1-0.2.rc1
70a2d8
- Fix syntax error in %%py_byte_compile macro (rhbz#1433569)
70a2d8
70a2d8
* Thu Mar 16 2017 Iryna Shcherbina <ishcherb@redaht.com> - 3.6.1-0.1.rc1
70a2d8
- Update to Python 3.6.1 release candidate 1
70a2d8
- Add patch 264 to skip a known test failure on aarch64
70a2d8
70a2d8
* Fri Mar 10 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-21
70a2d8
- Use proper command line parsing in _testembed
70a2d8
- Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale
70a2d8
  https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale
70a2d8
70a2d8
* Mon Feb 27 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-20
70a2d8
- Add desktop entry and appdata.xml file for IDLE 3 (rhbz#1392049)
70a2d8
70a2d8
* Fri Feb 24 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.0-19
70a2d8
- Revert "Set values of prefix and exec_prefix to /usr/local for
70a2d8
  /usr/bin/python* executables..." to prevent build failures
70a2d8
  of packages using alternate build tools
70a2d8
70a2d8
* Tue Feb 21 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.0-18
70a2d8
- Set values of prefix and exec_prefix to /usr/local for
70a2d8
  /usr/bin/python* executables
70a2d8
- Use new %%_module_build macro
70a2d8
70a2d8
* Fri Feb 17 2017 Michal Cyprian <mcyprian@redhat.com> - 3.6.0-13
70a2d8
- Add --executable option to install.py command
70a2d8
70a2d8
* Wed Feb 15 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-12
70a2d8
- BuildRequire the new dependencies of setuptools when rewheel mode is enabled
70a2d8
in order for the virtualenvs to work properly
70a2d8
70a2d8
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-11
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
70a2d8
70a2d8
* Wed Feb 01 2017 Stephen Gallagher <sgallagh@redhat.com> - 3.6.0-10
70a2d8
- Add missing %%license macro
70a2d8
70a2d8
* Thu Jan 26 2017 Tomas Orsava <torsava@redhat.com> - 3.6.0-9
70a2d8
- Modify the runtime dependency of python3-libs on system-python-libs again,
70a2d8
  because previous attempt didn't work properly with dnf resolving mechanism
70a2d8
70a2d8
* Wed Jan 25 2017 Tomas Orsava <torsava@redhat.com> - 3.6.0-8
70a2d8
- Modify the runtime dependency of python3-libs on system-python-libs to use
70a2d8
  just the version and release number, but not the dist tag due to Modularity
70a2d8
70a2d8
* Mon Jan 16 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-7
70a2d8
- Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275)
70a2d8
- Skip test_aead_aes_gcm during rpmbuild
70a2d8
70a2d8
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.6.0-6
70a2d8
- Rebuild for readline 7.x
70a2d8
70a2d8
* Tue Jan 10 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-5
70a2d8
- Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644)
70a2d8
70a2d8
* Mon Jan 09 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-4
70a2d8
- Define HAVE_LONG_LONG as 1 for backwards compatibility
70a2d8
70a2d8
* Thu Jan 05 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.0-3
70a2d8
- Don't blow up on EL7 kernel (random generator) (rhbz#1410175)
70a2d8
70a2d8
* Tue Dec 27 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-1
70a2d8
- Update to Python 3.6.0 final
70a2d8
70a2d8
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-0.6.rc1
70a2d8
- Enable rewheel
70a2d8
70a2d8
* Wed Dec 07 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-0.5.rc1
70a2d8
- Update to Python 3.6.0 release candidate 1
70a2d8
70a2d8
* Mon Dec 05 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-0.4.b4
70a2d8
- Update to Python 3.6.0 beta 4
70a2d8
70a2d8
* Mon Dec 05 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-7
70a2d8
- Set to work with pip version 9.0.1
70a2d8
70a2d8
* Wed Oct 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-6
70a2d8
- Use proper patch numbering and base upstream branch for
70a2d8
porting ssl and hashlib modules to OpenSSL 1.1.0
70a2d8
- Drop hashlib patch for now
70a2d8
- Add riscv64 arch to 64bit and no-valgrind arches
70a2d8
70a2d8
* Tue Oct 11 2016 Tomáš Mráz <tmraz@redhat.com> - 3.5.2-5
70a2d8
- Make it build with OpenSSL-1.1.0 based on upstream patch
70a2d8
70a2d8
* Wed Sep 14 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-4
70a2d8
- Obsolete and Provide python35 package
70a2d8
70a2d8
* Mon Sep 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.2-3
70a2d8
- Update %%py_byte_compile macro
70a2d8
- Remove unused configure flags (rhbz#1374357)
70a2d8
70a2d8
* Fri Sep 09 2016 Tomas Orsava <torsava@redhat.com> - 3.5.2-2
70a2d8
- Updated .pyc 'bytecompilation with the newly installed interpreter' to also
70a2d8
  recompile optimized .pyc files
70a2d8
- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo
70a2d8
  files are no more
70a2d8
- Resolves rhbz#1373635
70a2d8
70a2d8
* Mon Aug 15 2016 Tomas Orsava <torsava@redhat.com> - 3.5.2-1
70a2d8
- Rebased to version 3.5.2
70a2d8
- Set to work with pip version 8.1.2
70a2d8
- Removed patches 207, 237, 241 as fixes are already contained in Python 3.5.2
70a2d8
- Removed arch or environment specific patches 194, 196, 203, and 208
70a2d8
  as test builds indicate they are no longer needed
70a2d8
- Updated patches 102, 146, and 242 to work with the new Python codebase
70a2d8
- Removed patches 200, 201, 5000 which weren't even being applied
70a2d8
70a2d8
* Tue Aug 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-15
70a2d8
- Fix for CVE-2016-1000110 HTTPoxy attack
70a2d8
- SPEC file cleanup
70a2d8
70a2d8
* Mon Aug 01 2016 Michal Toman <mtoman@fedoraproject.org> - 3.5.1-14
70a2d8
- Build properly on MIPS
70a2d8
70a2d8
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.1-13
70a2d8
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
70a2d8
70a2d8
* Fri Jul 08 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-12
70a2d8
- Refactor patch for properly fixing CVE-2016-5636
70a2d8
70a2d8
* Fri Jul 08 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-11
70a2d8
- Fix test_pyexpat failure with Expat version of 2.2.0
70a2d8
70a2d8
* Fri Jul 08 2016 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-10
70a2d8
- Move xml module to system-python-libs
70a2d8
70a2d8
* Thu Jun 16 2016 Tomas Orsava <torsava@redhat.com> - 3.5.1-9
70a2d8
- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack
70a2d8
- Raise an error when STARTTLS fails
70a2d8
- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647
70a2d8
- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345
70a2d8
- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394
70a2d8
70a2d8
* Mon Jun 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 3.5.1-8
70a2d8
- Added patch for fixing possible integer overflow and heap corruption in zipimporter.get_data()
70a2d8
70a2d8
* Fri Mar 04 2016 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-7
70a2d8
- Move distutils to system-python-libs
70a2d8
70a2d8
* Wed Feb 24 2016 Robert Kuska <rkuska@redhat.com> - 3.5.1-6
70a2d8
- Provide python3-enum34
70a2d8
70a2d8
* Fri Feb 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-5
70a2d8
- Provide System Python packages and macros
70a2d8
70a2d8
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.1-4
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
70a2d8
70a2d8
* Wed Jan 13 2016 Orion Poplwski <orion@cora.nwra.com> - 3.5.1-2
70a2d8
- Drop python3 macros, require python/python3-rpm-macros
70a2d8
70a2d8
* Mon Dec 14 2015 Robert Kuska <rkuska@redhat.com> - 3.5.1-1
70a2d8
- Update to 3.5.1
70a2d8
- Removed patch 199 and 207 (upstream)
70a2d8
70a2d8
* Sun Nov 15 2015 Robert Kuska <rkuska@redhat.com> - 3.5.0-5
70a2d8
- Remove versioned libpython from devel package
70a2d8
70a2d8
* Fri Nov 13 2015 Than Ngo <than@redhat.com> 3.5.0-4
70a2d8
- add correct arch for ppc64/ppc64le to fix build failure
70a2d8
70a2d8
* Wed Nov 11 2015 Robert Kuska <rkuska@redhat.com> - 3.5.0-3
70a2d8
- Hide the private _Py_atomic_xxx symbols from public header
70a2d8
70a2d8
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 3.5.0-2
70a2d8
- Rebuild with wheel set to 1
70a2d8
70a2d8
* Tue Sep 15 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.5.0-1
70a2d8
- Update to 3.5.0
70a2d8
70a2d8
* Mon Jun 29 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.3-4
70a2d8
- python3-devel: Require python-macros for version independant macros such as
70a2d8
  python_provide. See fpc#281 and fpc#534.
70a2d8
70a2d8
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.3-3
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
70a2d8
70a2d8
* Wed Jun 17 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.3-4
70a2d8
- Use 1024bit DH key in test_ssl
70a2d8
- Use -O0 when compiling -debug build
70a2d8
- Update pip version variable to the version we actually ship
70a2d8
70a2d8
* Wed Jun 17 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.3-3
70a2d8
- Make relocating Python by changing _prefix actually work
70a2d8
Resolves: rhbz#1231801
70a2d8
70a2d8
* Mon May  4 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.4.3-2
70a2d8
- Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches
70a2d8
70a2d8
* Thu Mar 12 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.3-1
70a2d8
- Updated to 3.4.3
70a2d8
- BuildPython now accepts additional build options
70a2d8
- Temporarily disabled test_gdb on arm (rhbz#1196181)
70a2d8
70a2d8
* Wed Feb 25 2015 Matej Stuchlik <mstuchli@redhat.com> - 3.4.2-7
70a2d8
- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64
70a2d8
  (http://bugs.python.org/issue23433)
70a2d8
70a2d8
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 3.4.2-6
70a2d8
- Rebuilt for Fedora 23 Change
70a2d8
  https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
70a2d8
70a2d8
* Tue Feb 17 2015 Ville Skyttä <ville.skytta@iki.fi> - 3.4.2-5
70a2d8
- Own systemtap dirs (#710733)
70a2d8
70a2d8
* Mon Jan 12 2015 Dan Horák <dan[at]danny.cz> - 3.4.2-4
70a2d8
- build with valgrind on ppc64le
70a2d8
- disable test_gdb on s390(x) until rhbz#1181034 is resolved
70a2d8
70a2d8
* Tue Dec 16 2014 Robert Kuska <rkuska@redhat.com> - 3.4.2-3
70a2d8
- New patches: 170 (gc asserts), 200 (gettext headers),
70a2d8
  201 (gdbm memory leak)
70a2d8
70a2d8
* Thu Dec 11 2014 Robert Kuska <rkuska@redhat.com> - 3.4.2-2
70a2d8
- OpenSSL disabled SSLv3 in SSLv23 method
70a2d8
70a2d8
* Thu Nov 13 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.2-1
70a2d8
- Update to 3.4.2
70a2d8
- Refreshed patches: 156 (gdb autoload)
70a2d8
- Removed: 195 (Werror declaration), 197 (CVE-2014-4650)
70a2d8
70a2d8
* Mon Nov 03 2014 Slavek Kabrda <bkabrda@redhat.com> - 3.4.1-16
70a2d8
- Fix CVE-2014-4650 - CGIHTTPServer URL handling
70a2d8
Resolves: rhbz#1113529
70a2d8
70a2d8
* Sun Sep 07 2014 Karsten Hopp <karsten@redhat.com> 3.4.1-15
70a2d8
- exclude test_gdb on ppc* (rhbz#1132488)
70a2d8
70a2d8
* Thu Aug 21 2014 Slavek Kabrda <bkabrda@redhat.com> - 3.4.1-14
70a2d8
- Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1
70a2d8
70a2d8
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.1-13
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
70a2d8
70a2d8
* Sun Jun  8 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.4.1-12
70a2d8
- aarch64 has valgrind, just list those that don't support it
70a2d8
70a2d8
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.1-11
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
70a2d8
70a2d8
* Wed Jun 04 2014 Karsten Hopp <karsten@redhat.com> 3.4.1-10
70a2d8
- bump release and rebuild to link with the correct tcl/tk libs on ppcle
70a2d8
70a2d8
* Tue Jun 03 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.1-9
70a2d8
- Change paths to bundled projects in rewheel patch
70a2d8
70a2d8
* Fri May 30 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-8
70a2d8
- In config script, use uname -m to write the arch
70a2d8
70a2d8
* Thu May 29 2014 Dan Horák <dan[at]danny.cz> - 3.4.1-7
70a2d8
- update the arch list where valgrind exists - %%power64 includes also
70a2d8
    ppc64le which is not supported yet
70a2d8
70a2d8
* Thu May 29 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-6
70a2d8
- Forward arguments to the arch specific config script
70a2d8
Resolves: rhbz#1102683
70a2d8
70a2d8
* Wed May 28 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-5
70a2d8
- Rename python3.Xm-config script to arch specific.
70a2d8
Resolves: rhbz#1091815
70a2d8
70a2d8
* Tue May 27 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.1-4
70a2d8
- Use python3-*, not python-* runtime requires on setuptools and pip
70a2d8
- rebuild for tcl-8.6
70a2d8
70a2d8
* Tue May 27 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.1-3
70a2d8
- Update the rewheel module
70a2d8
70a2d8
* Mon May 26 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-2
70a2d8
- Fix multilib dependencies.
70a2d8
Resolves: rhbz#1091815
70a2d8
70a2d8
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.1-1
70a2d8
- Update to Python 3.4.1
70a2d8
70a2d8
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-8
70a2d8
- Fix test_gdb failure on ppc64le
70a2d8
Resolves: rhbz#1095355
70a2d8
70a2d8
* Thu May 22 2014 Miro Hrončok <mhroncok@redhat.com> - 3.4.0-7
70a2d8
- Add macro %%python3_version_nodots
70a2d8
70a2d8
* Sun May 18 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-6
70a2d8
- Disable test_faulthandler, test_gdb on aarch64
70a2d8
Resolves: rhbz#1045193
70a2d8
70a2d8
* Fri May 16 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-5
70a2d8
- Don't add Werror=declaration-after-statement for extension
70a2d8
  modules through setup.py (PyBT#21121)
70a2d8
70a2d8
* Mon May 12 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-4
70a2d8
- Add setuptools and pip to Requires
70a2d8
70a2d8
* Tue Apr 29 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-3
70a2d8
- Point __os_install_post to correct brp-* files
70a2d8
70a2d8
* Tue Apr 15 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-2
70a2d8
- Temporarily disable tests requiring SIGHUP (rhbz#1088233)
70a2d8
70a2d8
* Tue Apr 15 2014 Matej Stuchlik <mstuchli@redhat.com> - 3.4.0-1
70a2d8
- Update to Python 3.4 final
70a2d8
- Add patch adding the rewheel module
70a2d8
- Merge patches from master
70a2d8
70a2d8
* Wed Jan 08 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.0-0.1.b2
70a2d8
- Update to Python 3.4 beta 2.
70a2d8
- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise)
70a2d8
- Dropped patches: 114 (statvfs constants), 177 (platform unicode)
70a2d8
70a2d8
* Mon Nov 25 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.0-0.1.b1
70a2d8
- Update to Python 3.4 beta 1.
70a2d8
- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT
70a2d8
ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips),
70a2d8
157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port)
70a2d8
- Removed patch 00187 (remove pthread atfork; upstreamed)
70a2d8
70a2d8
* Mon Nov 04 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.4.0-0.1.a4
70a2d8
- Update to Python 3.4 alpha 4.
70a2d8
- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib),
70a2d8
114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in
70a2d8
test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise),
70a2d8
157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise
70a2d8
from py_compile)
70a2d8
- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in
70a2d8
Koji), 142 (the mock issue that caused this is fixed)
70a2d8
- Added patch 187 (remove thread atfork) - will be in next version
70a2d8
- Refreshed script for checking pyc and pyo timestamps with new ignored files.
70a2d8
- The fips patch is disabled for now until upstream makes a final decision
70a2d8
what to do with sha3 implementation for 3.4.0.
70a2d8
70a2d8
* Wed Oct 30 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-7
70a2d8
- Bytecompile all *.py files properly during build (rhbz#1023607)
70a2d8
70a2d8
* Fri Aug 23 2013 Matej Stuchlik <mstuchli@redhat.com> - 3.3.2-6
70a2d8
- Added fix for CVE-2013-4238 (rhbz#996399)
70a2d8
70a2d8
* Fri Jul 26 2013 Dennis Gilmore <dennis@ausil.us> - 3.3.2-5
70a2d8
- fix up indentation in arm patch
70a2d8
70a2d8
* Fri Jul 26 2013 Dennis Gilmore <dennis@ausil.us> - 3.3.2-4
70a2d8
- disable a test that fails on arm
70a2d8
- enable valgrind support on arm arches
70a2d8
70a2d8
* Tue Jul 02 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-3
70a2d8
- Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696).
70a2d8
70a2d8
* Mon May 20 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-2
70a2d8
- Add patch for CVE-2013-2099 (rhbz#963261).
70a2d8
70a2d8
* Thu May 16 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.2-1
70a2d8
- Updated to Python 3.3.2.
70a2d8
- Refreshed patches: 153 (gdb test noise)
70a2d8
- Dropped patches: 175 (configure -Wformat, fixed upstream), 182 (gdb
70a2d8
test threads)
70a2d8
- Synced patch numbers with python.spec.
70a2d8
70a2d8
* Thu May  9 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.1-4
70a2d8
- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010)
70a2d8
70a2d8
* Thu May 02 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.1-3
70a2d8
- Add patch that enables building on ppc64p7 (replace the sed, so that
70a2d8
we get consistent with python2 spec and it's more obvious that we're doing it.
70a2d8
70a2d8
* Wed Apr 24 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.1-2
70a2d8
- Add fix for gdb tests failing on arm, rhbz#951802.
70a2d8
70a2d8
* Tue Apr 09 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 3.3.1-1
70a2d8
- Updated to Python 3.3.1.
70a2d8
- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips),
70a2d8
153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just
70a2d8
keeping few more downstream tests)
70a2d8
- Removed patches: 3 (audiotest.au made it to upstream tarball)
70a2d8
- Removed workaround for http://bugs.python.org/issue14774, discussed in
70a2d8
http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8.
70a2d8
70a2d8
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-10
70a2d8
- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates
70a2d8
70a2d8
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-9
70a2d8
- renumber patches to keep them in sync with python.spec
70a2d8
70a2d8
* Fri Mar 15 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 3.3.0-8
70a2d8
- Fix error in platform.platform() when non-ascii byte strings are decoded to
70a2d8
  unicode (rhbz#922149)
70a2d8
70a2d8
* Thu Mar 14 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 3.3.0-7
70a2d8
- Fix up shared library extension (rhbz#889784)
70a2d8
70a2d8
* Thu Mar 07 2013 Karsten Hopp <karsten@redhat.com> 3.3.0-6
70a2d8
- add ppc64p7 build target, optimized for Power7
70a2d8
70a2d8
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-5
70a2d8
- add workaround for ENOPROTOOPT seen running selftests in Koji
70a2d8
(rhbz#913732)
70a2d8
70a2d8
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-4
70a2d8
- remove config flag from /etc/rpm/macros.{python3|pybytecompile}
70a2d8
70a2d8
* Mon Feb 11 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-3
70a2d8
- add aarch64 (rhbz#909783)
70a2d8
70a2d8
* Thu Nov 29 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-2
70a2d8
- add BR on bluez-libs-devel (rhbz#879720)
70a2d8
70a2d8
* Sat Sep 29 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-1
70a2d8
- 3.3.0rc3 -> 3.3.0; drop alphatag
70a2d8
70a2d8
* Mon Sep 24 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.6.rc3
70a2d8
- 3.3.0rc2 -> 3.3.0rc3
70a2d8
70a2d8
* Mon Sep 10 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.5.rc2
70a2d8
- 3.3.0rc1 -> 3.3.0rc2; refresh patch 55
70a2d8
70a2d8
* Mon Aug 27 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.4.rc1
70a2d8
- 3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55
70a2d8
70a2d8
* Mon Aug 13 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.3.b2
70a2d8
- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111,
70a2d8
134, 153, 160; regenenerate autotools patch; rework systemtap patch to work
70a2d8
correctly when LANG=C (patch 55); importlib.test was moved to
70a2d8
test.test_importlib upstream
70a2d8
70a2d8
* Mon Aug 13 2012 Karsten Hopp <karsten@redhat.com> 3.3.0-0.2.b1
70a2d8
- disable some failing checks on PPC* (rhbz#846849)
70a2d8
70a2d8
* Fri Aug  3 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.1.b1
70a2d8
- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3
70a2d8
- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream
70a2d8
patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from
70a2d8
configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326);
70a2d8
"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped
70a2d8
for stdlib (upstream issues 10645 and 12218); email/test moved to
70a2d8
test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add
70a2d8
_decimal and _lzma modules; make collections modules explicit in payload again
70a2d8
(upstream issue 11085); add _testbuffer module to tests subpackage (added in
70a2d8
upstream commit 3f9b3b6f7ff0); fix test failures (patches 160 and 161);
70a2d8
workaround erroneously shared _sysconfigdata.py upstream issue #14774; fix
70a2d8
distutils.sysconfig traceback (patch 162); add BuildRequires: xz-devel (for
70a2d8
_lzma module); skip some tests within test_socket (patch 163)
70a2d8
70a2d8
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.3-11
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
70a2d8
70a2d8
* Fri Jul 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.1.b1
70a2d8
70a2d8
* Fri Jun 22 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-10
70a2d8
- use macro for power64 (rhbz#834653)
70a2d8
70a2d8
* Mon Jun 18 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-9
70a2d8
- fix missing include in uid/gid handling patch (patch 157; rhbz#830405)
70a2d8
70a2d8
* Wed May 30 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 3.2.3-8
70a2d8
- fix tapset for debug build
70a2d8
70a2d8
* Tue May 15 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-7
70a2d8
- update uid/gid handling to avoid int overflows seen with uid/gid
70a2d8
values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470)
70a2d8
70a2d8
* Fri May  4 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-6
70a2d8
- renumber autotools patch from 300 to 5000
70a2d8
- specfile cleanups
70a2d8
70a2d8
* Mon Apr 30 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-5
70a2d8
- fix test_gdb.py (patch 156; rhbz#817072)
70a2d8
70a2d8
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-4
70a2d8
- avoid allocating thunks in ctypes unless absolutely necessary, to avoid
70a2d8
generating SELinux denials on "import ctypes" and "import uuid" when embedding
70a2d8
Python within httpd (patch 155; rhbz#814391)
70a2d8
70a2d8
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-3
70a2d8
- add explicit version requirements on expat to avoid linkage problems with
70a2d8
XML_SetHashSalt
70a2d8
70a2d8
* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-2
70a2d8
- fix test_gdb (patch 153)
70a2d8
70a2d8
* Wed Apr 11 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
70a2d8
- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic
70a2d8
values), 149 (__pycache__ fix); add patch 152 (test_gdb regex)
70a2d8
70a2d8
* Thu Feb  9 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.2.2-13
70a2d8
- use newly installed python for byte compiling (now for real)
70a2d8
70a2d8
* Sun Feb  5 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.2.2-12
70a2d8
- use newly installed python for byte compiling (#787498)
70a2d8
70a2d8
* Wed Jan  4 2012 Ville Skyttä <ville.skytta@iki.fi> - 3.2.2-11
70a2d8
- Build with $RPM_LD_FLAGS (#756863).
70a2d8
- Use xz-compressed source tarball.
70a2d8
70a2d8
* Wed Dec 07 2011 Karsten Hopp <karsten@redhat.com> 3.2.2-10
70a2d8
- disable rAssertAlmostEqual in test_cmath on PPC (#750811)
70a2d8
70a2d8
* Mon Oct 17 2011 Rex Dieter <rdieter@fedoraproject.org> - 3.2.2-9
70a2d8
- python3-devel missing autogenerated pkgconfig() provides (#746751)
70a2d8
70a2d8
* Mon Oct 10 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-8
70a2d8
- cherrypick fix for distutils not using __pycache__ when byte-compiling
70a2d8
files (rhbz#722578)
70a2d8
70a2d8
* Fri Sep 30 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-7
70a2d8
- re-enable gdbm (patch 148; rhbz#742242)
70a2d8
70a2d8
* Fri Sep 16 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-6
70a2d8
- add a sys._debugmallocstats() function (patch 147)
70a2d8
70a2d8
* Wed Sep 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-5
70a2d8
- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and
70a2d8
_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146)
70a2d8
70a2d8
* Tue Sep 13 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-4
70a2d8
- disable gdbm module to prepare for gdbm soname bump
70a2d8
70a2d8
* Mon Sep 12 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-3
70a2d8
- renumber and rename patches for consistency with python.spec (8 to 55, 106
70a2d8
to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143)
70a2d8
70a2d8
* Sat Sep 10 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-2
70a2d8
- rewrite of "check", introducing downstream-only hooks for skipping specific
70a2d8
cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more
70a2d8
fine-grained manner than before; (patches 106, 133-142 sparsely, moving
70a2d8
patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141)
70a2d8
70a2d8
* Tue Sep  6 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-1
70a2d8
- 3.2.2
70a2d8
70a2d8
* Thu Sep  1 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-7
70a2d8
- run selftests with "--verbose"
70a2d8
- disable parts of test_io on ppc (rhbz#732998)
70a2d8
70a2d8
* Wed Aug 31 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-6
70a2d8
- use "--findleaks --verbose3" when running test suite
70a2d8
70a2d8
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-5
70a2d8
- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit
70a2d8
ppc to avoid aliasing violations (patch 130; rhbz#698726)
70a2d8
70a2d8
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-4
70a2d8
- don't use --with-tsc on ppc64 debug builds (rhbz#698726)
70a2d8
70a2d8
* Thu Aug 18 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-3
70a2d8
- add %%python3_version to the rpm macros (rhbz#719082)
70a2d8
70a2d8
* Mon Jul 11 2011 Dennis Gilmore <dennis@ausil.us> - 3.2.1-2
70a2d8
- disable some tests on sparc arches
70a2d8
70a2d8
* Mon Jul 11 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.1-1
70a2d8
- 3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling
70a2d8
of static library build (due to Modules/_testembed; patch 6), autotool
70a2d8
intermediates (patch 300)
70a2d8
70a2d8
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-5
70a2d8
- use the gdb hooks from the upstream tarball, rather than keeping our own copy
70a2d8
70a2d8
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-4
70a2d8
- don't run test_openpty and test_pty in %%check
70a2d8
70a2d8
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-3
70a2d8
- cleanup of BuildRequires; add comment headings to specfile sections
70a2d8
70a2d8
* Tue Apr 19 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-2
70a2d8
- fix the libpython.stp systemtap tapset (rhbz#697730)
70a2d8
70a2d8
* Mon Feb 21 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-1
70a2d8
- 3.2
70a2d8
- drop alphatag
70a2d8
- regenerate autotool patch
70a2d8
70a2d8
* Mon Feb 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.13.rc3
70a2d8
- add a /usr/bin/python3-debug symlink within the debug subpackage
70a2d8
70a2d8
* Mon Feb 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.12.rc3
70a2d8
- 3.2rc3
70a2d8
- regenerate autotool patch
70a2d8
70a2d8
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-0.11.rc2
70a2d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
70a2d8
70a2d8
* Mon Jan 31 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.10.rc2
70a2d8
- 3.2rc2
70a2d8
70a2d8
* Mon Jan 17 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.9.rc1
70a2d8
- 3.2rc1
70a2d8
- rework patch 6 (static lib removal)
70a2d8
- remove upstreamed patch 130 (ppc debug build)
70a2d8
- regenerate patch 300 (autotool intermediates)
70a2d8
- updated packaging to reflect upstream rewrite of "Demo" (issue 7962)
70a2d8
- added libpython3.so and 2to3-3.2
70a2d8
70a2d8
* Wed Jan  5 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.8.b2
70a2d8
- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker
70a2d8
error with dynamic annotations (when configured using --with-valgrind)
70a2d8
- fix the ppc build of the debug configuration (patch 130; rhbz#661510)
70a2d8
70a2d8
* Tue Jan  4 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.7.b2
70a2d8
- add --with-valgrind to configuration (on architectures that support this)
70a2d8
70a2d8
* Wed Dec 29 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.6.b2
70a2d8
- work around test_subprocess failure seen in koji (patch 129)
70a2d8
70a2d8
* Tue Dec 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.b2
70a2d8
- 3.2b2
70a2d8
- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs),
70a2d8
patch 8 (systemtap), patch 102 (lib64)
70a2d8
- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149),
70a2d8
patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar
70a2d8
fixed upstream)
70a2d8
- regenerate patch 300 (autotool intermediates)
70a2d8
- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127,
70a2d8
patch 128)
70a2d8
- stop using runtest.sh in %%check (dropped by upstream), replacing with
70a2d8
regrtest; fixup list of failing tests
70a2d8
- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros
70a2d8
- rework manifests of shared libraries to use "SOABI_" macros, reflecting
70a2d8
PEP 3149
70a2d8
- drop itertools, operator and _collections modules from the manifests as py3k
70a2d8
commit r84058 moved these inside libpython; json/tests moved to test/json_tests
70a2d8
- move turtle code into the tkinter subpackage
70a2d8
70a2d8
* Wed Nov 17 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.a1
70a2d8
- fix sysconfig to not rely on the -devel subpackage (rhbz#653058)
70a2d8
70a2d8
* Thu Sep  9 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.4.a1
70a2d8
- move most of the content of the core package to the libs subpackage, given
70a2d8
that the libs aren't meaningfully usable without the standard libraries
70a2d8
70a2d8
* Wed Sep  8 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.3.a1
70a2d8
- Move test.support to core package (rhbz#596258)
70a2d8
- Add various missing __pycache__ directories to payload
70a2d8
70a2d8
* Sun Aug 22 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.2-0.2.a1
70a2d8
- Add __pycache__ directory for site-packages
70a2d8
70a2d8
* Sun Aug 22 2010 Thomas Spura <tomspur@fedoraproject.org> - 3.2-0.1.a1
70a2d8
- on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch)
70a2d8
- make find-provides-without-python-sonames.sh 64bit aware
70a2d8
70a2d8
* Sat Aug 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.0.a1
70a2d8
- 3.2a1; add alphatag
70a2d8
- rework %%files in the light of PEP 3147 (__pycache__)
70a2d8
- drop our configuration patch to Setup.dist (patch 0): setup.py should do a
70a2d8
better job of things, and the %%files explicitly lists our modules (r82746
70a2d8
appears to break the old way of doing things).  This leads to various modules
70a2d8
changing from "foomodule.so" to "foo.so".  It also leads to the optimized build
70a2d8
dropping the _sha1, _sha256 and _sha512 modules, but these are provided by
70a2d8
_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for
70a2d8
testing/devel purposes)
70a2d8
- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase
70a2d8
- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat
70a2d8
plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983)
70a2d8
- add machinery for rebuilding "configure" and friends, using the correct
70a2d8
version of autoconf (patch 300)
70a2d8
- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125)
70a2d8
- "modulator" was removed upstream
70a2d8
- drop "-b" from patch applications affecting .py files to avoid littering the
70a2d8
installation tree
70a2d8
70a2d8
* Thu Aug 19 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.1.2-13
70a2d8
- Turn on computed-gotos.
70a2d8
- Fix for parallel make and graminit.c
70a2d8
70a2d8
* Fri Jul  2 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-12
70a2d8
- rebuild
70a2d8
70a2d8
* Fri Jul  2 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-11
70a2d8
- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to
70a2d8
a segfault running test_pyexpat.py (patch 110; upstream issue 9054; rhbz#610312)
70a2d8
70a2d8
* Fri Jun  4 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-10
70a2d8
- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819)
70a2d8
- reformat whitespace in audioop.c (patch 106)
70a2d8
- CVE-2010-1634: fix various integer overflow checks in the audioop
70a2d8
module (patch 107)
70a2d8
- CVE-2010-2089: further checks within the audioop module (patch 108)
70a2d8
- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 109)
70a2d8
70a2d8
* Thu May 27 2010 Dan Horák <dan[at]danny.cz> - 3.1.2-9
70a2d8
- reading the timestamp counter is available only on some arches (see Python/ceval.c)
70a2d8
70a2d8
* Wed May 26 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-8
70a2d8
- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os")
70a2d8
(patch 105)
70a2d8
70a2d8
* Tue May 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-7
70a2d8
- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options
70a2d8
(patch 104); enable them and the WITH_TSC option within the debug build
70a2d8
70a2d8
* Mon May 24 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-6
70a2d8
- build and install two different configurations of Python 3: debug and
70a2d8
standard, packaging the debug build in a new "python3-debug" subpackage
70a2d8
(patch 103)
70a2d8
70a2d8
* Tue Apr 13 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-5
70a2d8
- exclude test_http_cookies when running selftests, due to hang seen on
70a2d8
http://koji.fedoraproject.org/koji/taskinfo?taskID=2088463 (cancelled after
70a2d8
11 hours)
70a2d8
- update python-gdb.py from v5 to py3k version submitted upstream
70a2d8
70a2d8
* Wed Mar 31 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-4
70a2d8
- update python-gdb.py from v4 to v5 (improving performance and stability,
70a2d8
adding commands)
70a2d8
70a2d8
* Thu Mar 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-3
70a2d8
- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference
70a2d8
cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets
70a2d8
and exceptions)
70a2d8
70a2d8
* Wed Mar 24 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-2
70a2d8
- refresh gdb hooks to v3 (reworking how they are packaged)
70a2d8
70a2d8
* Sun Mar 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.2-1
70a2d8
- update to 3.1.2: http://www.python.org/download/releases/3.1.2/
70a2d8
- drop upstreamed patch 2 (.pyc permissions handling)
70a2d8
- drop upstream patch 5 (fix for the test_tk and test_ttk_* selftests)
70a2d8
- drop upstreamed patch 200 (path-fixing script)
70a2d8
70a2d8
* Sat Mar 20 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-28
70a2d8
- fix typo in libpython.stp (rhbz:575336)
70a2d8
70a2d8
* Fri Mar 12 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-27
70a2d8
- add pyfuntop.stp example (source 7)
70a2d8
- convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for
70a2d8
consistency with python.spec
70a2d8
70a2d8
* Mon Feb 15 2010 Thomas Spura <tomspur@fedoraproject.org> - 3.1.1-26
70a2d8
- rebuild for new package of redhat-rpm-config (rhbz:564527)
70a2d8
- use 'install -p' when running 'make install'
70a2d8
70a2d8
* Fri Feb 12 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-25
70a2d8
- split configure options into multiple lines for easy of editing
70a2d8
- add systemtap static markers (wcohen, mjw, dmalcolm; patch 8), a systemtap
70a2d8
tapset defining "python.function.entry" and "python.function.return" to make
70a2d8
the markers easy to use (dmalcolm; source 5), and an example of using the
70a2d8
tapset to the docs (dmalcolm; source 6) (rhbz:545179)
70a2d8
70a2d8
* Mon Feb  8 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-24
70a2d8
- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to
70a2d8
%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from
70a2d8
ldconfig (bug 562980), and which should also ensure it becomes part of the
70a2d8
debuginfo subpackage, rather than the libs subpackage
70a2d8
- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream
70a2d8
configure script, and to avoid fragile scripts that try to figure this out
70a2d8
dynamically (e.g. for the -gdb.py change)
70a2d8
70a2d8
* Mon Feb  8 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-23
70a2d8
- add gdb hooks for easier debugging (Source 4)
70a2d8
70a2d8
* Thu Jan 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-22
70a2d8
- update python-3.1.1-config.patch to remove downstream customization of build
70a2d8
of pyexpat and elementtree modules
70a2d8
- add patch adapted from upstream (patch 7) to add support for building against
70a2d8
system expat; add --with-system-expat to "configure" invocation
70a2d8
- remove embedded copies of expat and zlib from source tree during "prep"
70a2d8
70a2d8
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-21
70a2d8
- introduce %%{dynload_dir} macro
70a2d8
- explicitly list all lib-dynload files, rather than dynamically gathering the
70a2d8
payload into a temporary text file, so that we can be sure what we are
70a2d8
shipping
70a2d8
- introduce a macros.pybytecompile source file, to help with packaging python3
70a2d8
modules (Source3; written by Toshio)
70a2d8
- rename "2to3-3" to "python3-2to3" to better reflect python 3 module packaging
70a2d8
plans
70a2d8
70a2d8
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-20
70a2d8
- change python-3.1.1-config.patch to remove our downstream change to curses
70a2d8
configuration in Modules/Setup.dist, so that the curses modules are built using
70a2d8
setup.py with the downstream default (linking against libncursesw.so, rather
70a2d8
than libncurses.so), rather than within the Makefile; add a test to %%install
70a2d8
to verify the dso files that the curses module is linked against the correct
70a2d8
DSO (bug 539917; changes _cursesmodule.so -> _curses.so)
70a2d8
70a2d8
* Fri Jan 22 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-19
70a2d8
- add %%py3dir macro to macros.python3 (to be used during unified python 2/3
70a2d8
builds for setting up the python3 copy of the source tree)
70a2d8
70a2d8
* Wed Jan 20 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-18
70a2d8
- move lib2to3 from -tools subpackage to main package (bug 556667)
70a2d8
70a2d8
* Sun Jan 17 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-17
70a2d8
- patch Makefile.pre.in to avoid building static library (patch 6, bug 556092)
70a2d8
70a2d8
* Fri Jan 15 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-16
70a2d8
- use the %%{_isa} macro to ensure that the python-devel dependency on python
70a2d8
is for the correct multilib arch (#555943)
70a2d8
- delete bundled copy of libffi to make sure we use the system one
70a2d8
70a2d8
* Fri Jan 15 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-15
70a2d8
- fix the URLs output by pydoc so they point at python.org's 3.1 build of the
70a2d8
docs, rather than the 2.6 build
70a2d8
70a2d8
* Wed Jan 13 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-14
70a2d8
- replace references to /usr with %%{_prefix}; replace references to
70a2d8
/usr/include with %%{_includedir} (Toshio)
70a2d8
70a2d8
* Mon Jan 11 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-13
70a2d8
- fix permission on find-provides-without-python-sonames.sh from 775 to 755
70a2d8
70a2d8
* Mon Jan 11 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-12
70a2d8
- remove build-time requirements on tix and tk, since we already have
70a2d8
build-time requirements on the -devel subpackages for each of these (Thomas
70a2d8
Spura)
70a2d8
- replace usage of %%define with %%global (Thomas Spura)
70a2d8
- remove forcing of CC=gcc as this old workaround for bug 109268 appears to
70a2d8
longer be necessary
70a2d8
- move various test files from the "tools"/"tkinter" subpackages to the "test"
70a2d8
subpackage
70a2d8
70a2d8
* Thu Jan  7 2010 David Malcolm <dmalcolm@redhat.com> - 3.1.1-11
70a2d8
- add %%check section (thanks to Thomas Spura)
70a2d8
- update patch 4 to use correct shebang line
70a2d8
- get rid of stray patch file from buildroot
70a2d8
70a2d8
* Tue Nov 17 2009 Andrew McNabb <amcnabb@mcnabbs.org> - 3.1.1-10
70a2d8
- switched a few instances of "find |xargs" to "find -exec" for consistency.
70a2d8
- made the description of __os_install_post more accurate.
70a2d8
70a2d8
* Wed Nov  4 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-9
70a2d8
- add macros.python3 to the -devel subpackage, containing common macros for use
70a2d8
when packaging python3 modules
70a2d8
70a2d8
* Tue Nov  3 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-8
70a2d8
- add a provides of "python(abi)" (see bug 532118)
70a2d8
- fix issues identified by a.badger in package review (bug 526126, comment 39):
70a2d8
  - use "3" thoughout metadata, rather than "3.*"
70a2d8
  - remove conditional around "pkg-config openssl"
70a2d8
  - use standard cleanup of RPM_BUILD_ROOT
70a2d8
  - replace hardcoded references to /usr with _prefix macro
70a2d8
  - stop removing egg-info files
70a2d8
  - use /usr/bin/python3.1 rather than /use/bin/env python3.1 when fixing
70a2d8
up shebang lines
70a2d8
  - stop attempting to remove no-longer-present .cvsignore files
70a2d8
  - move the post/postun sections above the "files" sections
70a2d8
70a2d8
* Thu Oct 29 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-7
70a2d8
- remove commented-away patch 51 (python-2.6-distutils_rpm.patch): the -O1
70a2d8
flag is used by default in the upstream code
70a2d8
- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py
70a2d8
_init_posix(), so we include them in the core package, along with their parent
70a2d8
directories (bug 531901)
70a2d8
70a2d8
* Tue Oct 27 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-6
70a2d8
- reword description, based on suggestion by amcnabb
70a2d8
- fix the test_email and test_imp selftests (patch 3 and patch 4 respectively)
70a2d8
- fix the test_tk and test_ttk_* selftests (patch 5)
70a2d8
- fix up the specfile's handling of shebang/perms to avoid corrupting
70a2d8
test_httpservers.py (sed command suggested by amcnabb)
70a2d8
70a2d8
* Thu Oct 22 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-5
70a2d8
- fixup importlib/_bootstrap.py so that it correctly handles being unable to
70a2d8
open .pyc files for writing (patch 2, upstream issue 7187)
70a2d8
- actually apply the rpath patch (patch 1)
70a2d8
70a2d8
* Thu Oct 22 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-4
70a2d8
- update patch0's setup of the crypt module to link it against libcrypt
70a2d8
- update patch0 to comment "datetimemodule" back out, so that it is built
70a2d8
using setup.py (see Setup, option 3), thus linking it statically against
70a2d8
timemodule.c and thus avoiding a run-time "undefined symbol:
70a2d8
_PyTime_DoubleToTimet" failure on "import datetime"
70a2d8
70a2d8
* Wed Oct 21 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-3
70a2d8
- remove executable flag from various files that shouldn't have it
70a2d8
- fix end-of-line encodings
70a2d8
- fix a character encoding
70a2d8
70a2d8
* Tue Oct 20 2009 David Malcolm <dmalcolm@redhat.com> - 3.1.1-2
70a2d8
- disable invocation of brp-python-bytecompile in postprocessing, since
70a2d8
it would be with the wrong version of python (adapted from ivazquez'
70a2d8
python3000 specfile)
70a2d8
- use a custom implementation of __find_provides in order to filter out bogus
70a2d8
provides lines for the various .so modules
70a2d8
- fixup distutils/unixccompiler.py to remove standard library path from rpath
70a2d8
(patch 1, was Patch0 in ivazquez' python3000 specfile)
70a2d8
- split out libraries into a -libs subpackage
70a2d8
- update summaries and descriptions, basing content on ivazquez' specfile
70a2d8
- fixup executable permissions on .py, .xpm and .xbm files, based on work in
70a2d8
ivazquez's specfile
70a2d8
- get rid of DOS batch files
70a2d8
- fixup permissions for shared libraries from non-standard 555 to standard 755
70a2d8
- move /usr/bin/python*-config to the -devel subpackage
70a2d8
- mark various directories as being documentation
70a2d8
70a2d8
* Thu Sep 24 2009 Andrew McNabb <amcnabb@mcnabbs.org> 3.1.1-1
70a2d8
- Initial package for Python 3.