The package rpms/python3.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/python3.git/commit/?id=1e3b8fac0784b... https://src.fedoraproject.org/cgit/rpms/python3.git/commit/?id=3dcd1e8c08308....
Change: +%ifarch %{valgrind_arches} +%ifarch %{valgrind_arches}
Thanks.
Full change: ============
commit 1e3b8fac0784b3417b137fedf74a575238b45386 Merge: e259994 e9ba67b Author: Miro Hronok miro@hroncok.cz Date: Mon Aug 12 18:52:56 2019 +0200
Rebase to 3.8.0b3
https://fedoraproject.org/wiki/Changes/Python3.8
diff --cc 00274-fix-arch-names.patch index ee15930,9bca39d..753570c --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@@ -10,10 -16,10 +16,10 @@@ Co-authored-by: Tomas Orsava <torsava@r 2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/config.sub b/config.sub - index 40ea5df..932128b 100755 + index ba37cf99e2..52a9ec6662 100755 --- a/config.sub +++ b/config.sub -@@ -1042,7 +1042,7 @@ case $basic_machine in +@@ -1045,7 +1045,7 @@ case $basic_machine in ;; ppc64) basic_machine=powerpc64-unknown ;; diff --cc python3.rpmlintrc index e1e2cbe,0000000..1314d45 mode 100644,000000..100644 --- a/python3.rpmlintrc +++ b/python3.rpmlintrc @@@ -1,78 -1,0 +1,80 @@@ +# KNOWN BUGS: +# https://bugzilla.redhat.com/show_bug.cgi?id=1489816 +addFilter(r'crypto-policy-non-compliance-openssl') + + +# TESTS: +addFilter(r'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3.\d/test') + + +# OTHER DELIBERATES: +# chroot function +addFilter(r'missing-call-to-chdir-with-chroot') + +# intentionally unversioned and selfobsoleted +addFilter(r'unversioned-explicit-obsoletes python') +addFilter(r'self-obsoletion python3\d obsoletes python3\d') + +# intentionally hardcoded +addFilter(r'hardcoded-library-path in %{_prefix}/lib/(debug/%{_libdir}|python%{pybasever})') + +# intentional for our pythonXY package +addFilter(r'python3\d.[^:]+: (E|W): devel-file-in-non-devel-package') + +# we have non binary stuff, python files +addFilter(r'only-non-binary-in-usr-lib') + +# some devel files that are deliberately needed +addFilter(r'devel-file-in-non-devel-package /usr/include/python3.\dm/pyconfig-(32|64).h') +addFilter(r'devel-file-in-non-devel-package /usr/lib(64)?/python3.\d/distutils/tests/xxmodule.c') + + +# SORRY, NOT SORRY: +# manual pages +addFilter(r'no-manual-page-for-binary (idle|pydoc|pyvenv|2to3|python3-debug|pathfix|msgfmt|pygettext)') +addFilter(r'no-manual-page-for-binary python3.*-config$') +addFilter(r'no-manual-page-for-binary python3.\dd?m$') + +# missing documentation from subpackages +addFilter(r'^python3\d?-(debug|tkinter|test|idle).[^:]+: (E|W): no-documentation') + +# platform python is obsoleted, but not provided +addFilter(r'obsolete-not-provided platform-python') + + +# RPMLINT IMPERFECTIONS +# https://github.com/rpm-software-management/rpmlint/issues/123 +addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d (3.7), found 3393') +# https://github.com/rpm-software-management/rpmlint/pull/133 +addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d (3.7), found 3394') + +# https://bugzilla.redhat.com/show_bug.cgi?id=1550562 +# https://github.com/rpm-software-management/rpmlint/issues/128 +addFilter(r'python-bytecode-inconsistent-mtime .* 1970') + +# debugsource +addFilter(r'^python3\d?-debugsource.[^:]+: (E|W): no-documentation') + +# debuginfo +addFilter(r'^python3\d?-debuginfo.[^:]+: (E|W): useless-provides debuginfo(build-id)') + +# this is OK for F28+ +addFilter(r'library-without-ldconfig-post') + +# debug package contains devel and non-devel files +addFilter(r'python3\d?-debug.[^:]+: (E|W): (non-)?devel-file-in-(non-)?devel-package') + +# this goes to other subpackage, hence not actually dangling, the read error is bogus +addFilter(r'dangling-relative-symlink /usr/lib(64)?/pkgconfig/python-3.\ddm.pc python-3.\d.pc') +addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3.\ddm.pc [Errno 2]') + +# we need this macro to evaluate, even if the line starts with # +addFilter(r'macro-in-comment %{_pyconfig(32|64)_h}') + +# Python modules don't need to be linked against libc ++# Since 3.8 they are no longer linked against libpython3.8.so.1.0 +addFilter(r'E: library-not-linked-against-libc /usr/lib(64)?/python3.\d/lib-dynload/') ++addFilter(r'E: shared-lib-without-dependency-information /usr/lib(64)?/python3.\d/lib-dynload/') + +# SPELLING ERRORS +addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ') diff --cc python3.spec index 7910dd3,0000000..dbad0b5 mode 100644,000000..100644 --- a/python3.spec +++ b/python3.spec @@@ -1,2780 -1,0 +1,2771 @@@ +# ================== +# Top-level metadata +# ================== + - %global pybasever 3.7 ++%global pybasever 3.8 + +# pybasever without the dot: - %global pyshortver 37 ++%global pyshortver 38 + +Name: python3 +Summary: Interpreter of the Python programming language +URL: https://www.python.org/ + +# WARNING When rebasing to a new Python version, +# remember to update the python3-docs package as well - %global general_version %{pybasever}.4 - #global prerel ... ++%global general_version %{pybasever}.0 ++%global prerel b3 +%global upstream_version %{general_version}%{?prerel} +Version: %{general_version}%{?prerel:~%{prerel}} - Release: 5%{?dist} ++Release: 1%{?dist} +License: Python + + +# ================================== +# Conditionals controlling the build +# ================================== + +# Note that the bcond macros are named for the CLI option they create. +# "%%bcond_without" means "ENABLE by default and create a --without option" + + +# Flat package, i.e. python36, python37, python38 for tox etc. +# warning: changes some other defaults +# in Fedora, never turn this on for the python3 package +# and always keep it on for python37 etc. +# WARNING: This does not change the package name and summary above +%bcond_with flatpackage + ++# When bootstrapping python3, we need to build setuptools. ++# but setuptools BR python3-devel and that brings in python3-rpm-generators; ++# python3-rpm-generators needs python3-setuptools, so we cannot have it yet. ++# ++# Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython ++# ++# IMPORTANT: When bootstrapping, it's very likely the wheels for pip and ++# setuptools are not available. Turn off the rpmwheels bcond until ++# the two packages are built with wheels to get around the issue. ++%bcond_with bootstrap ++ +# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package +# Uses upstream bundled prebuilt wheels otherwise +%bcond_without rpmwheels + +# Expensive optimizations (mainly, profile-guided optimizations) +%ifarch %{ix86} x86_64 +%bcond_without optimizations +%else +# On some architectures, the optimized build takes tens of hours, possibly +# longer than Koji's 24-hour timeout. Disable optimizations here. +%bcond_with optimizations +%endif + +# Run the test suite in %%check +%bcond_without tests + +# Extra build for debugging the interpreter or C-API extensions +# (the -debug subpackages) +%if %{with flatpackage} +%bcond_with debug_build +%else +%bcond_without debug_build +%endif + +# Support for the GDB debugger +%bcond_without gdb_hooks + +# The dbm.gnu module (key-value database) +%bcond_without gdbm + +# Main interpreter loop optimization +%bcond_without computed_gotos + +# Support for the Valgrind debugger/profiler +%ifarch %{valgrind_arches} +%bcond_without valgrind +%else +%bcond_with valgrind +%endif + + - # Notes from bootstraping Python 3.7: - # https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython - - +# ===================== +# General global macros +# ===================== + +%global pylibdir %{_libdir}/python%{pybasever} +%global dynload_dir %{pylibdir}/lib-dynload + +# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac +# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/ - %global ABIFLAGS_optimized m - %global ABIFLAGS_debug dm ++%global ABIFLAGS_optimized %{nil} ++%global ABIFLAGS_debug d + +%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized} +%global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug} + +%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}-%{_arch}-linux%{_gnu} +%global SOABI_debug cpython-%{pyshortver}%{ABIFLAGS_debug}-%{_arch}-linux%{_gnu} + +# All bytecode files are in a __pycache__ subdirectory, with a name +# reflecting the version of the bytecode. +# See PEP 3147: http://www.python.org/dev/peps/pep-3147/ +# For example, +# foo/bar.py +# has bytecode at: +# foo/__pycache__/bar.cpython-%%{pyshortver}.pyc +# foo/__pycache__/bar.cpython-%%{pyshortver}.opt-1.pyc +# foo/__pycache__/bar.cpython-%%{pyshortver}.opt-2.pyc +%global bytecode_suffixes .cpython-%{pyshortver}*.pyc + +# Python's configure script defines SOVERSION, and this is used in the Makefile +# to determine INSTSONAME, the name of the libpython DSO: +# LDLIBRARY='libpython$(VERSION).so' +# INSTSONAME="$LDLIBRARY".$SOVERSION +# We mirror this here in order to make it easier to add the -gdb.py hooks. +# (if these get out of sync, the payload of the libs subpackage will fail +# and halt the build) +%global py_SOVERSION 1.0 +%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION} +%global py_INSTSONAME_debug libpython%{LDVERSION_debug}.so.%{py_SOVERSION} + +# Disable automatic bytecompilation. The python3 binary is not yet be +# available in /usr/bin when Python is built. Also, the bytecompilation fails +# on files that test invalid syntax. +%undefine py_auto_byte_compile + - # Don't let RPM set SOURCE_DATE_EPOCH based on the latest %%changelog date - # It breaks tests with: can't find '__main__' module in .../test_zip.zip - # Reported at https://bugs.python.org/issue34022 - # Tracked at https://bugzilla.redhat.com/show_bug.cgi?id=1724753 - %global source_date_epoch_from_changelog 0 - +# For multilib support, files that are different between 32- and 64-bit arches +# need different filenames. Use "64" or "32" according to the word size. +# Currently, the best way to determine an architecture's word size happens to +# be checking %%{_lib}. +%if "%{_lib}" == "lib64" +%global wordsize 64 +%else +%global wordsize 32 +%endif + + +# ======================= +# Build-time requirements +# ======================= + +# (keep this list alphabetized) + +BuildRequires: autoconf +BuildRequires: bluez-libs-devel +BuildRequires: bzip2 +BuildRequires: bzip2-devel +BuildRequires: desktop-file-utils +BuildRequires: expat-devel + +BuildRequires: findutils +BuildRequires: gcc-c++ +%if %{with gdbm} +BuildRequires: gdbm-devel +%endif +BuildRequires: glibc-all-langpacks +BuildRequires: glibc-devel +BuildRequires: gmp-devel +BuildRequires: libappstream-glib +BuildRequires: libffi-devel +BuildRequires: libnsl2-devel +BuildRequires: libtirpc-devel +BuildRequires: libGL-devel +BuildRequires: libuuid-devel +BuildRequires: libX11-devel +BuildRequires: ncurses-devel + +BuildRequires: openssl-devel +BuildRequires: pkgconfig +BuildRequires: readline-devel +BuildRequires: redhat-rpm-config >= 127 +BuildRequires: sqlite-devel +BuildRequires: gdb + +BuildRequires: tar +BuildRequires: tcl-devel +BuildRequires: tix-devel +BuildRequires: tk-devel + +%if %{with valgrind} +BuildRequires: valgrind-devel +%endif + +BuildRequires: xz-devel +BuildRequires: zlib-devel + +BuildRequires: /usr/bin/dtrace + +# workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig) +BuildRequires: /usr/sbin/ifconfig + +# For %%python_provide +BuildRequires: python-rpm-macros + +%if %{with rpmwheels} +BuildRequires: python-setuptools-wheel +BuildRequires: python-pip-wheel +%endif + ++%if %{without bootstrap} ++# for make regen-all and distutils.tests.test_bdist_rpm ++BuildRequires: python%{pyshortver} ++%endif + +# ======================= +# Source code and patches +# ======================= + +Source: https://www.python.org/ftp/python/%%7Bgeneral_version%7D/Python-%%7Bupstream... + +# A simple script to check timestamps of bytecode files +# Run in check section with Python that is currently being built +# Originally written by bkabrda +Source8: check-pyc-timestamps.py + +# Desktop menu entry for idle3 +Source10: idle3.desktop + +# AppData file for idle3 +Source11: idle3.appdata.xml + +# 00001 # +# Fixup distutils/unixccompiler.py to remove standard library path from rpath: +# Was Patch0 in ivazquez' python3000 specfile: +Patch1: 00001-rpath.patch + +# 00102 # +# Change the various install paths to use /usr/lib64/ instead or /usr/lib +# Only used when "%%{_lib}" == "lib64" +# Not yet sent upstream. +Patch102: 00102-lib64.patch + +# 00111 # +# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build +# a libpythonMAJOR.MINOR.a +# See https://bugzilla.redhat.com/show_bug.cgi?id=556092 +# Downstream only: not appropriate for upstream +Patch111: 00111-no-static-lib.patch + - # 00155 # - # Avoid allocating thunks in ctypes unless absolutely necessary, to avoid - # generating SELinux denials on "import ctypes" and "import uuid" when - # embedding Python within httpd - # See https://bugzilla.redhat.com/show_bug.cgi?id=814391 - Patch155: 00155-avoid-ctypes-thunks.patch - - - # 00170 # - # In debug builds, try to print repr() when a C-level assert fails in the - # garbage collector (typically indicating a reference-counting error - # somewhere else e.g in an extension module) - # The new macros/functions within gcmodule.c are hidden to avoid exposing - # them within the extension API. - # Sent upstream: http://bugs.python.org/issue9263 - # See https://bugzilla.redhat.com/show_bug.cgi?id=614680 - Patch170: 00170-gc-assertions.patch - - # 00178 # - # Don't duplicate various FLAGS in sysconfig values - # http://bugs.python.org/issue17679 - # Does not affect python2 AFAICS (different sysconfig values initialization) - Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch - +# 00189 # +# Instead of bundled wheels, use our RPM packaged wheels from +# /usr/share/python-wheels +Patch189: 00189-use-rpm-wheels.patch + - # 00205 # - # LIBPL variable in makefile takes LIBPL from configure.ac - # but the LIBPL variable defined there doesn't respect libdir macro - Patch205: 00205-make-libpl-respect-lib64.patch - +# 00251 +# Set values of prefix and exec_prefix in distutils install command +# to /usr/local if executable is /usr/bin/python* and RPM build +# is not detected to make pip and distutils install into separate location +# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe +Patch251: 00251-change-user-install-location.patch + +# 00274 # +# Upstream uses Debian-style architecture naming. Change to match Fedora. +Patch274: 00274-fix-arch-names.patch + - # 00316 # - # We remove the exe files from distutil's bdist_wininst - # So we mark the command as unsupported - and the tests are skipped - Patch316: 00316-mark-bdist_wininst-unsupported.patch - +# 00328 # +# Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild +# See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment... +Patch328: 00328-pyc-timestamp-invalidation-mode.patch + +# (New patches go here ^^^) +# +# When adding new patches to "python" and "python3" in Fedora, EL, etc., +# please try to keep the patch numbers in-sync between all specfiles. +# +# More information, and a patch number catalog, is at: +# +# https://fedoraproject.org/wiki/SIGs/Python/PythonPatches ++# ++# The patches are stored and rebased at: ++# ++# https://github.com/fedora-python/cpython + + +# ========================================== +# Descriptions, and metadata for subpackages +# ========================================== + +# People might want to dnf install pythonX.Y instead of pythonXY; +# we enable this in both flat and nonflat package. +Provides: python%{pybasever} = %{version}-%{release} + +%if %{without flatpackage} + +# Packages with Python modules in standard locations automatically +# depend on python(abi). Provide that here. +Provides: python(abi) = %{pybasever} + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +# In order to support multiple Python interpreters for development purposes, +# packages with the naming scheme flatpackage (e.g. python35) exist for +# non-default versions of Python 3. +# For consistency, and to keep the upgrade path clean, we Provide/Obsolete +# these names here. +Provides: python%{pyshortver} = %{version}-%{release} +# Note that using Obsoletes without package version is not standard practice. +# Here we assert that *any* version of the system's default interpreter is +# preferable to an "extra" interpreter. For example, python3-3.6.1 will +# replace python36-3.6.2. +Obsoletes: python%{pyshortver} + +# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_pac... +# https://fedoraproject.org/wiki/Changes/Python_means_Python3 +# We recommend /usr/bin/python so users get it by default +# Versioned recommends are problematic, and we know that the package requires +# python3 back with fixed version, so we just use the path here: +Recommends: %{_bindir}/python + +# In Fedora 31, /usr/bin/pydoc was moved here from Python 2. +# Ideally we'd have an explicit conflict with "/usr/bin/pydoc < 3", +# but file provides aren't versioned and the file moved across packages. +# Instead, we rely on the conflict in python3-libs. + +# Previously, this was required for our rewheel patch to work. +# This is technically no longer needed, but we keep it recommended +# for the developer experience. +Recommends: python3-setuptools +Recommends: python3-pip + +# This prevents ALL subpackages built from this spec to require +# /usr/bin/python3*. Granularity per subpackage is impossible. +# It's intended for the libs package not to drag in the interpreter, see +# https://bugzilla.redhat.com/show_bug.cgi?id=1547131 +# All others require %%{name} anyway. +%global __requires_exclude ^/usr/bin/python3 + + +# The description used both for the SRPM and the main `python3` subpackage: +%description +Python is an accessible, high-level, dynamically typed, interpreted programming +language, designed with an emphasis on code readability. +It includes an extensive standard library, and has a vast ecosystem of +third-party libraries. + +The %{name} package provides the "python3" executable: the reference +interpreter for the Python language, version 3. +The majority of its standard library is provided in the %{name}-libs package, +which should be installed automatically along with %{name}. +The remaining parts of the Python standard library are broken out into the +%{name}-tkinter and %{name}-test packages, which may need to be installed +separately. + +Documentation for Python is provided in the %{name}-docs package. + +Packages containing additional libraries for Python are generally named with +the "%{name}-" prefix. + + +# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_pac... +# https://fedoraproject.org/wiki/Changes/Python_means_Python3 +%package -n python-unversioned-command +Summary: The "python" command that runs Python 3 +BuildArch: noarch + +# In theory this could require any python3 version +Requires: python3 == %{version}-%{release} +# But since we want to provide versioned python, we require exact version +Provides: python = %{version}-%{release} +# This also save us an explicit conflict for older python3 builds + +%description -n python-unversioned-command +This package contains /usr/bin/python - the "python" command that runs Python 3. + + +%package libs +Summary: Python runtime libraries + +%if %{with rpmwheels} +Requires: python-setuptools-wheel +Requires: python-pip-wheel +%else - Provides: bundled(python3-pip) = 19.0.3 - Provides: bundled(python3-setuptools) = 40.8.0 ++Provides: bundled(python3-pip) = 19.2.1 ++Provides: bundled(python3-setuptools) = 41.0.1 +%endif + +%{?python_provide:%python_provide python3-libs} + +# There are files in the standard library that have python shebang. +# We've filtered the automatic requirement out so libs are installable without +# the main package. This however makes it pulled in by default. +# See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 +Recommends: %{name}%{?_isa} = %{version}-%{release} + +# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_pac... +# In Fedora 31, several "unversioned" files like /usr/bin/pydoc and all the +# "unversioned" provides were moved from python2 to python3. +# So, newer python3 packages need to conflict with old Python 2 builds that +# still provided unversioned Python. +# Since all python packages, new and old, have versioned requires on +# python?-libs, we do it here: +Conflicts: python-libs < 3 +# (We explicitly conflict with python-libs and not python2-libs, so only the +# old Python 2 builds that still provided unversioned Python are handled.) + + +%description libs +This package contains runtime libraries for use by Python: +- the majority of the Python standard library +- a dynamically linked library for use by applications that embed Python as + a scripting language, and by the main "python3" executable + + +%package devel +Summary: Libraries and header files needed for Python development +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +BuildRequires: python-rpm-macros - +# The RPM related dependencies bring nothing to a non-RPM Python developer +# But we want them when packages BuildRequire python3-devel +Requires: (python-rpm-macros if rpm-build) +Requires: (python3-rpm-macros if rpm-build) - Requires: (python3-rpm-generators if rpm-build) + ++%if %{without bootstrap} +# This is not "API" (packages that need setuptools should still BuildRequire it) +# However some packages apparently can build both with and without setuptools +# producing egg-info as file or directory (depending on setuptools presence). +# Directory-to-file updates are problematic in RPM, so we ensure setuptools is +# installed when -devel is required. +# See https://bugzilla.redhat.com/show_bug.cgi?id=1623914 +# See https://fedoraproject.org/wiki/Packaging:Directory_Replacement +Requires: (python3-setuptools if rpm-build) + ++Requires: (python3-rpm-generators if rpm-build) ++%endif ++ +%{?python_provide:%python_provide python3-devel} + +Provides: %{name}-2to3 = %{version}-%{release} +Provides: 2to3 = %{version}-%{release} + +Conflicts: %{name} < %{version}-%{release} + +# In Fedora 31, several "unversioned" files were moved here from Python 2: +# pygettext.py, msgfmt.py, python-config, python.pc +Conflicts: python-devel < 3 + +%description devel +This package contains the header files and configuration needed to compile +Python extension modules (typically written in C or C++), to embed Python +into other programs, and to make binary distributions for Python libraries. + +It also contains the necessary macros to build RPM packages with Python modules +and 2to3 tool, an automatic source converter from Python 2.X. + + +%package idle +Summary: A basic graphical development environment for Python +Requires: %{name} = %{version}-%{release} +Requires: %{name}-tkinter = %{version}-%{release} + +Provides: idle3 = %{version}-%{release} +Provides: idle = %{version}-%{release} + +Provides: %{name}-tools = %{version}-%{release} +Provides: %{name}-tools%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-tools < %{version}-%{release} + +# In Fedora 31, /usr/bin/idle was moved here from Python 2. +Conflicts: python-tools < 3 + +%{?python_provide:%python_provide python3-idle} + +%description idle +IDLE is Pythons Integrated Development and Learning Environment. + +IDLE has the following features: Python shell window (interactive +interpreter) with colorizing of code input, output, and error messages; +multi-window text editor with multiple undo, Python colorizing, +smart indent, call tips, auto completion, and other features; +search within any window, replace within editor windows, and +search through multiple files (grep); debugger with persistent +breakpoints, stepping, and viewing of global and local namespaces; +configuration, browsers, and other dialogs. + + +%package tkinter +Summary: A GUI toolkit for Python +Requires: %{name} = %{version}-%{release} + +%{?python_provide:%python_provide python3-tkinter} + +%description tkinter +The Tkinter (Tk interface) library is a graphical user interface toolkit for +the Python programming language. + + +%package test +Summary: The self-test suite for the main python3 package +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%{?python_provide:%python_provide python3-test} + +%description test +The self-test suite for the Python interpreter. + +This is only useful to test Python itself. For testing general Python code, +you should use the unittest module from %{name}-libs, or a library such as +%{name}-pytest or %{name}-nose. + + +%if %{with debug_build} +%package debug +Summary: Debug version of the Python runtime + +# The debug build is an all-in-one package version of the regular build, and +# shares the same .py/.pyc files and directories as the regular build. Hence +# we depend on all of the subpackages of the regular build: +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-test%{?_isa} = %{version}-%{release} +Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} +Requires: %{name}-idle%{?_isa} = %{version}-%{release} + +# In Fedora 31, /usr/bin/python-debug was moved here from Python 2. +Conflicts: python-debug < 3 + +%{?python_provide:%python_provide python3-debug} + +%description debug +python3-debug provides a version of the Python runtime with numerous debugging +features enabled, aimed at advanced Python users such as developers of Python +extension modules. + +This version uses more memory and will be slower than the regular Python build, +but is useful for tracking down reference-counting issues and other bugs. + - The bytecode format is unchanged, so that .pyc files are compatible between - this and the standard version of Python, but the debugging features mean that - C/C++ extension modules are ABI-incompatible and must be built for each version - separately. - +The debug build shares installation directories with the standard Python - runtime, so that .py and .pyc files can be shared. - Compiled extension modules use a special ABI flag ("d") in the filename, - so extensions for both versions can co-exist in the same directory. ++runtime. Python modules -- source (.py), bytecode (.pyc), and C-API extensions ++(.cpython*.so) -- are compatible between this and the standard version ++of Python. ++ ++The debug runtime additionally supports debug builds of C-API extensions ++(with the "d" ABI flag) for debugging issues in those extensions. +%endif # with debug_build + +%else # with flatpackage + +# We'll not provide this, on purpose +# No package in Fedora shall ever depend on flatpackage via this +%global __requires_exclude ^python\(abi\) = 3\..$ +%global __provides_exclude ^python\(abi\) = 3\..$ + +%if %{with rpmwheels} +Requires: python-setuptools-wheel +Requires: python-pip-wheel +%else - Provides: bundled(python3-pip) = 19.0.3 - Provides: bundled(python3-setuptools) = 40.8.0 ++Provides: bundled(python3-pip) = 19.2.1 ++Provides: bundled(python3-setuptools) = 41.0.1 +%endif + +# The description for the flat package +%description +Python %{pybasever} package for developers. + +This package exists to allow developers to test their code against a newer +version of Python. This is not a full Python stack and if you wish to run +your applications with Python %{pybasever}, update your Fedora to a newer +version once Python %{pybasever} is stable. + +%endif # with flatpackage + +# ====================================================== +# The prep phase of the build: +# ====================================================== + +%prep +%setup -q -n Python-%{upstream_version} +# Remove all exe files to ensure we are not shipping prebuilt binaries +# note that those are only used to create Microsoft Windows installers +# and that functionality is broken on Linux anyway +find -name '*.exe' -print -delete + +# Remove bundled libraries to ensure that we're using the system copy. +rm -r Modules/expat + +# +# Apply patches: +# +%patch1 -p1 + +%if "%{_lib}" == "lib64" +%patch102 -p1 +%endif +%patch111 -p1 - %patch155 -p1 - %patch170 -p1 - %patch178 -p1 + +%if %{with rpmwheels} +%patch189 -p1 +rm Lib/ensurepip/_bundled/*.whl +%endif + - %patch205 -p1 +%patch251 -p1 +%patch274 -p1 - %patch316 -p1 +%patch328 -p1 + + +# Remove files that should be generated by the build +# (This is after patching, so that we can use patches directly from upstream) +rm configure pyconfig.h.in + + +# ====================================================== +# Configuring and building the code: +# ====================================================== + +%build + +# Regenerate the configure script and pyconfig.h.in +autoconf +autoheader + +# Remember the current directory (which has sources and the configure script), +# so we can refer to it after we "cd" elsewhere. +topdir=$(pwd) + +# Get proper option names from bconds +%if %{with computed_gotos} +%global computed_gotos_flag yes +%else +%global computed_gotos_flag no +%endif + +%if %{with optimizations} +%global optimizations_flag "--enable-optimizations" +%else +%global optimizations_flag "--disable-optimizations" +%endif + +# Set common compiler/linker flags +# We utilize the %%extension_...flags macros here so users building C/C++ +# extensions with our python won't get all the compiler/linker flags used +# in Fedora RPMs. +# Standard library built here will still use the %%build_...flags, +# Fedora packages utilizing %%py3_build will use them as well +# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags +export CFLAGS="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CFLAGS_NODIST="%{build_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CXXFLAGS="%{extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CPPFLAGS="$(pkg-config --cflags-only-I libffi)" +export OPT="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +export LINKCC="gcc" +export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)" +export LDFLAGS="%{extension_ldflags} -g $(pkg-config --libs-only-L openssl)" +export LDFLAGS_NODIST="%{build_ldflags} -g $(pkg-config --libs-only-L openssl)" + +# We can build several different configurations of Python: regular and debug. +# Define a common function that does one build: +BuildPython() { + ConfName=$1 + ExtraConfigArgs=$2 + MoreCFlags=$3 + + # Each build is done in its own directory + ConfDir=build/$ConfName + echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName + mkdir -p $ConfDir + pushd $ConfDir + + # Normally, %%configure looks for the "configure" script in the current + # directory. + # Since we changed directories, we need to tell %%configure where to look. + %global _configure $topdir/configure + +%configure \ + --enable-ipv6 \ + --enable-shared \ + --with-computed-gotos=%{computed_gotos_flag} \ + --with-dbmliborder=gdbm:ndbm:bdb \ + --with-system-expat \ + --with-system-ffi \ + --enable-loadable-sqlite-extensions \ + --with-dtrace \ + --with-lto \ + --with-ssl-default-suites=openssl \ +%if %{with valgrind} + --with-valgrind \ +%endif + $ExtraConfigArgs \ + %{nil} + ++%if %{without bootstrap} ++ # Regenerate generated files (needs python3) ++ %make_build regen-all PYTHON_FOR_REGEN="python%{pybasever}" ++%endif ++ ++ + # Invoke the build - make EXTRA_CFLAGS="$CFLAGS $MoreCFlags" %{?_smp_mflags} ++ %make_build EXTRA_CFLAGS="$CFLAGS $MoreCFlags" + + popd + echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfName +} + +# Call the above to build each configuration. + +%if %{with debug_build} +BuildPython debug \ + "--without-ensurepip --with-pydebug" \ + "-Og" +%endif # with debug_build + +BuildPython optimized \ + "--without-ensurepip %{optimizations_flag}" \ + "" + +# ====================================================== +# Installing the built code: +# ====================================================== + +%install + +# As in %%build, remember the current directory +topdir=$(pwd) + +# We install a collection of hooks for gdb that make it easier to debug +# executables linked against libpython3* (such as /usr/bin/python3 itself) +# +# These hooks are implemented in Python itself (though they are for the version +# of python that gdb is linked with) +# +# gdb-archer looks for them in the same path as the ELF file or its .debug +# file, with a -gdb.py suffix. +# We put them next to the debug file, because ldconfig would complain if +# it found non-library files directly in /usr/lib/ +# (see https://bugzilla.redhat.com/show_bug.cgi?id=562980) +# +# We'll put these files in the debuginfo package by installing them to e.g.: +# /usr/lib/debug/usr/lib/libpython3.2.so.1.0.debug-gdb.py +# (note that the debug path is /usr/lib/debug for both 32/64 bit) +# +# See https://fedoraproject.org/wiki/Features/EasierPythonDebugging for more +# information + +%if %{with gdb_hooks} +DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir} +mkdir -p %{buildroot}$DirHoldingGdbPy +%endif # with gdb_hooks + +# Multilib support for pyconfig.h +# 32- and 64-bit versions of pyconfig.h are different. For multilib support +# (making it possible to install 32- and 64-bit versions simultaneously), +# we need to install them under different filenames, and to make the common +# "pyconfig.h" include the right file based on architecture. +# See https://bugzilla.redhat.com/show_bug.cgi?id=192747 +# Filanames are defined here: +%global _pyconfig32_h pyconfig-32.h +%global _pyconfig64_h pyconfig-64.h +%global _pyconfig_h pyconfig-%{wordsize}.h + +# Use a common function to do an install for all our configurations: +InstallPython() { + + ConfName=$1 + PyInstSoName=$2 + MoreCFlags=$3 + LDVersion=$4 + + # Switch to the directory with this configuration's built files + ConfDir=build/$ConfName + echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName + mkdir -p $ConfDir + pushd $ConfDir + + make \ + DESTDIR=%{buildroot} \ + INSTALL="install -p" \ + EXTRA_CFLAGS="$MoreCFlags" \ + install + + popd + +%if %{with gdb_hooks} + # See comment on $DirHoldingGdbPy above + PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName-%{version}-%{release}.%{_arch}.debug-gdb.py + cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy +%endif # with gdb_hooks + + # Rename the -devel script that differs on different arches to arch specific name + mv %{buildroot}%{_bindir}/python${LDVersion}-{,`uname -m`-}config + echo -e '#!/bin/sh\nexec `dirname $0`/python'${LDVersion}'-`uname -m`-config "$@"' > \ + %{buildroot}%{_bindir}/python${LDVersion}-config + echo '[ $? -eq 127 ] && echo "Could not find python'${LDVersion}'-`uname -m`-config. Look around to see available arches." >&2' >> \ + %{buildroot}%{_bindir}/python${LDVersion}-config + chmod +x %{buildroot}%{_bindir}/python${LDVersion}-config + + # Make python3-devel multilib-ready + mv %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h \ + %{buildroot}%{_includedir}/python${LDVersion}/%{_pyconfig_h} + cat > %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h << EOF +#include <bits/wordsize.h> + +#if __WORDSIZE == 32 +#include "%{_pyconfig32_h}" +#elif __WORDSIZE == 64 +#include "%{_pyconfig64_h}" +#else +#error "Unknown word size" +#endif +EOF + + echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName +} + +# Install the "debug" build first; any common files will be overridden with +# later builds +%if %{with debug_build} +InstallPython debug \ + %{py_INSTSONAME_debug} \ + -O0 \ + %{LDVERSION_debug} +%endif # with debug_build + +# Now the optimized build: +InstallPython optimized \ + %{py_INSTSONAME_optimized} \ + "" \ + %{LDVERSION_optimized} + +# Install directories for additional packages +install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__ +%if "%{_lib}" == "lib64" +# The 64-bit version needs to create "site-packages" in /usr/lib/ (for +# pure-Python modules) as well as in /usr/lib64/ (for packages with extension +# modules). +# Note that rpmlint will complain about hardcoded library path; +# this is intentional. +install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__ +%endif + +%if %{without flatpackage} +# add idle3 to menu +install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png +install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png +install -D -m 0644 Lib/idlelib/Icons/idle_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/idle3.png +desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE10} + +# Install and validate appdata file +mkdir -p %{buildroot}%{_metainfodir} +cp -a %{SOURCE11} %{buildroot}%{_metainfodir} +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml +%endif + +# Make sure distutils looks at the right pyconfig.h file +# See https://bugzilla.redhat.com/show_bug.cgi?id=201434 +# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate +# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py +# when python starts up (see https://bugzilla.redhat.com/show_bug.cgi?id=653058) +# +# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h +# variants: +sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \ + %{buildroot}%{pylibdir}/distutils/sysconfig.py \ + %{buildroot}%{pylibdir}/sysconfig.py + +# Install pathfix.py to bindir +# See https://github.com/fedora-python/python-rpm-porting/issues/24 +cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/ + +# Install i18n tools to bindir +# They are also in python2, so we version them +# https://bugzilla.redhat.com/show_bug.cgi?id=1571474 +for tool in pygettext msgfmt; do + cp -p Tools/i18n/${tool}.py %{buildroot}%{_bindir}/${tool}%{pybasever}.py + ln -s ${tool}%{pybasever}.py %{buildroot}%{_bindir}/${tool}3.py +done + +# Switch all shebangs to refer to the specific Python version. +# This currently only covers files matching ^[a-zA-Z0-9_]+.py$, +# so handle files named using other naming scheme separately. +LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \ + Tools/scripts/pathfix.py \ + -i "%{_bindir}/python%{pybasever}" -pn \ + %{buildroot} \ + %{buildroot}%{_bindir}/*%{pybasever}.py \ + %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py} + +# Remove tests for python3-tools which was removed in +# https://bugzilla.redhat.com/show_bug.cgi?id=1312030 +rm -rf %{buildroot}%{pylibdir}/test/test_tools + +# Remove shebang lines from .py files that aren't executable, and +# remove executability from .py files that don't have a shebang line: +find %{buildroot} -name *.py \ + ( ( ! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} ; \ + -print -exec sed -i '1d' {} ; ) -o ( \ + -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} ; \ + -exec chmod a-x {} ; ) ) + +# Get rid of DOS batch files: +find %{buildroot} -name *.bat -exec rm {} ; + +# Get rid of backup files: +find %{buildroot}/ -name "*~" -exec rm -f {} ; +find . -name "*~" -exec rm -f {} ; + +# Do bytecompilation with the newly installed interpreter. +# This is similar to the script in macros.pybytecompile +# compile *.pyc +find %{buildroot} -type f -a -name "*.py" -print0 | \ + LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ + PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ + 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:]]' || : + +# Since we have pathfix.py in bindir, this is created, but we don't want it +rm -rf %{buildroot}%{_bindir}/__pycache__ + +# Fixup permissions for shared libraries from non-standard 555 to standard 755: +find %{buildroot} -perm 555 -exec chmod 755 {} ; + +# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to +# avoid the user having to know the precise version and ABI flags. +# See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748 +%if %{with debug_build} && %{without flatpackage} +ln -s \ + %{_bindir}/python%{LDVERSION_debug} \ + %{buildroot}%{_bindir}/python3-debug +%endif + +# There's 2to3-X.X executable and 2to3 soft link to it. +# No reason to have both, so keep only 2to3 as an executable. +# See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 +mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3 + - # make man python3.Xm work https://bugzilla.redhat.com/show_bug.cgi?id=1612241 - ln -s ./python%{pybasever}.1 %{buildroot}%{_mandir}/man1/python%{pybasever}m.1 - +%if %{with flatpackage} +# Remove stuff that would conflict with python3 package +rm %{buildroot}%{_bindir}/python3 +rm %{buildroot}%{_bindir}/pydoc3 +rm %{buildroot}%{_bindir}/pathfix.py +rm %{buildroot}%{_bindir}/pygettext3.py +rm %{buildroot}%{_bindir}/msgfmt3.py +rm %{buildroot}%{_bindir}/idle3 +rm %{buildroot}%{_bindir}/python3-* - rm %{buildroot}%{_bindir}/pyvenv +rm %{buildroot}%{_bindir}/2to3 +rm %{buildroot}%{_libdir}/libpython3.so +rm %{buildroot}%{_mandir}/man1/python3.1* +rm %{buildroot}%{_libdir}/pkgconfig/python3.pc ++rm %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc +%else +# Link the unversioned stuff +# https://fedoraproject.org/wiki/Changes/Python_means_Python3 +ln -s ./python3 %{buildroot}%{_bindir}/python +ln -s ./pydoc3 %{buildroot}%{_bindir}/pydoc +ln -s ./pygettext3.py %{buildroot}%{_bindir}/pygettext.py +ln -s ./msgfmt3.py %{buildroot}%{_bindir}/msgfmt.py +ln -s ./idle3 %{buildroot}%{_bindir}/idle +ln -s ./python3-config %{buildroot}%{_bindir}/python-config +ln -s ./python3.1 %{buildroot}%{_mandir}/man1/python.1 +ln -s ./python3.pc %{buildroot}%{_libdir}/pkgconfig/python.pc +%if %{with debug_build} +ln -s ./python3-debug %{buildroot}%{_bindir}/python-debug +%endif +%endif + + +# ====================================================== +# Checks for packaging issues +# ====================================================== + +%check + +# first of all, check timestamps of bytecode files +find %{buildroot} -type f -a -name "*.py" -print0 | \ + LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ + PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ + xargs -0 %{buildroot}%{_bindir}/python%{pybasever} %{SOURCE8} + +# Ensure that the curses module was linked against libncursesw.so, rather than +# libncurses.so +# See https://bugzilla.redhat.com/show_bug.cgi?id=539917 +ldd %{buildroot}/%{dynload_dir}/_curses*.so \ + | grep curses \ + | grep libncurses.so && (echo "_curses.so linked against libncurses.so" ; exit 1) + +# Ensure that the debug modules are linked against the debug libpython, and +# likewise for the optimized modules and libpython: +for Module in %{buildroot}/%{dynload_dir}/*.so ; do + case $Module in + *.%{SOABI_debug}) + ldd $Module | grep %{py_INSTSONAME_optimized} && + (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1) + + ;; + *.%{SOABI_optimized}) + ldd $Module | grep %{py_INSTSONAME_debug} && + (echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1) + ;; + esac +done + + +# ====================================================== +# Running the upstream test suite +# ====================================================== + +topdir=$(pwd) +CheckPython() { + ConfName=$1 + ConfDir=$(pwd)/build/$ConfName + + echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName + + # Note that we're running the tests using the version of the code in the + # builddir, not in the buildroot. + + # Show some info, helpful for debugging test failures + LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo + + # Run the upstream test suite - # test_gdb skipped on armv7hl: - # https://bugzilla.redhat.com/show_bug.cgi?id=1196181 + # test_gdb skipped on s390x: + # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 ++ # test_gdb skipped everywhere: ++ # https://bugzilla.redhat.com/show_bug.cgi?id=1734327 ++ # test_distutils ++ # distutils.tests.test_bdist_rpm tests fail when bootstraping the Python ++ # package: rpmbuild requires /usr/bin/pythonX.Y to be installed + LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ + -wW --slowest -j0 \ ++ %if %{with bootstrap} + -x test_distutils \ - -x test_bdist_rpm \ - %ifarch %{arm} s390x - -x test_gdb \ + %endif ++ -x test_gdb \ + %ifarch %{mips64} + -x test_ctypes \ + %endif + + echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName + +} + +%if %{with tests} + +# Check each of the configurations: +%if %{with debug_build} +CheckPython debug +%endif # with debug_build +CheckPython optimized + +%endif # with tests + + +%files +%doc README.rst + +%if %{without flatpackage} +%{_bindir}/pydoc* +%{_bindir}/python3 - %{_bindir}/pyvenv +%else +%{_bindir}/pydoc%{pybasever} +%endif + +%{_bindir}/python%{pybasever} - %{_bindir}/python%{pybasever}m - %{_bindir}/pyvenv-%{pybasever} ++%{_bindir}/python%{LDVERSION_optimized} +%{_mandir}/*/*3* + + +%if %{without flatpackage} +%files -n python-unversioned-command +%{_bindir}/python +%{_mandir}/*/python.1* + +%files libs +%doc README.rst +%endif + +%dir %{pylibdir} +%dir %{dynload_dir} + +%license %{pylibdir}/LICENSE.txt + +%{pylibdir}/lib2to3 +%if %{without flatpackage} +%exclude %{pylibdir}/lib2to3/tests +%endif + +%dir %{pylibdir}/unittest/ +%dir %{pylibdir}/unittest/__pycache__/ +%{pylibdir}/unittest/*.py +%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/asyncio/ +%dir %{pylibdir}/asyncio/__pycache__/ +%{pylibdir}/asyncio/*.py +%{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/venv/ +%dir %{pylibdir}/venv/__pycache__/ +%{pylibdir}/venv/*.py +%{pylibdir}/venv/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/venv/scripts + +%{pylibdir}/wsgiref +%{pylibdir}/xmlrpc + +%dir %{pylibdir}/ensurepip/ +%dir %{pylibdir}/ensurepip/__pycache__/ +%{pylibdir}/ensurepip/*.py +%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes} + +%if %{with rpmwheels} +%exclude %{pylibdir}/ensurepip/_bundled +%else +%dir %{pylibdir}/ensurepip/_bundled +%{pylibdir}/ensurepip/_bundled/*.whl +%endif + +%dir %{pylibdir}/concurrent/ +%dir %{pylibdir}/concurrent/__pycache__/ +%{pylibdir}/concurrent/*.py +%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/concurrent/futures/ +%dir %{pylibdir}/concurrent/futures/__pycache__/ +%{pylibdir}/concurrent/futures/*.py +%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes} + +%{pylibdir}/pydoc_data + +%{dynload_dir}/_blake2.%{SOABI_optimized}.so +%{dynload_dir}/_md5.%{SOABI_optimized}.so +%{dynload_dir}/_sha1.%{SOABI_optimized}.so +%{dynload_dir}/_sha256.%{SOABI_optimized}.so +%{dynload_dir}/_sha3.%{SOABI_optimized}.so +%{dynload_dir}/_sha512.%{SOABI_optimized}.so + +%{dynload_dir}/_asyncio.%{SOABI_optimized}.so +%{dynload_dir}/_bisect.%{SOABI_optimized}.so +%{dynload_dir}/_bz2.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so +%{dynload_dir}/_contextvars.%{SOABI_optimized}.so +%{dynload_dir}/_crypt.%{SOABI_optimized}.so +%{dynload_dir}/_csv.%{SOABI_optimized}.so +%{dynload_dir}/_ctypes.%{SOABI_optimized}.so +%{dynload_dir}/_curses.%{SOABI_optimized}.so +%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so +%{dynload_dir}/_dbm.%{SOABI_optimized}.so +%{dynload_dir}/_decimal.%{SOABI_optimized}.so +%{dynload_dir}/_elementtree.%{SOABI_optimized}.so +%if %{with gdbm} +%{dynload_dir}/_gdbm.%{SOABI_optimized}.so +%endif +%{dynload_dir}/_hashlib.%{SOABI_optimized}.so +%{dynload_dir}/_heapq.%{SOABI_optimized}.so +%{dynload_dir}/_json.%{SOABI_optimized}.so +%{dynload_dir}/_lsprof.%{SOABI_optimized}.so +%{dynload_dir}/_lzma.%{SOABI_optimized}.so +%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so +%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so +%{dynload_dir}/_opcode.%{SOABI_optimized}.so +%{dynload_dir}/_pickle.%{SOABI_optimized}.so +%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so +%{dynload_dir}/_queue.%{SOABI_optimized}.so +%{dynload_dir}/_random.%{SOABI_optimized}.so +%{dynload_dir}/_socket.%{SOABI_optimized}.so +%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so +%{dynload_dir}/_ssl.%{SOABI_optimized}.so +%{dynload_dir}/_struct.%{SOABI_optimized}.so +%{dynload_dir}/array.%{SOABI_optimized}.so +%{dynload_dir}/audioop.%{SOABI_optimized}.so +%{dynload_dir}/binascii.%{SOABI_optimized}.so +%{dynload_dir}/cmath.%{SOABI_optimized}.so +%{dynload_dir}/_datetime.%{SOABI_optimized}.so +%{dynload_dir}/fcntl.%{SOABI_optimized}.so +%{dynload_dir}/grp.%{SOABI_optimized}.so +%{dynload_dir}/math.%{SOABI_optimized}.so +%{dynload_dir}/mmap.%{SOABI_optimized}.so +%{dynload_dir}/nis.%{SOABI_optimized}.so +%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so +%{dynload_dir}/parser.%{SOABI_optimized}.so ++%{dynload_dir}/_posixshmem.%{SOABI_optimized}.so +%{dynload_dir}/pyexpat.%{SOABI_optimized}.so +%{dynload_dir}/readline.%{SOABI_optimized}.so +%{dynload_dir}/resource.%{SOABI_optimized}.so +%{dynload_dir}/select.%{SOABI_optimized}.so +%{dynload_dir}/spwd.%{SOABI_optimized}.so +%{dynload_dir}/syslog.%{SOABI_optimized}.so +%{dynload_dir}/termios.%{SOABI_optimized}.so - %{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so +%{dynload_dir}/unicodedata.%{SOABI_optimized}.so +%{dynload_dir}/_uuid.%{SOABI_optimized}.so +%{dynload_dir}/xxlimited.%{SOABI_optimized}.so ++%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so +%{dynload_dir}/zlib.%{SOABI_optimized}.so + +%dir %{pylibdir}/site-packages/ +%dir %{pylibdir}/site-packages/__pycache__/ +%{pylibdir}/site-packages/README.txt +%{pylibdir}/*.py +%dir %{pylibdir}/__pycache__/ +%{pylibdir}/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/collections/ +%dir %{pylibdir}/collections/__pycache__/ +%{pylibdir}/collections/*.py +%{pylibdir}/collections/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/ctypes/ +%dir %{pylibdir}/ctypes/__pycache__/ +%{pylibdir}/ctypes/*.py +%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/ctypes/macholib + +%{pylibdir}/curses + +%dir %{pylibdir}/dbm/ +%dir %{pylibdir}/dbm/__pycache__/ +%{pylibdir}/dbm/*.py +%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/distutils/ +%dir %{pylibdir}/distutils/__pycache__/ +%{pylibdir}/distutils/*.py +%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/distutils/README +%{pylibdir}/distutils/command + +%dir %{pylibdir}/email/ +%dir %{pylibdir}/email/__pycache__/ +%{pylibdir}/email/*.py +%{pylibdir}/email/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/email/mime +%doc %{pylibdir}/email/architecture.rst + +%{pylibdir}/encodings + +%{pylibdir}/html +%{pylibdir}/http + +%dir %{pylibdir}/importlib/ +%dir %{pylibdir}/importlib/__pycache__/ +%{pylibdir}/importlib/*.py +%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes} + ++%dir %{pylibdir}/importlib/metadata/ ++%dir %{pylibdir}/importlib/metadata/__pycache__/ ++%{pylibdir}/importlib/metadata/*.py ++%{pylibdir}/importlib/metadata/__pycache__/*%{bytecode_suffixes} ++ +%dir %{pylibdir}/json/ +%dir %{pylibdir}/json/__pycache__/ +%{pylibdir}/json/*.py +%{pylibdir}/json/__pycache__/*%{bytecode_suffixes} + +%{pylibdir}/logging +%{pylibdir}/multiprocessing + +%dir %{pylibdir}/sqlite3/ +%dir %{pylibdir}/sqlite3/__pycache__/ +%{pylibdir}/sqlite3/*.py +%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes} + +%if %{without flatpackage} +%exclude %{pylibdir}/turtle.py +%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} +%endif + +%{pylibdir}/urllib +%{pylibdir}/xml + +%if "%{_lib}" == "lib64" +%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever} +%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages +%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages/__pycache__/ +%endif + +# "Makefile" and the config-32/64.h file are needed by +# distutils/sysconfig.py:_init_posix(), so we include them in the core +# package, along with their parent directories (bug 531901): +%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/ +%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile +%dir %{_includedir}/python%{LDVERSION_optimized}/ +%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} + +%{_libdir}/%{py_INSTSONAME_optimized} +%if %{without flatpackage} +%{_libdir}/libpython3.so +%endif + + +%if %{without flatpackage} +%files devel +%{_bindir}/2to3 +%endif + +%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/* +%if %{without flatpackage} +%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile +%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} +%endif +%{_includedir}/python%{LDVERSION_optimized}/*.h +%{_includedir}/python%{LDVERSION_optimized}/internal/ ++%{_includedir}/python%{LDVERSION_optimized}/cpython/ +%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit + +%if %{without flatpackage} +%{_bindir}/python3-config +%{_bindir}/python-config +%{_libdir}/pkgconfig/python3.pc +%{_libdir}/pkgconfig/python.pc ++%{_libdir}/pkgconfig/python3-embed.pc +%{_bindir}/pathfix.py +%{_bindir}/pygettext3.py +%{_bindir}/pygettext.py +%{_bindir}/msgfmt3.py +%{_bindir}/msgfmt.py +%endif + +%{_bindir}/pygettext%{pybasever}.py +%{_bindir}/msgfmt%{pybasever}.py + +%{_bindir}/python%{pybasever}-config +%{_bindir}/python%{LDVERSION_optimized}-config +%{_bindir}/python%{LDVERSION_optimized}-*-config +%{_libdir}/libpython%{LDVERSION_optimized}.so +%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc ++%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}-embed.pc +%{_libdir}/pkgconfig/python-%{pybasever}.pc ++%{_libdir}/pkgconfig/python-%{pybasever}-embed.pc + + +%if %{without flatpackage} +%files idle + +%{_bindir}/idle* +%else +%{_bindir}/idle%{pybasever} +%endif + +%{pylibdir}/idlelib + +%if %{without flatpackage} +%{_metainfodir}/idle3.appdata.xml +%{_datadir}/applications/idle3.desktop +%{_datadir}/icons/hicolor/*/apps/idle3.* +%endif + +%if %{without flatpackage} +%files tkinter +%endif + +%{pylibdir}/tkinter +%if %{without flatpackage} +%exclude %{pylibdir}/tkinter/test +%endif +%{dynload_dir}/_tkinter.%{SOABI_optimized}.so +%{pylibdir}/turtle.py +%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} +%dir %{pylibdir}/turtledemo +%{pylibdir}/turtledemo/*.py +%{pylibdir}/turtledemo/*.cfg +%dir %{pylibdir}/turtledemo/__pycache__/ +%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes} + + +%if %{without flatpackage} +%files test +%endif + +%{pylibdir}/ctypes/test +%{pylibdir}/distutils/tests +%{pylibdir}/sqlite3/test +%{pylibdir}/test +%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so +%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so +%{dynload_dir}/_testcapi.%{SOABI_optimized}.so +%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so ++%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so ++%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so +%{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so +%{pylibdir}/lib2to3/tests +%{pylibdir}/tkinter/test +%{pylibdir}/unittest/test + +# We don't bother splitting the debug build out into further subpackages: +# if you need it, you're probably a developer. + +# Hence the manifest is the combination of analogous files in the manifests of +# all of the other subpackages + +%if %{with debug_build} +%if %{without flatpackage} +%files debug +%{_bindir}/python3-debug +%{_bindir}/python-debug +%endif + +# Analog of the core subpackage's files: +%{_bindir}/python%{LDVERSION_debug} + +# Analog of the -libs subpackage's files: +# ...with debug builds of the built-in "extension" modules: + +%{dynload_dir}/_blake2.%{SOABI_debug}.so +%{dynload_dir}/_md5.%{SOABI_debug}.so +%{dynload_dir}/_sha1.%{SOABI_debug}.so +%{dynload_dir}/_sha256.%{SOABI_debug}.so +%{dynload_dir}/_sha3.%{SOABI_debug}.so +%{dynload_dir}/_sha512.%{SOABI_debug}.so + +%{dynload_dir}/_asyncio.%{SOABI_debug}.so +%{dynload_dir}/_bisect.%{SOABI_debug}.so +%{dynload_dir}/_bz2.%{SOABI_debug}.so +%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so +%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so +%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so +%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so +%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so +%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so +%{dynload_dir}/_contextvars.%{SOABI_debug}.so +%{dynload_dir}/_crypt.%{SOABI_debug}.so +%{dynload_dir}/_csv.%{SOABI_debug}.so +%{dynload_dir}/_ctypes.%{SOABI_debug}.so +%{dynload_dir}/_curses.%{SOABI_debug}.so +%{dynload_dir}/_curses_panel.%{SOABI_debug}.so +%{dynload_dir}/_dbm.%{SOABI_debug}.so +%{dynload_dir}/_decimal.%{SOABI_debug}.so +%{dynload_dir}/_elementtree.%{SOABI_debug}.so +%if %{with gdbm} +%{dynload_dir}/_gdbm.%{SOABI_debug}.so +%endif +%{dynload_dir}/_hashlib.%{SOABI_debug}.so +%{dynload_dir}/_heapq.%{SOABI_debug}.so +%{dynload_dir}/_json.%{SOABI_debug}.so +%{dynload_dir}/_lsprof.%{SOABI_debug}.so +%{dynload_dir}/_lzma.%{SOABI_debug}.so +%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so +%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so +%{dynload_dir}/_opcode.%{SOABI_debug}.so +%{dynload_dir}/_pickle.%{SOABI_debug}.so +%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so +%{dynload_dir}/_queue.%{SOABI_debug}.so +%{dynload_dir}/_random.%{SOABI_debug}.so +%{dynload_dir}/_socket.%{SOABI_debug}.so +%{dynload_dir}/_sqlite3.%{SOABI_debug}.so +%{dynload_dir}/_ssl.%{SOABI_debug}.so +%{dynload_dir}/_struct.%{SOABI_debug}.so +%{dynload_dir}/array.%{SOABI_debug}.so +%{dynload_dir}/audioop.%{SOABI_debug}.so +%{dynload_dir}/binascii.%{SOABI_debug}.so +%{dynload_dir}/cmath.%{SOABI_debug}.so +%{dynload_dir}/_datetime.%{SOABI_debug}.so +%{dynload_dir}/fcntl.%{SOABI_debug}.so +%{dynload_dir}/grp.%{SOABI_debug}.so +%{dynload_dir}/math.%{SOABI_debug}.so +%{dynload_dir}/mmap.%{SOABI_debug}.so +%{dynload_dir}/nis.%{SOABI_debug}.so +%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so +%{dynload_dir}/parser.%{SOABI_debug}.so ++%{dynload_dir}/_posixshmem.%{SOABI_debug}.so +%{dynload_dir}/pyexpat.%{SOABI_debug}.so +%{dynload_dir}/readline.%{SOABI_debug}.so +%{dynload_dir}/resource.%{SOABI_debug}.so +%{dynload_dir}/select.%{SOABI_debug}.so +%{dynload_dir}/spwd.%{SOABI_debug}.so +%{dynload_dir}/syslog.%{SOABI_debug}.so +%{dynload_dir}/termios.%{SOABI_debug}.so - %{dynload_dir}/_testmultiphase.%{SOABI_debug}.so +%{dynload_dir}/unicodedata.%{SOABI_debug}.so +%{dynload_dir}/_uuid.%{SOABI_debug}.so ++%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so +%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so +%{dynload_dir}/zlib.%{SOABI_debug}.so + +# No need to split things out the "Makefile" and the config-32/64.h file as we +# do for the regular build above (bug 531901), since they're all in one package +# now; they're listed below, under "-devel": + +%{_libdir}/%{py_INSTSONAME_debug} + +# Analog of the -devel subpackage's files: +%{pylibdir}/config-%{LDVERSION_debug}-%{_arch}-linux%{_gnu} +%{_includedir}/python%{LDVERSION_debug} +%{_bindir}/python%{LDVERSION_debug}-config +%{_bindir}/python%{LDVERSION_debug}-*-config +%{_libdir}/libpython%{LDVERSION_debug}.so +%{_libdir}/libpython%{LDVERSION_debug}.so.1.0 +%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc ++%{_libdir}/pkgconfig/python-%{LDVERSION_debug}-embed.pc + +# Analog of the -tools subpackage's files: +# None for now; we could build precanned versions that have the appropriate +# shebang if needed + +# Analog of the tkinter subpackage's files: +%{dynload_dir}/_tkinter.%{SOABI_debug}.so + +# Analog of the -test subpackage's files: +%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so +%{dynload_dir}/_testbuffer.%{SOABI_debug}.so +%{dynload_dir}/_testcapi.%{SOABI_debug}.so +%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so ++%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so ++%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so + +%endif # with debug_build + +# We put the debug-gdb.py file inside /usr/lib/debug to avoid noise from ldconfig +# See https://bugzilla.redhat.com/show_bug.cgi?id=562980 +# +# The /usr/lib/rpm/redhat/macros defines %%__debug_package to use +# debugfiles.list, and it appears that everything below /usr/lib/debug and +# (/usr/src/debug) gets added to this file (via LISTFILES) in +# /usr/lib/rpm/find-debuginfo.sh +# +# Hence by installing it below /usr/lib/debug we ensure it is added to the +# -debuginfo subpackage +# (if it doesn't, then the rpmbuild ought to fail since the debug-gdb.py +# payload file would be unpackaged) + +# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1476593 +%undefine _debuginfo_subpackages + +# ====================================================== +# Finally, the changelog: +# ====================================================== + +%changelog ++* Tue Aug 13 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~b3-1 ++- Update to 3.8.0b3 ++ +* Sun Aug 11 2019 Miro Hronok mhroncok@redhat.com - 3.7.4-5 +- Conditionalize python3-devel runtime dependencies on RPM packages and setuptools + +* Fri Jul 26 2019 Fedora Release Engineering releng@fedoraproject.org - 3.7.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 15 2019 Lumr Balhar lbalhar@redhat.com - 3.7.4-3 +- Move test.support module to python3-test subpackage + https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-t... +- Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild + +* Fri Jul 12 2019 Miro Hronok mhroncok@redhat.com - 3.7.4-2 +- https://fedoraproject.org/wiki/Changes/Python_means_Python3 +- The python-unversioned-command package is no longer Python 2, but 3 +- The python, pydoc, python-config, python-debug, idle, pygettext.py and + msgfmt.py commands are now in python3 + +* Tue Jul 09 2019 Miro Hronok mhroncok@redhat.com - 3.7.4-1 +- Update to 3.7.4 + +* Tue Jul 02 2019 Miro Hronok mhroncok@redhat.com - 3.7.4~rc2-1 +- Update to 3.7.4rc2 + +* Tue Jun 25 2019 Miro Hronok mhroncok@redhat.com - 3.7.4~rc1-1 +- Update to 3.7.4rc1 + +* Tue May 07 2019 Charalampos Stratakis cstratak@redhat.com - 3.7.3-3 +- Fix handling of pre-normalization characters in urlsplit +- Disallow control chars in http URLs (#1695572, #1700684, #1688169, #1706851) + +* Wed Apr 17 2019 Patrik Kopkan pkopkan@redhat.com - 3.7.3-2 +- Makes man python3.7m show python3.7 man pages (#1612241) + +* Wed Mar 27 2019 Miro Hronok mhroncok@redhat.com - 3.7.3-1 +- Update to 3.7.3 + +* Thu Mar 21 2019 Miro Hronok mhroncok@redhat.com - 3.7.3~rc1-1 +- Update to 3.7.3rc1 + +* Thu Mar 14 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-8 +- Security fix for CVE-2019-9636 (#1688543, #1688546) + +* Sun Feb 17 2019 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.2-7 +- Rebuild for readline 8.0 + +* Tue Feb 12 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-6 +- Reduced default build flags used to build extension modules + https://fedoraproject.org/wiki/Changes/Python_Extension_Flags + +* Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 3.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 16 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-4 +- Security fix for CVE-2019-5010 (#1666519, #1666522) + +* Mon Jan 14 2019 Bjrn Esser besser82@fedoraproject.org - 3.7.2-3 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Fri Jan 04 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-2 +- No longer revert upstream commit 3b699932e5ac3e7 +- This was a dirty workaround for (#1644936) + +* Tue Dec 25 2018 Miro Hronok mhroncok@redhat.com - 3.7.2-1 +- Update to 3.7.2 + +* Fri Dec 07 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-5 +- Make sure we don't ship any exe files (not needed an prebuilt) + +* Wed Nov 21 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-4 +- Make sure the entire test.support module is in python3-libs (#1651245) + +* Tue Nov 06 2018 Victor Stinner vstinner@redhat.com - 3.7.1-3 +- Verify the value of '-s' when execute the CLI of cProfile (rhbz#1160640) + +* Sun Nov 04 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-2 +- Temporarily revert upstream commit 3b699932e5ac3e7 +- This is dirty workaround for (#1644936) + +* Mon Oct 22 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-1 +- Update to 3.7.1 + +* Thu Sep 27 2018 Petr Viktorin pviktori@redhat.com - 3.7.0-10 +- Compile the debug build with -Og rather than -O0 + +* Thu Aug 30 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-9 +- Require python3-setuptools from python3-devel to prevent packaging errors (#1623914) + +* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-8 +- Add /usr/bin/pygettext3.py and msgfmt3.py to python3-devel +Resolves: rhbz#1571474 + +* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-7 +- Backport TLS 1.3 related fixes to fix FTBFS +Resolves: rhbz#1609291 + +* Wed Aug 15 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-6 +- Use RPM built wheels of pip and setuptools in ensurepip instead of our rewheel patch + +* Fri Aug 10 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-5 +- Fix wrong requirement on gdbm + +* Fri Jul 20 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-4 +- Allow to call Py_Main() after Py_Initialize() +Resolves: rhbz#1595421 + +* Sat Jul 14 2018 Fedora Release Engineering releng@fedoraproject.org - 3.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jul 12 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-2 +- Rebuild for new gdbm + +* Wed Jun 27 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-1 +- Update to 3.7.0 final + +* Wed Jun 13 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.21.rc1 +- Finish bootstrapping, enable rewheel, tests, optimizations + +* Tue Jun 12 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.20.rc1 +- Update to 3.7.0rc1 +- Bootstrap, disable rewheel, tests, optimizations + +* Mon Apr 23 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-4 +- Fix multiprocessing regression on newer glibcs +- Enable test_multiprocessing_fork(server) and _spawn again +Resolves: rhbz#1569933 + +* Thu Apr 19 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-3 +- Skip test_multiprocessing_fork(server) and _spawn for now + +* Wed Apr 18 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-2 +- Add flatpackage conditionals + +* Thu Mar 29 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.5-1 +- Update to 3.6.5 + +* Sat Mar 24 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-20 +- Fix broken macro invocation and broken building of C Python extensions +Resolves: rhbz#1560103 + +* Fri Mar 16 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-19 +- Add -n option for pathfix.py +Resolves: rhbz#1546990 + +* Thu Mar 15 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-18 +- Fix the py_byte_compile macro to work on Python 2 +- Remove the pybytecompile macro file from the flat package +Resolves: rhbz#1484993 + +* Tue Mar 13 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-17 +- Do not send IP addresses in SNI TLS extension + +* Sat Feb 24 2018 Florian Weimer fweimer@redhat.com - 3.6.4-16 +- Rebuild with new LDFLAGS from redhat-rpm-config + +* Wed Feb 21 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-15 +- Filter out automatic /usr/bin/python3.X requirement, + recommend the main package from libs instead +Resolves: rhbz#1547131 + +* Thu Feb 15 2018 Iryna Shcherbina ishcherb@redhat.com - 3.6.4-14 +- Remove the python3-tools package (#rhbz 1312030) +- Move /usr/bin/2to3 to python3-devel +- Move /usr/bin/idle and idlelib to python3-idle +- Provide python3-tools from python3-idle + +* Fri Feb 09 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-13 +- Escape macros in %%changelog + +* Fri Feb 02 2018 Michal Cyprian mcyprian@redhat.com - 3.6.4-12 +- Remove sys.executable check from change-user-install-location patch +Resolves: rhbz#1532287 + +* Thu Feb 01 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-11 +- Define TLS cipher suite on build time. + +* Wed Jan 31 2018 Tomas Orsava torsava@redhat.com - 3.6.4-10 +- Disable test_gdb for all arches and test_buffer for ppc64le in anticipation + of the F28 mass rebuild +- Re-enable these tests after the mass rebuild when they can be properly + addressed + +* Tue Jan 23 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-9 +- Restore the PyExc_RecursionErrorInst public symbol + +* Tue Jan 23 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-8 +- Add patch to explicitly link _ctypes module with -ldl (#1537489) +- Refactored patch for libxcrypt +- Re-enable strict symbol checks in the link editor + +* Mon Jan 22 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-7 +- Add patch for libxcrypt +- Disable strict symbol checks in the link editor + +* Sat Jan 20 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-6 +- Rebuilt for switch to libxcrypt + +* Fri Jan 19 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-5 +- Fix localeconv() encoding for LC_NUMERIC + +* Thu Jan 18 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-4 +- R: gdbm-devel R: gdbm for python3-libs + +* Wed Jan 17 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-3 +- Require large enough gdbm (fixup for previous bump) + +* Tue Jan 16 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-2 +- Rebuild for reverted gdbm 1.13 on Fedora 27 + +* Mon Jan 15 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-1 +- Update to version 3.6.4 + +* Fri Jan 12 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.3-5 +- Fix the compilation of the nis module. + +* Tue Nov 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-4 +- Raise the release of platform-python obsoletes for better maintainability + +* Wed Nov 15 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-3 +- Obsolete platform-python and it's subpackages + +* Mon Oct 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-2 +- Fix memory corruption due to allocator mix +Resolves: rhbz#1498207 + +* Fri Oct 06 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-1 +- Update to Python 3.6.3 + +* Fri Sep 29 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-19 +- Move pathfix.py to bindir, https://github.com/fedora-python/python-rpm-porting/issues/24 +- Make the -devel package require redhat-rpm-config +Resolves: rhbz#1496757 + +* Wed Sep 13 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-18 +- Fix /usr/bin/env dependency from python3-tools +Resolves: rhbz#1482118 + +* Wed Sep 06 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-17 +- Include `-g` in the flags sent to the linker (LDFLAGS) +Resolves: rhbz#1483222 + +* Tue Sep 05 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-16 +- Specfile cleanup +- Make the main description also applicable to the SRPM +- Add audiotest.au to the test package + +* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-15 +- Remove %%{pylibdir}/Tools/scripts/2to3 + +* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-14 +- Expat >= 2.1.0 is everywhere, remove explicit requires +- Conditionalize systemtap-devel BuildRequires +- For consistency, require /usr/sbin/ifconfig instead of net-tools + +* Mon Aug 28 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-13 +- Rename patch files to be consistent +- Run autotools to generate the configure script before building +- Merge lib64 patches (104 into 102) +- Skip test_bdist_rpm using test config rather than a patch (removes patch 137) +- Remove patches 157 and 186, which had test changes left over after upstreaming +- Remove patch 188, a temporary workaround for hashlib tests +- Merge patches 180, 206, 243, 5001 (architecture naming) into new patch 274 +- Move python2-tools conflicts to tools subpackage (it was wrongly in tkinter) + +* Mon Aug 28 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-12 +- Use python3 style of calling super() without arguments in rpath + patch to prevent recursion in UnixCCompiler subclasses +Resolves: rhbz#1458122 + +* Mon Aug 21 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-11 +- Add bcond for --without optimizations +- Reword package descriptions +- Remove Group declarations +- Skip failing test_float_with_comma + +* Mon Aug 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-10 +- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack + +* Wed Aug 16 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-9 +- Use bconds for configuring the build +- Reorganize the initial sections + +* Wed Aug 16 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-8 +- Have /usr/bin/2to3 (rhbz#1111275) +- Provide 2to3 and idle3, list them in summary and description (rhbz#1076401) + +* Fri Aug 11 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-7 +- Revert "Add --executable option to install.py command" + This enhancement is currently not needed and it can possibly + collide with `pip --editable`option + +* Mon Aug 07 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-6 +- Fix the "urllib FTP protocol stream injection" vulnerability +Resolves: rhbz#1478916 + +* Tue Aug 01 2017 Tomas Orsava torsava@redhat.com - 3.6.2-5 +- Dropped BuildRequires on db4-devel which was useful for Python 2 (module + bsddb), however, no longer needod for Python 3 +- Tested building Python 3 with and without the dependency, all tests pass and + filelists of resulting RPMs are identical + +* Sun Jul 30 2017 Florian Weimer fweimer@redhat.com - 3.6.2-4 +- Do not generate debuginfo subpackages (#1476593) +- Rebuild with binutils fix for ppc64le (#1475636) + +* Thu Jul 27 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 25 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-2 +- Make test_asyncio to not depend on the current SIGHUP signal handler. + +* Tue Jul 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-1 +- Update to Python 3.6.2 + +* Tue Jun 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-10 +- Update to the latest upstream implementation of PEP 538 + +* Mon Jun 26 2017 Michal Cyprian mcyprian@redhat.com - 3.6.1-9 +- Make pip and distutils in user environment install into separate location + +* Fri Jun 23 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-8 +- Fix test_alpn_protocols from test_ssl +- Do not require rebundled setuptools dependencies + +* Tue May 16 2017 Tomas Orsava torsava@redhat.com - 3.6.1-7 +- Added a dependency to the devel subpackage on python3-rpm-generators which + have been excised out of rpm-build +- Updated notes on bootstrapping Python on top of this specfile accordingly +- Involves: rhbz#1410631, rhbz#1444925 + +* Tue May 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-6 +- Enable profile guided optimizations for x86_64 and i686 architectures +- Update to a newer implementation of PEP 538 +- Update description to reflect that Python 3 is now the default Python + +* Fri May 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-5 +- Update PEP 538 to the latest upstream implementation + +* Tue Apr 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-4 +- Enable link time optimizations +- Move windows executables to the devel subpackage (rhbz#1426257) + +* Thu Apr 13 2017 Tomas Orsava torsava@redhat.com - 3.6.1-3 +- Rename python3.Xdm-config script from -debug to be arch specific +Resolves: rhbz#1179073 + +* Wed Apr 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-2 +- Install the Makefile in its proper location (rhbz#1438219) + +* Wed Mar 22 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.1-1 +- Update to version 3.6.1 final + +* Tue Mar 21 2017 Tomas Orsava torsava@redhat.com - 3.6.1-0.2.rc1 +- Fix syntax error in %%py_byte_compile macro (rhbz#1433569) + +* Thu Mar 16 2017 Iryna Shcherbina ishcherb@redaht.com - 3.6.1-0.1.rc1 +- Update to Python 3.6.1 release candidate 1 +- Add patch 264 to skip a known test failure on aarch64 + +* Fri Mar 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-21 +- Use proper command line parsing in _testembed +- Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale + https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale + +* Mon Feb 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-20 +- Add desktop entry and appdata.xml file for IDLE 3 (rhbz#1392049) + +* Fri Feb 24 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-19 +- Revert "Set values of prefix and exec_prefix to /usr/local for + /usr/bin/python* executables..." to prevent build failures + of packages using alternate build tools + +* Tue Feb 21 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-18 +- Set values of prefix and exec_prefix to /usr/local for + /usr/bin/python* executables +- Use new %%_module_build macro + +* Fri Feb 17 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-13 +- Add --executable option to install.py command + +* Wed Feb 15 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-12 +- BuildRequire the new dependencies of setuptools when rewheel mode is enabled +in order for the virtualenvs to work properly + +* Sat Feb 11 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 01 2017 Stephen Gallagher sgallagh@redhat.com - 3.6.0-10 +- Add missing %%license macro + +* Thu Jan 26 2017 Tomas Orsava torsava@redhat.com - 3.6.0-9 +- Modify the runtime dependency of python3-libs on system-python-libs again, + because previous attempt didn't work properly with dnf resolving mechanism + +* Wed Jan 25 2017 Tomas Orsava torsava@redhat.com - 3.6.0-8 +- Modify the runtime dependency of python3-libs on system-python-libs to use + just the version and release number, but not the dist tag due to Modularity + +* Mon Jan 16 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-7 +- Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275) +- Skip test_aead_aes_gcm during rpmbuild + +* Thu Jan 12 2017 Igor Gnatenko ignatenko@redhat.com - 3.6.0-6 +- Rebuild for readline 7.x + +* Tue Jan 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-5 +- Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644) + +* Mon Jan 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-4 +- Define HAVE_LONG_LONG as 1 for backwards compatibility + +* Thu Jan 05 2017 Miro Hronok mhroncok@redhat.com - 3.6.0-3 +- Don't blow up on EL7 kernel (random generator) (rhbz#1410175) + +* Tue Dec 27 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-1 +- Update to Python 3.6.0 final + +* Fri Dec 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.6.rc1 +- Enable rewheel + +* Wed Dec 07 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.5.rc1 +- Update to Python 3.6.0 release candidate 1 + +* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.4.b4 +- Update to Python 3.6.0 beta 4 + +* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-7 +- Set to work with pip version 9.0.1 + +* Wed Oct 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-6 +- Use proper patch numbering and base upstream branch for +porting ssl and hashlib modules to OpenSSL 1.1.0 +- Drop hashlib patch for now +- Add riscv64 arch to 64bit and no-valgrind arches + +* Tue Oct 11 2016 Tom Mrz tmraz@redhat.com - 3.5.2-5 +- Make it build with OpenSSL-1.1.0 based on upstream patch + +* Wed Sep 14 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-4 +- Obsolete and Provide python35 package + +* Mon Sep 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-3 +- Update %%py_byte_compile macro +- Remove unused configure flags (rhbz#1374357) + +* Fri Sep 09 2016 Tomas Orsava torsava@redhat.com - 3.5.2-2 +- Updated .pyc 'bytecompilation with the newly installed interpreter' to also + recompile optimized .pyc files +- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo + files are no more +- Resolves rhbz#1373635 + +* Mon Aug 15 2016 Tomas Orsava torsava@redhat.com - 3.5.2-1 +- Rebased to version 3.5.2 +- Set to work with pip version 8.1.2 +- Removed patches 207, 237, 241 as fixes are already contained in Python 3.5.2 +- Removed arch or environment specific patches 194, 196, 203, and 208 + as test builds indicate they are no longer needed +- Updated patches 102, 146, and 242 to work with the new Python codebase +- Removed patches 200, 201, 5000 which weren't even being applied + +* Tue Aug 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-15 +- Fix for CVE-2016-1000110 HTTPoxy attack +- SPEC file cleanup + +* Mon Aug 01 2016 Michal Toman mtoman@fedoraproject.org - 3.5.1-14 +- Build properly on MIPS + +* Tue Jul 19 2016 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.5.1-13 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Pac... + +* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-12 +- Refactor patch for properly fixing CVE-2016-5636 + +* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-11 +- Fix test_pyexpat failure with Expat version of 2.2.0 + +* Fri Jul 08 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-10 +- Move xml module to system-python-libs + +* Thu Jun 16 2016 Tomas Orsava torsava@redhat.com - 3.5.1-9 +- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack +- Raise an error when STARTTLS fails +- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647 +- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345 +- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394 + +* Mon Jun 13 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-8 +- Added patch for fixing possible integer overflow and heap corruption in zipimporter.get_data() + +* Fri Mar 04 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-7 +- Move distutils to system-python-libs + +* Wed Feb 24 2016 Robert Kuska rkuska@redhat.com - 3.5.1-6 +- Provide python3-enum34 + +* Fri Feb 19 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-5 +- Provide System Python packages and macros + +* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 3.5.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 13 2016 Orion Poplwski orion@cora.nwra.com - 3.5.1-2 +- Drop python3 macros, require python/python3-rpm-macros + +* Mon Dec 14 2015 Robert Kuska rkuska@redhat.com - 3.5.1-1 +- Update to 3.5.1 +- Removed patch 199 and 207 (upstream) + +* Sun Nov 15 2015 Robert Kuska rkuska@redhat.com - 3.5.0-5 +- Remove versioned libpython from devel package + +* Fri Nov 13 2015 Than Ngo than@redhat.com 3.5.0-4 +- add correct arch for ppc64/ppc64le to fix build failure + +* Wed Nov 11 2015 Robert Kuska rkuska@redhat.com - 3.5.0-3 +- Hide the private _Py_atomic_xxx symbols from public header + +* Wed Oct 14 2015 Robert Kuska rkuska@redhat.com - 3.5.0-2 +- Rebuild with wheel set to 1 + +* Tue Sep 15 2015 Matej Stuchlik mstuchli@redhat.com - 3.5.0-1 +- Update to 3.5.0 + +* Mon Jun 29 2015 Thomas Spura tomspur@fedoraproject.org - 3.4.3-4 +- python3-devel: Require python-macros for version independant macros such as + python_provide. See fpc#281 and fpc#534. + +* Thu Jun 18 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-4 +- Use 1024bit DH key in test_ssl +- Use -O0 when compiling -debug build +- Update pip version variable to the version we actually ship + +* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-3 +- Make relocating Python by changing _prefix actually work +Resolves: rhbz#1231801 + +* Mon May 4 2015 Peter Robinson pbrobinson@fedoraproject.org 3.4.3-2 +- Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches + +* Thu Mar 12 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-1 +- Updated to 3.4.3 +- BuildPython now accepts additional build options +- Temporarily disabled test_gdb on arm (rhbz#1196181) + +* Wed Feb 25 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.2-7 +- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64 + (http://bugs.python.org/issue23433) + +* Sat Feb 21 2015 Till Maas opensource@till.name - 3.4.2-6 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-ind... + +* Tue Feb 17 2015 Ville Skytt ville.skytta@iki.fi - 3.4.2-5 +- Own systemtap dirs (#710733) + +* Mon Jan 12 2015 Dan Hork <dan[at]danny.cz> - 3.4.2-4 +- build with valgrind on ppc64le +- disable test_gdb on s390(x) until rhbz#1181034 is resolved + +* Tue Dec 16 2014 Robert Kuska rkuska@redhat.com - 3.4.2-3 +- New patches: 170 (gc asserts), 200 (gettext headers), + 201 (gdbm memory leak) + +* Thu Dec 11 2014 Robert Kuska rkuska@redhat.com - 3.4.2-2 +- OpenSSL disabled SSLv3 in SSLv23 method + +* Thu Nov 13 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.2-1 +- Update to 3.4.2 +- Refreshed patches: 156 (gdb autoload) +- Removed: 195 (Werror declaration), 197 (CVE-2014-4650) + +* Mon Nov 03 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-16 +- Fix CVE-2014-4650 - CGIHTTPServer URL handling +Resolves: rhbz#1113529 + +* Sun Sep 07 2014 Karsten Hopp karsten@redhat.com 3.4.1-15 +- exclude test_gdb on ppc* (rhbz#1132488) + +* Thu Aug 21 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-14 +- Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1 + +* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 8 2014 Peter Robinson pbrobinson@fedoraproject.org 3.4.1-12 +- aarch64 has valgrind, just list those that don't support it + +* Sun Jun 08 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Jun 04 2014 Karsten Hopp karsten@redhat.com 3.4.1-10 +- bump release and rebuild to link with the correct tcl/tk libs on ppcle + +* Tue Jun 03 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-9 +- Change paths to bundled projects in rewheel patch + +* Fri May 30 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-8 +- In config script, use uname -m to write the arch + +* Thu May 29 2014 Dan Hork <dan[at]danny.cz> - 3.4.1-7 +- update the arch list where valgrind exists - %%power64 includes also + ppc64le which is not supported yet + +* Thu May 29 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-6 +- Forward arguments to the arch specific config script +Resolves: rhbz#1102683 + +* Wed May 28 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-5 +- Rename python3.Xm-config script to arch specific. +Resolves: rhbz#1091815 + +* Tue May 27 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.1-4 +- Use python3-*, not python-* runtime requires on setuptools and pip +- rebuild for tcl-8.6 + +* Tue May 27 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-3 +- Update the rewheel module + +* Mon May 26 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-2 +- Fix multilib dependencies. +Resolves: rhbz#1091815 + +* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-1 +- Update to Python 3.4.1 + +* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-8 +- Fix test_gdb failure on ppc64le +Resolves: rhbz#1095355 + +* Thu May 22 2014 Miro Hronok mhroncok@redhat.com - 3.4.0-7 +- Add macro %%python3_version_nodots + +* Sun May 18 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-6 +- Disable test_faulthandler, test_gdb on aarch64 +Resolves: rhbz#1045193 + +* Fri May 16 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-5 +- Don't add Werror=declaration-after-statement for extension + modules through setup.py (PyBT#21121) + +* Mon May 12 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-4 +- Add setuptools and pip to Requires + +* Tue Apr 29 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-3 +- Point __os_install_post to correct brp-* files + +* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-2 +- Temporarily disable tests requiring SIGHUP (rhbz#1088233) + +* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-1 +- Update to Python 3.4 final +- Add patch adding the rewheel module +- Merge patches from master + +* Wed Jan 08 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b2 +- Update to Python 3.4 beta 2. +- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise) +- Dropped patches: 114 (statvfs constants), 177 (platform unicode) + +* Mon Nov 25 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b1 +- Update to Python 3.4 beta 1. +- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT +ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips), +157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port) +- Removed patch 00187 (remove pthread atfork; upstreamed) + +* Mon Nov 04 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.a4 +- Update to Python 3.4 alpha 4. +- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib), +114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in +test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise), +157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise +from py_compile) +- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in +Koji), 142 (the mock issue that caused this is fixed) +- Added patch 187 (remove thread atfork) - will be in next version +- Refreshed script for checking pyc and pyo timestamps with new ignored files. +- The fips patch is disabled for now until upstream makes a final decision +what to do with sha3 implementation for 3.4.0. + +* Wed Oct 30 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-7 +- Bytecompile all *.py files properly during build (rhbz#1023607) + +* Fri Aug 23 2013 Matej Stuchlik mstuchli@redhat.com - 3.3.2-6 +- Added fix for CVE-2013-4238 (rhbz#996399) + +* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-5 +- fix up indentation in arm patch + +* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-4 +- disable a test that fails on arm +- enable valgrind support on arm arches + +* Tue Jul 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-3 +- Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696). + +* Mon May 20 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-2 +- Add patch for CVE-2013-2099 (rhbz#963261). + +* Thu May 16 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-1 +- Updated to Python 3.3.2. +- Refreshed patches: 153 (gdb test noise) +- Dropped patches: 175 (configure -Wformat, fixed upstream), 182 (gdb +test threads) +- Synced patch numbers with python.spec. + +* Thu May 9 2013 David Malcolm dmalcolm@redhat.com - 3.3.1-4 +- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010) + +* Thu May 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-3 +- Add patch that enables building on ppc64p7 (replace the sed, so that +we get consistent with python2 spec and it's more obvious that we're doing it. + +* Wed Apr 24 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-2 +- Add fix for gdb tests failing on arm, rhbz#951802. + +* Tue Apr 09 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-1 +- Updated to Python 3.3.1. +- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips), +153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just +keeping few more downstream tests) +- Removed patches: 3 (audiotest.au made it to upstream tarball) +- Removed workaround for http://bugs.python.org/issue14774, discussed in +http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8. + +* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-10 +- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates + +* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-9 +- renumber patches to keep them in sync with python.spec + +* Fri Mar 15 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-8 +- Fix error in platform.platform() when non-ascii byte strings are decoded to + unicode (rhbz#922149) + +* Thu Mar 14 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-7 +- Fix up shared library extension (rhbz#889784) + +* Thu Mar 07 2013 Karsten Hopp karsten@redhat.com 3.3.0-6 +- add ppc64p7 build target, optimized for Power7 + +* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-5 +- add workaround for ENOPROTOOPT seen running selftests in Koji +(rhbz#913732) + +* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-4 +- remove config flag from /etc/rpm/macros.{python3|pybytecompile} + +* Mon Feb 11 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-3 +- add aarch64 (rhbz#909783) + +* Thu Nov 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-2 +- add BR on bluez-libs-devel (rhbz#879720) + +* Sat Sep 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-1 +- 3.3.0rc3 -> 3.3.0; drop alphatag + +* Mon Sep 24 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.6.rc3 +- 3.3.0rc2 -> 3.3.0rc3 + +* Mon Sep 10 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.5.rc2 +- 3.3.0rc1 -> 3.3.0rc2; refresh patch 55 + +* Mon Aug 27 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.4.rc1 +- 3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55 + +* Mon Aug 13 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.3.b2 +- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111, +134, 153, 160; regenenerate autotools patch; rework systemtap patch to work +correctly when LANG=C (patch 55); importlib.test was moved to +test.test_importlib upstream + +* Mon Aug 13 2012 Karsten Hopp karsten@redhat.com 3.3.0-0.2.b1 +- disable some failing checks on PPC* (rhbz#846849) + +* Fri Aug 3 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 +- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3 +- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream +patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from +configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326); +"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped +for stdlib (upstream issues 10645 and 12218); email/test moved to +test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add +_decimal and _lzma modules; make collections modules explicit in payload again +(upstream issue 11085); add _testbuffer module to tests subpackage (added in +upstream commit 3f9b3b6f7ff0); fix test failures (patches 160 and 161); +workaround erroneously shared _sysconfigdata.py upstream issue #14774; fix +distutils.sysconfig traceback (patch 162); add BuildRequires: xz-devel (for +_lzma module); skip some tests within test_socket (patch 163) + +* Sat Jul 21 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2.3-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jul 20 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 + +* Fri Jun 22 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-10 +- use macro for power64 (rhbz#834653) + +* Mon Jun 18 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-9 +- fix missing include in uid/gid handling patch (patch 157; rhbz#830405) + +* Wed May 30 2012 Bohuslav Kabrda bkabrda@redhat.com - 3.2.3-8 +- fix tapset for debug build + +* Tue May 15 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-7 +- update uid/gid handling to avoid int overflows seen with uid/gid +values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470) + +* Fri May 4 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-6 +- renumber autotools patch from 300 to 5000 +- specfile cleanups + +* Mon Apr 30 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-5 +- fix test_gdb.py (patch 156; rhbz#817072) + +* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-4 +- avoid allocating thunks in ctypes unless absolutely necessary, to avoid +generating SELinux denials on "import ctypes" and "import uuid" when embedding +Python within httpd (patch 155; rhbz#814391) + +* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-3 +- add explicit version requirements on expat to avoid linkage problems with +XML_SetHashSalt + +* Thu Apr 12 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-2 +- fix test_gdb (patch 153) + +* Wed Apr 11 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-1 +- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic +values), 149 (__pycache__ fix); add patch 152 (test_gdb regex) + +* Thu Feb 9 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-13 +- use newly installed python for byte compiling (now for real) + +* Sun Feb 5 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-12 +- use newly installed python for byte compiling (#787498) + +* Wed Jan 4 2012 Ville Skytt ville.skytta@iki.fi - 3.2.2-11 +- Build with $RPM_LD_FLAGS (#756863). +- Use xz-compressed source tarball. + +* Wed Dec 07 2011 Karsten Hopp karsten@redhat.com 3.2.2-10 +- disable rAssertAlmostEqual in test_cmath on PPC (#750811) + +* Mon Oct 17 2011 Rex Dieter rdieter@fedoraproject.org - 3.2.2-9 +- python3-devel missing autogenerated pkgconfig() provides (#746751) + +* Mon Oct 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-8 +- cherrypick fix for distutils not using __pycache__ when byte-compiling +files (rhbz#722578) + +* Fri Sep 30 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-7 +- re-enable gdbm (patch 148; rhbz#742242) + +* Fri Sep 16 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-6 +- add a sys._debugmallocstats() function (patch 147) + +* Wed Sep 14 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-5 +- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and +_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146) + +* Tue Sep 13 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-4 +- disable gdbm module to prepare for gdbm soname bump + +* Mon Sep 12 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-3 +- renumber and rename patches for consistency with python.spec (8 to 55, 106 +to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143) + +* Sat Sep 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-2 +- rewrite of "check", introducing downstream-only hooks for skipping specific +cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more +fine-grained manner than before; (patches 106, 133-142 sparsely, moving +patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141) + +* Tue Sep 6 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-1 +- 3.2.2 + +* Thu Sep 1 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-7 +- run selftests with "--verbose" +- disable parts of test_io on ppc (rhbz#732998) + +* Wed Aug 31 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-6 +- use "--findleaks --verbose3" when running test suite + +* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-5 +- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit +ppc to avoid aliasing violations (patch 130; rhbz#698726) + +* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-4 +- don't use --with-tsc on ppc64 debug builds (rhbz#698726) + +* Thu Aug 18 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-3 +- add %%python3_version to the rpm macros (rhbz#719082) + +* Mon Jul 11 2011 Dennis Gilmore dennis@ausil.us - 3.2.1-2 +- disable some tests on sparc arches + +* Mon Jul 11 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-1 +- 3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling +of static library build (due to Modules/_testembed; patch 6), autotool +intermediates (patch 300) + +* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-5 +- use the gdb hooks from the upstream tarball, rather than keeping our own copy + +* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-4 +- don't run test_openpty and test_pty in %%check + +* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-3 +- cleanup of BuildRequires; add comment headings to specfile sections + +* Tue Apr 19 2011 David Malcolm dmalcolm@redhat.com - 3.2-2 +- fix the libpython.stp systemtap tapset (rhbz#697730) + +* Mon Feb 21 2011 David Malcolm dmalcolm@redhat.com - 3.2-1 +- 3.2 +- drop alphatag +- regenerate autotool patch + +* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.13.rc3 +- add a /usr/bin/python3-debug symlink within the debug subpackage + +* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.12.rc3 +- 3.2rc3 +- regenerate autotool patch + +* Wed Feb 09 2011 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2-0.11.rc2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 31 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.10.rc2 +- 3.2rc2 + +* Mon Jan 17 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.9.rc1 +- 3.2rc1 +- rework patch 6 (static lib removal) +- remove upstreamed patch 130 (ppc debug build) +- regenerate patch 300 (autotool intermediates) +- updated packaging to reflect upstream rewrite of "Demo" (issue 7962) +- added libpython3.so and 2to3-3.2 + +* Wed Jan 5 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.8.b2 +- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker +error with dynamic annotations (when configured using --with-valgrind) +- fix the ppc build of the debug configuration (patch 130; rhbz#661510) + +* Tue Jan 4 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.7.b2 +- add --with-valgrind to configuration (on architectures that support this) + +* Wed Dec 29 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.6.b2 +- work around test_subprocess failure seen in koji (patch 129) + +* Tue Dec 28 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.b2 +- 3.2b2 +- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs), +patch 8 (systemtap), patch 102 (lib64) +- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149), +patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar +fixed upstream) +- regenerate patch 300 (autotool intermediates) +- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127, +patch 128) +- stop using runtest.sh in %%check (dropped by upstream), replacing with +regrtest; fixup list of failing tests +- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros +- rework manifests of shared libraries to use "SOABI_" macros, reflecting +PEP 3149 +- drop itertools, operator and _collections modules from the manifests as py3k +commit r84058 moved these inside libpython; json/tests moved to test/json_tests +- move turtle code into the tkinter subpackage + +* Wed Nov 17 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.a1 +- fix sysconfig to not rely on the -devel subpackage (rhbz#653058) + +* Thu Sep 9 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.4.a1 +- move most of the content of the core package to the libs subpackage, given +that the libs aren't meaningfully usable without the standard libraries + +* Wed Sep 8 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.3.a1 +- Move test.support to core package (rhbz#596258) +- Add various missing __pycache__ directories to payload + +* Sun Aug 22 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.2-0.2.a1 +- Add __pycache__ directory for site-packages + +* Sun Aug 22 2010 Thomas Spura tomspur@fedoraproject.org - 3.2-0.1.a1 +- on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch) +- make find-provides-without-python-sonames.sh 64bit aware + +* Sat Aug 21 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.0.a1 +- 3.2a1; add alphatag +- rework %%files in the light of PEP 3147 (__pycache__) +- drop our configuration patch to Setup.dist (patch 0): setup.py should do a +better job of things, and the %%files explicitly lists our modules (r82746 +appears to break the old way of doing things). This leads to various modules +changing from "foomodule.so" to "foo.so". It also leads to the optimized build +dropping the _sha1, _sha256 and _sha512 modules, but these are provided by +_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for +testing/devel purposes) +- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase +- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat +plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983) +- add machinery for rebuilding "configure" and friends, using the correct +version of autoconf (patch 300) +- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125) +- "modulator" was removed upstream +- drop "-b" from patch applications affecting .py files to avoid littering the +installation tree + +* Thu Aug 19 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.1.2-13 +- Turn on computed-gotos. +- Fix for parallel make and graminit.c + +* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-12 +- rebuild + +* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-11 +- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to +a segfault running test_pyexpat.py (patch 110; upstream issue 9054; rhbz#610312) + +* Fri Jun 4 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-10 +- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819) +- reformat whitespace in audioop.c (patch 106) +- CVE-2010-1634: fix various integer overflow checks in the audioop +module (patch 107) +- CVE-2010-2089: further checks within the audioop module (patch 108) +- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 109) + +* Thu May 27 2010 Dan Hork <dan[at]danny.cz> - 3.1.2-9 +- reading the timestamp counter is available only on some arches (see Python/ceval.c) + +* Wed May 26 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-8 +- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os") +(patch 105) + +* Tue May 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-7 +- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options +(patch 104); enable them and the WITH_TSC option within the debug build + +* Mon May 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-6 +- build and install two different configurations of Python 3: debug and +standard, packaging the debug build in a new "python3-debug" subpackage +(patch 103) + +* Tue Apr 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-5 +- exclude test_http_cookies when running selftests, due to hang seen on +http://koji.fedoraproject.org/koji/taskinfo?taskID=2088463 (cancelled after +11 hours) +- update python-gdb.py from v5 to py3k version submitted upstream + +* Wed Mar 31 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-4 +- update python-gdb.py from v4 to v5 (improving performance and stability, +adding commands) + +* Thu Mar 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-3 +- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference +cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets +and exceptions) + +* Wed Mar 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-2 +- refresh gdb hooks to v3 (reworking how they are packaged) + +* Sun Mar 21 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-1 +- update to 3.1.2: http://www.python.org/download/releases/3.1.2/ +- drop upstreamed patch 2 (.pyc permissions handling) +- drop upstream patch 5 (fix for the test_tk and test_ttk_* selftests) +- drop upstreamed patch 200 (path-fixing script) + +* Sat Mar 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-28 +- fix typo in libpython.stp (rhbz:575336) + +* Fri Mar 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-27 +- add pyfuntop.stp example (source 7) +- convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for +consistency with python.spec + +* Mon Feb 15 2010 Thomas Spura tomspur@fedoraproject.org - 3.1.1-26 +- rebuild for new package of redhat-rpm-config (rhbz:564527) +- use 'install -p' when running 'make install' + +* Fri Feb 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-25 +- split configure options into multiple lines for easy of editing +- add systemtap static markers (wcohen, mjw, dmalcolm; patch 8), a systemtap +tapset defining "python.function.entry" and "python.function.return" to make +the markers easy to use (dmalcolm; source 5), and an example of using the +tapset to the docs (dmalcolm; source 6) (rhbz:545179) + +* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-24 +- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to +%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from +ldconfig (bug 562980), and which should also ensure it becomes part of the +debuginfo subpackage, rather than the libs subpackage +- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream +configure script, and to avoid fragile scripts that try to figure this out +dynamically (e.g. for the -gdb.py change) + +* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-23 +- add gdb hooks for easier debugging (Source 4) + +* Thu Jan 28 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-22 +- update python-3.1.1-config.patch to remove downstream customization of build +of pyexpat and elementtree modules +- add patch adapted from upstream (patch 7) to add support for building against +system expat; add --with-system-expat to "configure" invocation +- remove embedded copies of expat and zlib from source tree during "prep" + +* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-21 +- introduce %%{dynload_dir} macro +- explicitly list all lib-dynload files, rather than dynamically gathering the +payload into a temporary text file, so that we can be sure what we are +shipping +- introduce a macros.pybytecompile source file, to help with packaging python3 +modules (Source3; written by Toshio) +- rename "2to3-3" to "python3-2to3" to better reflect python 3 module packaging +plans + +* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-20 +- change python-3.1.1-config.patch to remove our downstream change to curses +configuration in Modules/Setup.dist, so that the curses modules are built using +setup.py with the downstream default (linking against libncursesw.so, rather +than libncurses.so), rather than within the Makefile; add a test to %%install +to verify the dso files that the curses module is linked against the correct +DSO (bug 539917; changes _cursesmodule.so -> _curses.so) + +* Fri Jan 22 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-19 +- add %%py3dir macro to macros.python3 (to be used during unified python 2/3 +builds for setting up the python3 copy of the source tree) + +* Wed Jan 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-18 +- move lib2to3 from -tools subpackage to main package (bug 556667) + +* Sun Jan 17 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-17 +- patch Makefile.pre.in to avoid building static library (patch 6, bug 556092) + +* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-16 +- use the %%{_isa} macro to ensure that the python-devel dependency on python +is for the correct multilib arch (#555943) +- delete bundled copy of libffi to make sure we use the system one + +* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-15 +- fix the URLs output by pydoc so they point at python.org's 3.1 build of the +docs, rather than the 2.6 build + +* Wed Jan 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-14 +- replace references to /usr with %%{_prefix}; replace references to +/usr/include with %%{_includedir} (Toshio) + +* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-13 +- fix permission on find-provides-without-python-sonames.sh from 775 to 755 + +* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-12 +- remove build-time requirements on tix and tk, since we already have +build-time requirements on the -devel subpackages for each of these (Thomas +Spura) +- replace usage of %%define with %%global (Thomas Spura) +- remove forcing of CC=gcc as this old workaround for bug 109268 appears to +longer be necessary +- move various test files from the "tools"/"tkinter" subpackages to the "test" +subpackage + +* Thu Jan 7 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-11 +- add %%check section (thanks to Thomas Spura) +- update patch 4 to use correct shebang line +- get rid of stray patch file from buildroot + +* Tue Nov 17 2009 Andrew McNabb amcnabb@mcnabbs.org - 3.1.1-10 +- switched a few instances of "find |xargs" to "find -exec" for consistency. +- made the description of __os_install_post more accurate. + +* Wed Nov 4 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-9 +- add macros.python3 to the -devel subpackage, containing common macros for use +when packaging python3 modules + +* Tue Nov 3 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-8 +- add a provides of "python(abi)" (see bug 532118) +- fix issues identified by a.badger in package review (bug 526126, comment 39): + - use "3" thoughout metadata, rather than "3.*" + - remove conditional around "pkg-config openssl" + - use standard cleanup of RPM_BUILD_ROOT + - replace hardcoded references to /usr with _prefix macro + - stop removing egg-info files + - use /usr/bin/python3.1 rather than /use/bin/env python3.1 when fixing +up shebang lines + - stop attempting to remove no-longer-present .cvsignore files + - move the post/postun sections above the "files" sections + +* Thu Oct 29 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-7 +- remove commented-away patch 51 (python-2.6-distutils_rpm.patch): the -O1 +flag is used by default in the upstream code +- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py +_init_posix(), so we include them in the core package, along with their parent +directories (bug 531901) + +* Tue Oct 27 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-6 +- reword description, based on suggestion by amcnabb +- fix the test_email and test_imp selftests (patch 3 and patch 4 respectively) +- fix the test_tk and test_ttk_* selftests (patch 5) +- fix up the specfile's handling of shebang/perms to avoid corrupting +test_httpservers.py (sed command suggested by amcnabb) + +* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-5 +- fixup importlib/_bootstrap.py so that it correctly handles being unable to +open .pyc files for writing (patch 2, upstream issue 7187) +- actually apply the rpath patch (patch 1) + +* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-4 +- update patch0's setup of the crypt module to link it against libcrypt +- update patch0 to comment "datetimemodule" back out, so that it is built +using setup.py (see Setup, option 3), thus linking it statically against +timemodule.c and thus avoiding a run-time "undefined symbol: +_PyTime_DoubleToTimet" failure on "import datetime" + +* Wed Oct 21 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-3 +- remove executable flag from various files that shouldn't have it +- fix end-of-line encodings +- fix a character encoding + +* Tue Oct 20 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-2 +- disable invocation of brp-python-bytecompile in postprocessing, since +it would be with the wrong version of python (adapted from ivazquez' +python3000 specfile) +- use a custom implementation of __find_provides in order to filter out bogus +provides lines for the various .so modules +- fixup distutils/unixccompiler.py to remove standard library path from rpath +(patch 1, was Patch0 in ivazquez' python3000 specfile) +- split out libraries into a -libs subpackage +- update summaries and descriptions, basing content on ivazquez' specfile +- fixup executable permissions on .py, .xpm and .xbm files, based on work in +ivazquez's specfile +- get rid of DOS batch files +- fixup permissions for shared libraries from non-standard 555 to standard 755 +- move /usr/bin/python*-config to the -devel subpackage +- mark various directories as being documentation + +* Thu Sep 24 2009 Andrew McNabb amcnabb@mcnabbs.org 3.1.1-1 +- Initial package for Python 3. - diff --cc tests/tests.yml index e0d81a8,6d53a9c..f596019 --- a/tests/tests.yml +++ b/tests/tests.yml @@@ -10,13 -10,10 +10,13 @@@ tests: - smoke: dir: python/smoke - run: VERSION=3.7 ./venv.sh + run: VERSION=3.8 ./venv.sh - selftest: dir: python/selftest - run: VERSION=3.7 X="-x test_wsgiref" ./parallel.sh + run: VERSION=3.8 X="-x test_wsgiref" ./parallel.sh + - debugtest: + dir: python/selftest - run: VERSION=3.7 PYTHON=python3-debug X="-x test_wsgiref" ./parallel.sh ++ run: VERSION=3.8 PYTHON=python3-debug X="-x test_wsgiref" ./parallel.sh required_packages: - gcc # for extension building in venv and selftest - gdb # for test_gdb
commit e9ba67b74b9849d00cfc8e332b711db142dfd3e3 Author: Miro Hronok miro@hroncok.cz Date: Sun Aug 11 11:23:07 2019 +0200
Conditionalize python3-devel runtime dependencies on RPM packages and setuptools
Installing python3-devel currently brings in:
- annobin - dwz - efi-srpm-macros - fpc-srpm-macros - ghc-srpm-macros - gnat-srpm-macros - go-srpm-macros - nim-srpm-macros - ocaml-srpm-macros - openblas-srpm-macros - perl-srpm-macros - python-rpm-macros - python-srpm-macros - python3-rpm-generators - python3-rpm-macros - qt5-srpm-macros - redhat-rpm-config - rust-srpm-macros
For somebody who needs python3-devel to build extension modules, those are all useless, so we conditionalize it on rpm-build.
Based on the reason for setuptools dependency, we do the same here (but note that python3 already recommends it).
diff --git a/python38.spec b/python38.spec index 3013707..85512cf 100644 --- a/python38.spec +++ b/python38.spec @@ -415,10 +415,10 @@ Summary: Libraries and header files needed for Python development Requires: %{name} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: python-rpm-macros -Requires: python-rpm-macros -Requires: python3-rpm-macros - -%{?python_provide:%python_provide python3-devel} +# The RPM related dependencies bring nothing to a non-RPM Python developer +# But we want them when packages BuildRequire python3-devel +Requires: (python-rpm-macros if rpm-build) +Requires: (python3-rpm-macros if rpm-build)
%if %{without bootstrap} # This is not "API" (packages that need setuptools should still BuildRequire it) @@ -428,11 +428,13 @@ Requires: python3-rpm-macros # installed when -devel is required. # See https://bugzilla.redhat.com/show_bug.cgi?id=1623914 # See https://fedoraproject.org/wiki/Packaging:Directory_Replacement -Requires: python3-setuptools +Requires: (python3-setuptools if rpm-build)
-Requires: python3-rpm-generators +Requires: (python3-rpm-generators if rpm-build) %endif
+%{?python_provide:%python_provide python3-devel} + Provides: %{name}-2to3 = %{version}-%{release} Provides: 2to3 = %{version}-%{release}
commit 2d970f424cd99c706818edde79a8893629c4e02f Author: Miro Hronok miro@hroncok.cz Date: Fri Aug 9 21:04:49 2019 +0200
Stop disabling test_asyncio, the problem was fixed
diff --git a/python38.spec b/python38.spec index 00ef010..3013707 100644 --- a/python38.spec +++ b/python38.spec @@ -1019,8 +1019,6 @@ CheckPython() { # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 # test_gdb skipped everywhere: # https://bugzilla.redhat.com/show_bug.cgi?id=1734327 - # test_asyncio skipped: - # https://bugs.python.org/issue35998 # test_distutils # distutils.tests.test_bdist_rpm tests fail when bootstraping the Python # package: rpmbuild requires /usr/bin/pythonX.Y to be installed @@ -1033,7 +1031,6 @@ CheckPython() { %ifarch %{mips64} -x test_ctypes \ %endif - -x test_asyncio \
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
commit 2d19c7ecdce73a9e51d4a64916761d3e4d69eae9 Author: Miro Hronok miro@hroncok.cz Date: Fri Aug 9 20:57:37 2019 +0200
Skip test_gdb everywhere
https://bugzilla.redhat.com/show_bug.cgi?id=1734327
Also remove a note about test_gdb skipped on armv7hl, that one was fixed:
https://bugzilla.redhat.com/show_bug.cgi?id=1196181
diff --git a/python38.spec b/python38.spec index adfe97f..00ef010 100644 --- a/python38.spec +++ b/python38.spec @@ -1015,10 +1015,10 @@ CheckPython() { LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo
# Run the upstream test suite - # test_gdb skipped on armv7hl: - # https://bugzilla.redhat.com/show_bug.cgi?id=1196181 # test_gdb skipped on s390x: # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 + # test_gdb skipped everywhere: + # https://bugzilla.redhat.com/show_bug.cgi?id=1734327 # test_asyncio skipped: # https://bugs.python.org/issue35998 # test_distutils @@ -1029,9 +1029,7 @@ CheckPython() { %if %{with bootstrap} -x test_distutils \ %endif - %ifarch %{arm} s390x -x test_gdb \ - %endif %ifarch %{mips64} -x test_ctypes \ %endif
commit 29530ba2a88dd55c7da7207d128004dfdb07a9e8 Author: Miro Hronok miro@hroncok.cz Date: Tue Jul 30 00:48:16 2019 +0200
Update to 3.8.0b3
diff --git a/00001-rpath.patch b/00001-rpath.patch index c78445d..030bc3c 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,8 +1,8 @@ -From 8738c39204297788bcb07940a99608f80592829f Mon Sep 17 00:00:00 2001 +From 8a93e612de3f9f1e1c04ca2b31f207a2ce611fe1 Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 -Subject: [PATCH 1/7] 00001: Fixup distutils/unixccompiler.py to remove - standard library path from rpath Was Patch0 in ivazquez' python3000 specfile +Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard + library path from rpath Was Patch0 in ivazquez' python3000 specfile
--- Lib/distutils/unixccompiler.py | 9 +++++++++ diff --git a/00102-lib64.patch b/00102-lib64.patch index 88d7fbd..45677ca 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,8 +1,8 @@ -From 6a503d0ad4512af57ef8a784f12bc439701d8cc7 Mon Sep 17 00:00:00 2001 +From ee7b218babbed91c283445021a99d4b28fc12b2f Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 -Subject: [PATCH 2/7] 00102: Change the various install paths to use - /usr/lib64/ instead or /usr/lib/ +Subject: [PATCH] 00102: Change the various install paths to use /usr/lib64/ + instead or /usr/lib/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -154,7 +154,7 @@ index 41c4229919..543c88432a 100644 'site-packages') self.assertEqual(dirs[0], wanted) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 88abb56360..6c2edf32f7 100644 +index 6a9f4b5270..61d650882f 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -143,7 +143,7 @@ LIBDIR= @libdir@ @@ -198,10 +198,10 @@ index 5f80738188..73d7913441 100644 return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } diff --git a/configure b/configure -index 6e7f277bac..6cd8344c21 100755 +index cb5f130d38..b30b4008f2 100755 --- a/configure +++ b/configure -@@ -15181,9 +15181,9 @@ fi +@@ -15195,9 +15195,9 @@ fi
if test x$PLATFORM_TRIPLET = x; then @@ -214,10 +214,10 @@ index 6e7f277bac..6cd8344c21 100755
diff --git a/configure.ac b/configure.ac -index 324ce0bd99..9a587f3c3f 100644 +index b31ed242f1..42d17bc0ad 100644 --- a/configure.ac +++ b/configure.ac -@@ -4655,9 +4655,9 @@ fi +@@ -4663,9 +4663,9 @@ fi dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) if test x$PLATFORM_TRIPLET = x; then @@ -230,7 +230,7 @@ index 324ce0bd99..9a587f3c3f 100644 AC_SUBST(LIBPL)
diff --git a/setup.py b/setup.py -index edc3434242..59cfc01a2a 100644 +index 6cbbec9e12..a5092861cf 100644 --- a/setup.py +++ b/setup.py @@ -648,7 +648,7 @@ class PyBuildExt(build_ext): diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 2cfeaf0..bc326cb 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,7 +1,7 @@ -From efbafc6328f45da6d38a1848933a37497206fb3f Mon Sep 17 00:00:00 2001 +From 65208ffdf868d06e6e16eeb12e3f47205a738ed3 Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Mon, 18 Jan 2010 17:59:07 +0000 -Subject: [PATCH 3/7] 00111: Don't try to build a libpythonMAJOR.MINOR.a +Subject: [PATCH] 00111: Don't try to build a libpythonMAJOR.MINOR.a MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -21,10 +21,10 @@ Co-authored-by: Miro Hronok miro@hroncok.cz 1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in -index 6c2edf32f7..28c0cead24 100644 +index 61d650882f..3f5be819c4 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -560,7 +560,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c +@@ -561,7 +561,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
# Build the interpreter @@ -33,7 +33,7 @@ index 6c2edf32f7..28c0cead24 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
platform: $(BUILDPYTHON) pybuilddir.txt -@@ -608,12 +608,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -609,12 +609,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
@@ -46,7 +46,7 @@ index 6c2edf32f7..28c0cead24 100644 libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS) if test $(INSTSONAME) != $(LDLIBRARY); then \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \ -@@ -691,7 +685,7 @@ Makefile Modules/config.c: Makefile.pre \ +@@ -692,7 +686,7 @@ Makefile Modules/config.c: Makefile.pre \ @echo "The Makefile was updated, you may need to re-run make."
@@ -55,7 +55,7 @@ index 6c2edf32f7..28c0cead24 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
############################################################################ -@@ -1551,17 +1545,6 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1552,17 +1546,6 @@ libainstall: @DEF_MAKE_RULE@ python-config else true; \ fi; \ done diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 124fe81..7be6406 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,8 +1,7 @@ -From 2edaa31dec042fb8720add80814ca4a3cc4f788f Mon Sep 17 00:00:00 2001 +From 327e040bd14b6bd05314b24e59ffcdb2179f9757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Wed, 15 Aug 2018 15:36:29 +0200 -Subject: [PATCH 4/7] 00189: Instead of bundled wheels, use our RPM packaged - wheels +Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels
We keep them in /usr/share/python-wheels --- @@ -10,7 +9,7 @@ We keep them in /usr/share/python-wheels 1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py -index 6f2569da81..4d17e413db 100644 +index 63de20e288..4d17e413db 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -1,16 +1,27 @@ @@ -27,9 +26,9 @@ index 6f2569da81..4d17e413db 100644
+_WHEEL_DIR = "/usr/share/python-wheels/"
--_SETUPTOOLS_VERSION = "40.8.0" +-_SETUPTOOLS_VERSION = "41.0.1"
--_PIP_VERSION = "19.0.3" +-_PIP_VERSION = "19.2.1" +def _get_most_recent_wheel_version(pkg): + prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg)) + suffix = "-py2.py3-none-any.whl" diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index b00e6a7..1b6f283 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,7 +1,7 @@ -From 3e26b01573488b015065139689be3aa47dac17cf Mon Sep 17 00:00:00 2001 +From 27348866d660c1344a1f78a6337436443e1ed19c Mon Sep 17 00:00:00 2001 From: Michal Cyprian m.cyprian@gmail.com Date: Mon, 26 Jun 2017 16:32:56 +0200 -Subject: [PATCH 5/7] 00251: Change user install location +Subject: [PATCH] 00251: Change user install location
Set values of prefix and exec_prefix in distutils install command to /usr/local if executable is /usr/bin/python* and RPM build diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index 63f23f5..9bca39d 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,8 +1,8 @@ -From b92e29a8cc17f9c02a08b7a005e5ece71a409a0b Mon Sep 17 00:00:00 2001 +From c827bec294a7fb9481a55c1f7d78e80007e38816 Mon Sep 17 00:00:00 2001 From: Petr Viktorin pviktori@redhat.com Date: Mon, 28 Aug 2017 17:16:46 +0200 -Subject: [PATCH 6/7] 00274: Upstream uses Debian-style architecture naming, - change to match Fedora +Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change + to match Fedora MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -29,7 +29,7 @@ index ba37cf99e2..52a9ec6662 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index 9a587f3c3f..695ff85e4b 100644 +index 42d17bc0ad..637a99f159 100644 --- a/configure.ac +++ b/configure.ac @@ -741,9 +741,9 @@ cat >> conftest.c <<EOF diff --git a/00328-pyc-timestamp-invalidation-mode.patch b/00328-pyc-timestamp-invalidation-mode.patch index 87515c4..18e7735 100644 --- a/00328-pyc-timestamp-invalidation-mode.patch +++ b/00328-pyc-timestamp-invalidation-mode.patch @@ -1,4 +1,4 @@ -From 746a45acd333174c3174230833b45f537bd92889 Mon Sep 17 00:00:00 2001 +From 1df081ef9044c6b30fd75d591b6999eb62c48d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Thu, 11 Jul 2019 13:44:13 +0200 Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default diff --git a/python38.spec b/python38.spec index e541158..adfe97f 100644 --- a/python38.spec +++ b/python38.spec @@ -14,10 +14,10 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel b2 +%global prerel b3 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 2%{?dist} +Release: 1%{?dist} License: Python
@@ -379,8 +379,8 @@ Summary: Python runtime libraries Requires: python-setuptools-wheel Requires: python-pip-wheel %else -Provides: bundled(python3-pip) = 19.0.3 -Provides: bundled(python3-setuptools) = 40.8.0 +Provides: bundled(python3-pip) = 19.2.1 +Provides: bundled(python3-setuptools) = 41.0.1 %endif
%{?python_provide:%python_provide python3-libs} @@ -554,8 +554,8 @@ The debug runtime additionally supports debug builds of C-API extensions Requires: python-setuptools-wheel Requires: python-pip-wheel %else -Provides: bundled(python3-pip) = 19.0.3 -Provides: bundled(python3-setuptools) = 40.8.0 +Provides: bundled(python3-pip) = 19.2.1 +Provides: bundled(python3-setuptools) = 41.0.1 %endif
# The description for the flat package @@ -1531,6 +1531,9 @@ CheckPython optimized # ======================================================
%changelog +* Mon Jul 29 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~b3-1 +- Update to 3.8.0b3 + * Fri Jul 26 2019 Fedora Release Engineering releng@fedoraproject.org - 3.8.0~b2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
diff --git a/sources b/sources index b6aaea1..58d4f5b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.8.0b2.tar.xz) = 5d4fdabad098b5273d34ecd939e7f7c104f4f9fc1460e5abaf4a8d1ad1c5d2ff26d579de03106f000672e0a20fcd6e4e1e44ce03be4bb4a734f937f3cc81cb3e +SHA512 (Python-3.8.0b3.tar.xz) = 5b29e580514704150b397850b5bf5f3e4b98a45d9a9f8ac0364bef51caac74862f9f349b5d3d1bbcdcc5b48b2722f1a9e5e0a9837bf44360fe74a396e915ae35
commit 69c2d11d9a3af934e22f5648cb8bc4368ed72e25 Author: Petr Viktorin pviktori@redhat.com Date: Fri Jul 19 17:49:16 2019 +0200
Update python-debug description for Python 3.8 ABI unification
diff --git a/python38.spec b/python38.spec index 9e863f4..e541158 100644 --- a/python38.spec +++ b/python38.spec @@ -534,15 +534,13 @@ extension modules. This version uses more memory and will be slower than the regular Python build, but is useful for tracking down reference-counting issues and other bugs.
-The bytecode format is unchanged, so that .pyc files are compatible between -this and the standard version of Python, but the debugging features mean that -C/C++ extension modules are ABI-incompatible and must be built for each version -separately. - The debug build shares installation directories with the standard Python -runtime, so that .py and .pyc files can be shared. -Compiled extension modules use a special ABI flag ("d") in the filename, -so extensions for both versions can co-exist in the same directory. +runtime. Python modules -- source (.py), bytecode (.pyc), and C-API extensions +(.cpython*.so) -- are compatible between this and the standard version +of Python. + +The debug runtime additionally supports debug builds of C-API extensions +(with the "d" ABI flag) for debugging issues in those extensions. %endif # with debug_build
%else # with flatpackage
commit d35394ed786118a8e0712d0edaed78113371ef40 Author: Fedora Release Engineering releng@fedoraproject.org Date: Fri Jul 26 17:27:40 2019 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/python38.spec b/python38.spec index 1155db0..9e863f4 100644 --- a/python38.spec +++ b/python38.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ %global prerel b2 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} +Release: 2%{?dist} License: Python
@@ -1533,6 +1533,9 @@ CheckPython optimized # ======================================================
%changelog +* Fri Jul 26 2019 Fedora Release Engineering releng@fedoraproject.org - 3.8.0~b2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri Jul 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~b2-1 - Update to 3.8.0b2
commit ff90d23b8f5d2b721aa55289d69cf1e27ba86449 Author: Miro Hronok miro@hroncok.cz Date: Thu Jul 11 16:20:09 2019 +0200
Keep the LICENSE.txt file in lib/pythonX.Y dir
The license() builtin tries to read it and virtualenv tries to copy it.
See https://github.com/pypa/virtualenv/issues/1352
Up until now, the license() builtin juts felt back to:
See https://www.python.org/psf/license/
However it should output the full license text.
Virtualenv ~16.6 warns:
No LICENSE.txt / LICENSE found in source
Technically, it is probably possible to install the package without %license files, but that would simply resort to the previous noncritical behavior.
This fix is not critical and hence it doesn't bump release, for easier backporting to all our Python packages.
diff --git a/python38.spec b/python38.spec index aef6396..1155db0 100644 --- a/python38.spec +++ b/python38.spec @@ -904,9 +904,6 @@ find %{buildroot} -name *.bat -exec rm {} ; find %{buildroot}/ -name "*~" -exec rm -f {} ; find . -name "*~" -exec rm -f {} ;
-# Get rid of a stray copy of the license: -rm %{buildroot}%{pylibdir}/LICENSE.txt - # Do bytecompilation with the newly installed interpreter. # This is similar to the script in macros.pybytecompile # compile *.pyc @@ -1058,7 +1055,6 @@ CheckPython optimized
%files -%license LICENSE %doc README.rst
%if %{without flatpackage} @@ -1079,13 +1075,14 @@ CheckPython optimized %{_mandir}/*/python.1*
%files libs -%license LICENSE %doc README.rst %endif
%dir %{pylibdir} %dir %{dynload_dir}
+%license %{pylibdir}/LICENSE.txt + %{pylibdir}/lib2to3 %if %{without flatpackage} %exclude %{pylibdir}/lib2to3/tests
commit 9213c03924aeb612d1b754dbe0b4397782c6b3fb Author: Miro Hronok miro@hroncok.cz Date: Mon Jul 15 15:38:52 2019 +0200
Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild
See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment...
diff --git a/00328-pyc-timestamp-invalidation-mode.patch b/00328-pyc-timestamp-invalidation-mode.patch new file mode 100644 index 0000000..87515c4 --- /dev/null +++ b/00328-pyc-timestamp-invalidation-mode.patch @@ -0,0 +1,55 @@ +From 746a45acd333174c3174230833b45f537bd92889 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz +Date: Thu, 11 Jul 2019 13:44:13 +0200 +Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default + in rpmbuild + +Since Fedora 31, the $SOURCE_DATE_EPOCH is set in rpmbuild to the latest +%changelog date. This makes Python default to the CHECKED_HASH pyc +invalidation mode, bringing more reproducible builds traded for an import +performance decrease. To avoid that, we don't default to CHECKED_HASH +when $RPM_BUILD_ROOT is set (i.e. when we are building RPM packages). + +See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment... +--- + Lib/py_compile.py | 3 ++- + Lib/test/test_py_compile.py | 2 ++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Lib/py_compile.py b/Lib/py_compile.py +index 21736896af..310bed5620 100644 +--- a/Lib/py_compile.py ++++ b/Lib/py_compile.py +@@ -70,7 +70,8 @@ class PycInvalidationMode(enum.Enum): + + + def _get_default_invalidation_mode(): +- if os.environ.get('SOURCE_DATE_EPOCH'): ++ if (os.environ.get('SOURCE_DATE_EPOCH') and not ++ os.environ.get('RPM_BUILD_ROOT')): + return PycInvalidationMode.CHECKED_HASH + else: + return PycInvalidationMode.TIMESTAMP +diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py +index d6677ab45f..88059b127e 100644 +--- a/Lib/test/test_py_compile.py ++++ b/Lib/test/test_py_compile.py +@@ -17,6 +17,7 @@ def without_source_date_epoch(fxn): + def wrapper(*args, **kwargs): + with support.EnvironmentVarGuard() as env: + env.unset('SOURCE_DATE_EPOCH') ++ env.unset('RPM_BUILD_ROOT') + return fxn(*args, **kwargs) + return wrapper + +@@ -27,6 +28,7 @@ def with_source_date_epoch(fxn): + def wrapper(*args, **kwargs): + with support.EnvironmentVarGuard() as env: + env['SOURCE_DATE_EPOCH'] = '123456789' ++ env.unset('RPM_BUILD_ROOT') + return fxn(*args, **kwargs) + return wrapper + +-- +2.21.0 + diff --git a/python38.spec b/python38.spec index d4a6314..aef6396 100644 --- a/python38.spec +++ b/python38.spec @@ -262,6 +262,11 @@ Patch251: 00251-change-user-install-location.patch # Upstream uses Debian-style architecture naming. Change to match Fedora. Patch274: 00274-fix-arch-names.patch
+# 00328 # +# Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild +# See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment... +Patch328: 00328-pyc-timestamp-invalidation-mode.patch + # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -597,6 +602,7 @@ rm Lib/ensurepip/_bundled/*.whl
%patch251 -p1 %patch274 -p1 +%patch328 -p1
# Remove files that should be generated by the build
commit 7bf69ee163cd3cdbb3241dd717d001f617ea8d86 Author: Lumir Balhar lbalhar@redhat.com Date: Mon Jul 15 12:19:12 2019 +0000
Move test.support module to python3-test subpackage
More info: https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-t...
diff --git a/python38.spec b/python38.spec index d9ba192..d4a6314 100644 --- a/python38.spec +++ b/python38.spec @@ -1116,20 +1116,6 @@ CheckPython optimized %{pylibdir}/ensurepip/_bundled/*.whl %endif
-# The majority of the test module lives in the test subpackage -# However test.support is in libs - it contains stuff used when testing your code -# https://bugzilla.redhat.com/show_bug.cgi?id=596258 -%if %{without flatpackage} -%dir %{pylibdir}/test/ -%dir %{pylibdir}/test/__pycache__/ -%dir %{pylibdir}/test/support/ -%dir %{pylibdir}/test/support/__pycache__/ -%{pylibdir}/test/__init__.py -%{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} -%{pylibdir}/test/support/*.py -%{pylibdir}/test/support/__pycache__/*%{bytecode_suffixes} -%endif - %dir %{pylibdir}/concurrent/ %dir %{pylibdir}/concurrent/__pycache__/ %{pylibdir}/concurrent/*.py @@ -1401,16 +1387,6 @@ CheckPython optimized %{pylibdir}/tkinter/test %{pylibdir}/unittest/test
-# stuff already owned by the libs subpackage -# test requires libs, so we are safe not owning those dirs -%if %{without flatpackage} -%exclude %dir %{pylibdir}/test/ -%exclude %dir %{pylibdir}/test/__pycache__/ -%exclude %{pylibdir}/test/__init__.py -%exclude %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} -%exclude %{pylibdir}/test/support/ -%endif - # We don't bother splitting the debug build out into further subpackages: # if you need it, you're probably a developer.
commit 988896a172b407d31d4425c5ceb9254d26a6c07f Author: Miro Hronok miro@hroncok.cz Date: Fri Jul 12 19:03:54 2019 +0200
Python now means Python 3
- https://fedoraproject.org/wiki/Changes/Python_means_Python3 - The python-unversioned-command package is no longer Python 2, but 3 - The python, pydoc, python-config, python-debug, idle, pygettext.py and msgfmt.py commands are now in python3
diff --git a/python38.spec b/python38.spec index 326b000..d9ba192 100644 --- a/python38.spec +++ b/python38.spec @@ -304,6 +304,18 @@ Provides: python%{pyshortver} = %{version}-%{release} # replace python36-3.6.2. Obsoletes: python%{pyshortver}
+# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_pac... +# https://fedoraproject.org/wiki/Changes/Python_means_Python3 +# We recommend /usr/bin/python so users get it by default +# Versioned recommends are problematic, and we know that the package requires +# python3 back with fixed version, so we just use the path here: +Recommends: %{_bindir}/python + +# In Fedora 31, /usr/bin/pydoc was moved here from Python 2. +# Ideally we'd have an explicit conflict with "/usr/bin/pydoc < 3", +# but file provides aren't versioned and the file moved across packages. +# Instead, we rely on the conflict in python3-libs. + # Previously, this was required for our rewheel patch to work. # This is technically no longer needed, but we keep it recommended # for the developer experience. @@ -339,6 +351,22 @@ Packages containing additional libraries for Python are generally named with the "%{name}-" prefix.
+# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_pac... +# https://fedoraproject.org/wiki/Changes/Python_means_Python3 +%package -n python-unversioned-command +Summary: The "python" command that runs Python 3 +BuildArch: noarch + +# In theory this could require any python3 version +Requires: python3 == %{version}-%{release} +# But since we want to provide versioned python, we require exact version +Provides: python = %{version}-%{release} +# This also save us an explicit conflict for older python3 builds + +%description -n python-unversioned-command +This package contains /usr/bin/python - the "python" command that runs Python 3. + + %package libs Summary: Python runtime libraries
@@ -358,6 +386,18 @@ Provides: bundled(python3-setuptools) = 40.8.0 # See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 Recommends: %{name}%{?_isa} = %{version}-%{release}
+# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_pac... +# In Fedora 31, several "unversioned" files like /usr/bin/pydoc and all the +# "unversioned" provides were moved from python2 to python3. +# So, newer python3 packages need to conflict with old Python 2 builds that +# still provided unversioned Python. +# Since all python packages, new and old, have versioned requires on +# python?-libs, we do it here: +Conflicts: python-libs < 3 +# (We explicitly conflict with python-libs and not python2-libs, so only the +# old Python 2 builds that still provided unversioned Python are handled.) + + %description libs This package contains runtime libraries for use by Python: - the majority of the Python standard library @@ -393,6 +433,10 @@ Provides: 2to3 = %{version}-%{release}
Conflicts: %{name} < %{version}-%{release}
+# In Fedora 31, several "unversioned" files were moved here from Python 2: +# pygettext.py, msgfmt.py, python-config, python.pc +Conflicts: python-devel < 3 + %description devel This package contains the header files and configuration needed to compile Python extension modules (typically written in C or C++), to embed Python @@ -408,11 +452,15 @@ Requires: %{name} = %{version}-%{release} Requires: %{name}-tkinter = %{version}-%{release}
Provides: idle3 = %{version}-%{release} +Provides: idle = %{version}-%{release}
Provides: %{name}-tools = %{version}-%{release} Provides: %{name}-tools%{?_isa} = %{version}-%{release} Obsoletes: %{name}-tools < %{version}-%{release}
+# In Fedora 31, /usr/bin/idle was moved here from Python 2. +Conflicts: python-tools < 3 + %{?python_provide:%python_provide python3-idle}
%description idle @@ -468,6 +516,9 @@ Requires: %{name}-test%{?_isa} = %{version}-%{release} Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} Requires: %{name}-idle%{?_isa} = %{version}-%{release}
+# In Fedora 31, /usr/bin/python-debug was moved here from Python 2. +Conflicts: python-debug < 3 + %{?python_provide:%python_provide python3-debug}
%description debug @@ -892,6 +943,20 @@ rm %{buildroot}%{_libdir}/libpython3.so rm %{buildroot}%{_mandir}/man1/python3.1* rm %{buildroot}%{_libdir}/pkgconfig/python3.pc rm %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc +%else +# Link the unversioned stuff +# https://fedoraproject.org/wiki/Changes/Python_means_Python3 +ln -s ./python3 %{buildroot}%{_bindir}/python +ln -s ./pydoc3 %{buildroot}%{_bindir}/pydoc +ln -s ./pygettext3.py %{buildroot}%{_bindir}/pygettext.py +ln -s ./msgfmt3.py %{buildroot}%{_bindir}/msgfmt.py +ln -s ./idle3 %{buildroot}%{_bindir}/idle +ln -s ./python3-config %{buildroot}%{_bindir}/python-config +ln -s ./python3.1 %{buildroot}%{_mandir}/man1/python.1 +ln -s ./python3.pc %{buildroot}%{_libdir}/pkgconfig/python.pc +%if %{with debug_build} +ln -s ./python3-debug %{buildroot}%{_bindir}/python-debug +%endif %endif
@@ -999,10 +1064,14 @@ CheckPython optimized
%{_bindir}/python%{pybasever} %{_bindir}/python%{LDVERSION_optimized} -%{_mandir}/*/* +%{_mandir}/*/*3*
%if %{without flatpackage} +%files -n python-unversioned-command +%{_bindir}/python +%{_mandir}/*/python.1* + %files libs %license LICENSE %doc README.rst @@ -1255,11 +1324,15 @@ CheckPython optimized
%if %{without flatpackage} %{_bindir}/python3-config +%{_bindir}/python-config %{_libdir}/pkgconfig/python3.pc +%{_libdir}/pkgconfig/python.pc %{_libdir}/pkgconfig/python3-embed.pc %{_bindir}/pathfix.py %{_bindir}/pygettext3.py +%{_bindir}/pygettext.py %{_bindir}/msgfmt3.py +%{_bindir}/msgfmt.py %endif
%{_bindir}/pygettext%{pybasever}.py @@ -1348,6 +1421,7 @@ CheckPython optimized %if %{without flatpackage} %files debug %{_bindir}/python3-debug +%{_bindir}/python-debug %endif
# Analog of the core subpackage's files:
commit b9306b1085cc75b1a409c1520adf1fbf8dba6f33 Author: Miro Hronok miro@hroncok.cz Date: Mon Jul 8 11:44:23 2019 +0200
Add %python_provide provides
This allows easier compatibility back and forth once (and if) https://fedoraproject.org/wiki/Changes/Python_means_Python3 happens. This is not the full implementation of the change, as the python-unversioned package still needs to be added.
This is currently a no-op as %python_provide does nothing for python3.
diff --git a/python38.spec b/python38.spec index b9a8a11..326b000 100644 --- a/python38.spec +++ b/python38.spec @@ -198,6 +198,9 @@ BuildRequires: /usr/bin/dtrace # workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig) BuildRequires: /usr/sbin/ifconfig
+# For %%python_provide +BuildRequires: python-rpm-macros + %if %{with rpmwheels} BuildRequires: python-setuptools-wheel BuildRequires: python-pip-wheel @@ -347,6 +350,8 @@ Provides: bundled(python3-pip) = 19.0.3 Provides: bundled(python3-setuptools) = 40.8.0 %endif
+%{?python_provide:%python_provide python3-libs} + # There are files in the standard library that have python shebang. # We've filtered the automatic requirement out so libs are installable without # the main package. This however makes it pulled in by default. @@ -368,6 +373,8 @@ BuildRequires: python-rpm-macros Requires: python-rpm-macros Requires: python3-rpm-macros
+%{?python_provide:%python_provide python3-devel} + %if %{without bootstrap} # This is not "API" (packages that need setuptools should still BuildRequire it) # However some packages apparently can build both with and without setuptools @@ -406,6 +413,8 @@ Provides: %{name}-tools = %{version}-%{release} Provides: %{name}-tools%{?_isa} = %{version}-%{release} Obsoletes: %{name}-tools < %{version}-%{release}
+%{?python_provide:%python_provide python3-idle} + %description idle IDLE is Pythons Integrated Development and Learning Environment.
@@ -423,6 +432,8 @@ configuration, browsers, and other dialogs. Summary: A GUI toolkit for Python Requires: %{name} = %{version}-%{release}
+%{?python_provide:%python_provide python3-tkinter} + %description tkinter The Tkinter (Tk interface) library is a graphical user interface toolkit for the Python programming language. @@ -433,6 +444,8 @@ Summary: The self-test suite for the main python3 package Requires: %{name} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+%{?python_provide:%python_provide python3-test} + %description test The self-test suite for the Python interpreter.
@@ -455,6 +468,8 @@ Requires: %{name}-test%{?_isa} = %{version}-%{release} Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} Requires: %{name}-idle%{?_isa} = %{version}-%{release}
+%{?python_provide:%python_provide python3-debug} + %description debug python3-debug provides a version of the Python runtime with numerous debugging features enabled, aimed at advanced Python users such as developers of Python
commit bc1bef742babda61369307e8352f81e1a5e69b28 Author: Miro Hronok miro@hroncok.cz Date: Wed Jun 26 10:30:21 2019 +0200
Remove the OPENSSL_CONF=/non-existing-file workaround
The test was fixed upstream to expect different config on Fedora.
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1618753
(Note that we still keep that on the CI for older Python versions.)
diff --git a/python38.spec b/python38.spec index d0e347e..b9a8a11 100644 --- a/python38.spec +++ b/python38.spec @@ -925,12 +925,6 @@ CheckPython() { ConfName=$1 ConfDir=$(pwd)/build/$ConfName
- # Fedora sets TLSv1 as explicit minimum version. - # Python's test suite assumes that the minimum protocol version is set to - # a magic marker. We workaround the test problem by setting: - export OPENSSL_CONF=/non-existing-file - # https://bugzilla.redhat.com/show_bug.cgi?id=1618753 - echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
# Note that we're running the tests using the version of the code in the
commit f16aa02ebf66256fb4c82f25548ff827ad7f9b5c Author: Miro Hronok miro@hroncok.cz Date: Mon Jul 8 09:48:15 2019 +0200
Remove patch 316
The patch landed in Python in be5bb52f5f2d4da4b9d6f42399f7275ab47910f3
However patch 316 still applied cleanly. Removing it doesn't make any difference, so not bumping anything.
diff --git a/00316-mark-bdist_wininst-unsupported.patch b/00316-mark-bdist_wininst-unsupported.patch deleted file mode 100644 index b54d9e1..0000000 --- a/00316-mark-bdist_wininst-unsupported.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b4bb0385ffcfafb2a203b0863777b135d37feb3a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz -Date: Thu, 20 Dec 2018 12:46:25 +0100 -Subject: [PATCH 7/7] 00316: Mark bdist_wininst unsupported - -We remove the exe files from distutil's bdist_wininst. -So we mark the command as unsupported - and the tests are skipped. ---- - Lib/distutils/command/bdist_wininst.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py -index acaa184b5f..6b458cb364 100644 ---- a/Lib/distutils/command/bdist_wininst.py -+++ b/Lib/distutils/command/bdist_wininst.py -@@ -12,6 +12,8 @@ from distutils.sysconfig import get_python_version - from distutils import log - - class bdist_wininst(Command): -+ # Marker for tests that we have the unsupported bdist_wininst -+ _unsupported = True - - description = "create an executable installer for MS Windows" - --- -2.21.0 - diff --git a/python38.spec b/python38.spec index 1fca8bb..d0e347e 100644 --- a/python38.spec +++ b/python38.spec @@ -259,11 +259,6 @@ Patch251: 00251-change-user-install-location.patch # Upstream uses Debian-style architecture naming. Change to match Fedora. Patch274: 00274-fix-arch-names.patch
-# 00316 # -# We remove the exe files from distutil's bdist_wininst -# So we mark the command as unsupported - and the tests are skipped -Patch316: 00316-mark-bdist_wininst-unsupported.patch - # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -536,7 +531,6 @@ rm Lib/ensurepip/_bundled/*.whl
%patch251 -p1 %patch274 -p1 -%patch316 -p1
# Remove files that should be generated by the build
commit 13257b57b3fc88a65ec1b5d8454e81243c5f1878 Author: Miro Hronok miro@hroncok.cz Date: Fri Jul 5 12:10:54 2019 +0200
Update to 3.8.0b2
diff --git a/00001-rpath.patch b/00001-rpath.patch index fb55f99..c78445d 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,4 +1,4 @@ -From 068ae6b9d422e5deeb950d1354a003025642413a Mon Sep 17 00:00:00 2001 +From 8738c39204297788bcb07940a99608f80592829f Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH 1/7] 00001: Fixup distutils/unixccompiler.py to remove diff --git a/00102-lib64.patch b/00102-lib64.patch index 9e03dcc..88d7fbd 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,4 +1,4 @@ -From 1b28c83def441be0e9377058b9a29a1ea3558ae0 Mon Sep 17 00:00:00 2001 +From 6a503d0ad4512af57ef8a784f12bc439701d8cc7 Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH 2/7] 00102: Change the various install paths to use @@ -87,10 +87,10 @@ index 287ab1989e..d4c05e0ab1 100644 check_path(cmd.install_headers, os.path.join(destination, "include", "python", "foopkg")) diff --git a/Lib/site.py b/Lib/site.py -index ad1146332b..99149a564f 100644 +index a065ab0b5d..22d53fa562 100644 --- a/Lib/site.py +++ b/Lib/site.py -@@ -334,11 +334,15 @@ def getsitepackages(prefixes=None): +@@ -335,11 +335,15 @@ def getsitepackages(prefixes=None): seen.add(prefix)
if os.sep == '/': @@ -107,7 +107,7 @@ index ad1146332b..99149a564f 100644 return sitepackages
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index 8446c8deb2..cf64d79c4d 100644 +index e76e6927cb..0cfbea54b9 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -20,10 +20,10 @@ __all__ = [ @@ -154,7 +154,7 @@ index 41c4229919..543c88432a 100644 'site-packages') self.assertEqual(dirs[0], wanted) diff --git a/Makefile.pre.in b/Makefile.pre.in -index a0bc9c1f1c..780118c410 100644 +index 88abb56360..6c2edf32f7 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -143,7 +143,7 @@ LIBDIR= @libdir@ @@ -198,10 +198,10 @@ index 5f80738188..73d7913441 100644 return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } diff --git a/configure b/configure -index b606fc808c..50b578a551 100755 +index 6e7f277bac..6cd8344c21 100755 --- a/configure +++ b/configure -@@ -15175,9 +15175,9 @@ fi +@@ -15181,9 +15181,9 @@ fi
if test x$PLATFORM_TRIPLET = x; then @@ -214,10 +214,10 @@ index b606fc808c..50b578a551 100755
diff --git a/configure.ac b/configure.ac -index 3d589ac258..3bb44e6993 100644 +index 324ce0bd99..9a587f3c3f 100644 --- a/configure.ac +++ b/configure.ac -@@ -4649,9 +4649,9 @@ fi +@@ -4655,9 +4655,9 @@ fi dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) if test x$PLATFORM_TRIPLET = x; then @@ -230,7 +230,7 @@ index 3d589ac258..3bb44e6993 100644 AC_SUBST(LIBPL)
diff --git a/setup.py b/setup.py -index 598f5819f8..0685620484 100644 +index edc3434242..59cfc01a2a 100644 --- a/setup.py +++ b/setup.py @@ -648,7 +648,7 @@ class PyBuildExt(build_ext): diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index fbfa2f3..2cfeaf0 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,4 +1,4 @@ -From 79544450450248e4967a8b41aa6d08d32d5cd41a Mon Sep 17 00:00:00 2001 +From efbafc6328f45da6d38a1848933a37497206fb3f Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Mon, 18 Jan 2010 17:59:07 +0000 Subject: [PATCH 3/7] 00111: Don't try to build a libpythonMAJOR.MINOR.a @@ -21,7 +21,7 @@ Co-authored-by: Miro Hronok miro@hroncok.cz 1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in -index 780118c410..3431ca815e 100644 +index 6c2edf32f7..28c0cead24 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -560,7 +560,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c @@ -55,7 +55,7 @@ index 780118c410..3431ca815e 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
############################################################################ -@@ -1546,17 +1540,6 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1551,17 +1545,6 @@ libainstall: @DEF_MAKE_RULE@ python-config else true; \ fi; \ done diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 14648d5..124fe81 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,4 +1,4 @@ -From 56d0cce46e634840578af18492f3dffea55774a5 Mon Sep 17 00:00:00 2001 +From 2edaa31dec042fb8720add80814ca4a3cc4f788f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Wed, 15 Aug 2018 15:36:29 +0200 Subject: [PATCH 4/7] 00189: Instead of bundled wheels, use our RPM packaged @@ -10,7 +10,7 @@ We keep them in /usr/share/python-wheels 1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py -index 526dfd004a..fc02255feb 100644 +index 6f2569da81..4d17e413db 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -1,16 +1,27 @@ @@ -44,7 +44,7 @@ index 526dfd004a..fc02255feb 100644
_PROJECTS = [ ("setuptools", _SETUPTOOLS_VERSION), -@@ -94,12 +105,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False, +@@ -96,12 +107,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False, additional_paths = [] for project, version in _PROJECTS: wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version) diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 7ac4ea2..b00e6a7 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,4 +1,4 @@ -From 31460771d57aa535ed4672547d268c38f9eed755 Mon Sep 17 00:00:00 2001 +From 3e26b01573488b015065139689be3aa47dac17cf Mon Sep 17 00:00:00 2001 From: Michal Cyprian m.cyprian@gmail.com Date: Mon, 26 Jun 2017 16:32:56 +0200 Subject: [PATCH 5/7] 00251: Change user install location @@ -40,10 +40,10 @@ index ae4f915669..0e4fd5b74a 100644 else: if self.exec_prefix is None: diff --git a/Lib/site.py b/Lib/site.py -index 99149a564f..1107324848 100644 +index 22d53fa562..9513526109 100644 --- a/Lib/site.py +++ b/Lib/site.py -@@ -347,7 +347,14 @@ def getsitepackages(prefixes=None): +@@ -348,7 +348,14 @@ def getsitepackages(prefixes=None): return sitepackages
def addsitepackages(known_paths, prefixes=None): diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index c5e92b2..63f23f5 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,4 +1,4 @@ -From d63983e350f673cf9a5f4267e73475535432ebe7 Mon Sep 17 00:00:00 2001 +From b92e29a8cc17f9c02a08b7a005e5ece71a409a0b Mon Sep 17 00:00:00 2001 From: Petr Viktorin pviktori@redhat.com Date: Mon, 28 Aug 2017 17:16:46 +0200 Subject: [PATCH 6/7] 00274: Upstream uses Debian-style architecture naming, @@ -29,7 +29,7 @@ index ba37cf99e2..52a9ec6662 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index 3bb44e6993..98b5e32ad9 100644 +index 9a587f3c3f..695ff85e4b 100644 --- a/configure.ac +++ b/configure.ac @@ -741,9 +741,9 @@ cat >> conftest.c <<EOF diff --git a/00316-mark-bdist_wininst-unsupported.patch b/00316-mark-bdist_wininst-unsupported.patch index 7db6e4d..b54d9e1 100644 --- a/00316-mark-bdist_wininst-unsupported.patch +++ b/00316-mark-bdist_wininst-unsupported.patch @@ -1,4 +1,4 @@ -From 736a0ca9fd2ee3f74ebdef187c5616288cc70351 Mon Sep 17 00:00:00 2001 +From b4bb0385ffcfafb2a203b0863777b135d37feb3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Thu, 20 Dec 2018 12:46:25 +0100 Subject: [PATCH 7/7] 00316: Mark bdist_wininst unsupported @@ -10,7 +10,7 @@ So we mark the command as unsupported - and the tests are skipped. 1 file changed, 2 insertions(+)
diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py -index 3a616883be..ba299a4028 100644 +index acaa184b5f..6b458cb364 100644 --- a/Lib/distutils/command/bdist_wininst.py +++ b/Lib/distutils/command/bdist_wininst.py @@ -12,6 +12,8 @@ from distutils.sysconfig import get_python_version diff --git a/python38.spec b/python38.spec index 3f40c79..1fca8bb 100644 --- a/python38.spec +++ b/python38.spec @@ -14,7 +14,7 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel b1 +%global prerel b2 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} Release: 1%{?dist} @@ -1477,6 +1477,9 @@ CheckPython optimized # ======================================================
%changelog +* Fri Jul 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~b2-1 +- Update to 3.8.0b2 + * Wed Jun 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~b1-1 - Update to 3.8.0b1
diff --git a/sources b/sources index 663a3ab..b6aaea1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.8.0b1.tar.xz) = 0e2547691fde3a88408211146cd3be0de8e3e79c11485aec1062c17fabccefbcf2c1b188c96e570387f86b2e1b6a2fcbbb7329b241ff978974ca43e01ef014ca +SHA512 (Python-3.8.0b2.tar.xz) = 5d4fdabad098b5273d34ecd939e7f7c104f4f9fc1460e5abaf4a8d1ad1c5d2ff26d579de03106f000672e0a20fcd6e4e1e44ce03be4bb4a734f937f3cc81cb3e
commit b6a6e97b8fa0c4322cb62677644c07b52aae1716 Author: Miro Hronok miro@hroncok.cz Date: Fri Jun 28 10:34:48 2019 +0200
Don't skip so many tests on the CI
test_wsgiref is tracked in https://bugs.python.org/issue37411
diff --git a/tests/tests.yml b/tests/tests.yml index ccc6808..6d53a9c 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -13,7 +13,7 @@ run: VERSION=3.8 ./venv.sh - selftest: dir: python/selftest - run: VERSION=3.8 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./parallel.sh + run: VERSION=3.8 X="-x test_wsgiref" ./parallel.sh required_packages: - gcc # for extension building in venv and selftest - gdb # for test_gdb
commit 949410ed57834259ee4c891af64c76ff3f784ce9 Author: Miro Hronok miro@hroncok.cz Date: Fri Jun 28 13:12:55 2019 +0200
Fedora CI: Provision 3 GiB of RAM
diff --git a/tests/.fmf/version b/tests/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tests/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/tests/provision.fmf b/tests/provision.fmf new file mode 100644 index 0000000..1a4f0f0 --- /dev/null +++ b/tests/provision.fmf @@ -0,0 +1,4 @@ +--- +standard-inventory-qcow2: + qemu: + m: 3G # Amount of VM memory
commit 17d397670a1f5942c051038baeafa66ebcd68528 Author: Victor Stinner vstinner@redhat.com Date: Mon Jun 17 17:29:58 2019 +0200
Skip test_distutils if bootstraping, use python3.X for regen-all
diff --git a/python38.spec b/python38.spec index 73113c4..3f40c79 100644 --- a/python38.spec +++ b/python38.spec @@ -204,8 +204,8 @@ BuildRequires: python-pip-wheel %endif
%if %{without bootstrap} -# for make regen-all -BuildRequires: python3 +# for make regen-all and distutils.tests.test_bdist_rpm +BuildRequires: python%{pyshortver} %endif
# ======================= @@ -625,7 +625,7 @@ BuildPython() {
%if %{without bootstrap} # Regenerate generated files (needs python3) - %make_build regen-all PYTHON_FOR_REGEN="python3" + %make_build regen-all PYTHON_FOR_REGEN="python%{pybasever}" %endif
@@ -952,8 +952,14 @@ CheckPython() { # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 # test_asyncio skipped: # https://bugs.python.org/issue35998 + # test_distutils + # distutils.tests.test_bdist_rpm tests fail when bootstraping the Python + # package: rpmbuild requires /usr/bin/pythonX.Y to be installed LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ -wW --slowest -j0 \ + %if %{with bootstrap} + -x test_distutils \ + %endif %ifarch %{arm} s390x -x test_gdb \ %endif
commit 3a6f3f6941b5212d29a61908a51ab0656f2ed8af Author: Victor Stinner vstinner@redhat.com Date: Tue Jun 11 15:01:09 2019 +0200
Reenable test_distutils and test_bdist_rpm
Resolves: rhbz#1685557
diff --git a/python38.spec b/python38.spec index b7f69fc..73113c4 100644 --- a/python38.spec +++ b/python38.spec @@ -954,8 +954,6 @@ CheckPython() { # https://bugs.python.org/issue35998 LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ -wW --slowest -j0 \ - -x test_distutils \ - -x test_bdist_rpm \ %ifarch %{arm} s390x -x test_gdb \ %endif
commit a292838ccc250a7dc575efe316a347cc6f53dcc3 Author: Miro Hronok miro@hroncok.cz Date: Wed Jun 5 09:14:07 2019 +0200
Update to 3.8.0b1
diff --git a/00001-rpath.patch b/00001-rpath.patch index 504d2cc..fb55f99 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,4 +1,4 @@ -From 39b5f58db91eea63fae2883c74f8a3f7fe49bc17 Mon Sep 17 00:00:00 2001 +From 068ae6b9d422e5deeb950d1354a003025642413a Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH 1/7] 00001: Fixup distutils/unixccompiler.py to remove diff --git a/00102-lib64.patch b/00102-lib64.patch index 40da29f..9e03dcc 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,4 +1,4 @@ -From c601ae9643cda53d9e1b898ea941bf9207c9f2f6 Mon Sep 17 00:00:00 2001 +From 1b28c83def441be0e9377058b9a29a1ea3558ae0 Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 Subject: [PATCH 2/7] 00102: Change the various install paths to use @@ -154,7 +154,7 @@ index 41c4229919..543c88432a 100644 'site-packages') self.assertEqual(dirs[0], wanted) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 75eb66be3c..f1e21784af 100644 +index a0bc9c1f1c..780118c410 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -143,7 +143,7 @@ LIBDIR= @libdir@ @@ -167,28 +167,28 @@ index 75eb66be3c..f1e21784af 100644
# Detailed destination directories diff --git a/Modules/getpath.c b/Modules/getpath.c -index 3991ad719c..1baf8a2ff4 100644 +index 5f80738188..73d7913441 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c -@@ -688,7 +688,7 @@ calculate_exec_prefix(const _PyCoreConfig *core_config, +@@ -689,7 +689,7 @@ calculate_exec_prefix(const PyConfig *config, if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) { return PATHLEN_ERR(); } -- err = joinpath(exec_prefix, L"lib/lib-dynload", exec_prefix_len); -+ err = joinpath(exec_prefix, L"lib64/lib-dynload", exec_prefix_len); - if (_Py_INIT_FAILED(err)) { - return err; +- status = joinpath(exec_prefix, L"lib/lib-dynload", exec_prefix_len); ++ status = joinpath(exec_prefix, L"lib64/lib-dynload", exec_prefix_len); + if (_PyStatus_EXCEPTION(status)) { + return status; } -@@ -1015,7 +1015,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix) +@@ -1016,7 +1016,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix) return PATHLEN_ERR(); } } -- err = joinpath(calculate->zip_path, L"lib/python00.zip", zip_path_len); -+ err = joinpath(calculate->zip_path, L"lib64/python00.zip", zip_path_len); - if (_Py_INIT_FAILED(err)) { - return err; +- status = joinpath(calculate->zip_path, L"lib/python00.zip", zip_path_len); ++ status = joinpath(calculate->zip_path, L"lib64/python00.zip", zip_path_len); + if (_PyStatus_EXCEPTION(status)) { + return status; } -@@ -1144,7 +1144,7 @@ calculate_init(PyCalculatePath *calculate, +@@ -1145,7 +1145,7 @@ calculate_init(PyCalculatePath *calculate, if (!calculate->prefix) { return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } @@ -198,10 +198,10 @@ index 3991ad719c..1baf8a2ff4 100644 return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } diff --git a/configure b/configure -index e6e4007351..b01e6fa9b7 100755 +index b606fc808c..50b578a551 100755 --- a/configure +++ b/configure -@@ -15159,9 +15159,9 @@ fi +@@ -15175,9 +15175,9 @@ fi
if test x$PLATFORM_TRIPLET = x; then @@ -214,10 +214,10 @@ index e6e4007351..b01e6fa9b7 100755
diff --git a/configure.ac b/configure.ac -index a02597da2d..7f86f286b6 100644 +index 3d589ac258..3bb44e6993 100644 --- a/configure.ac +++ b/configure.ac -@@ -4653,9 +4653,9 @@ fi +@@ -4649,9 +4649,9 @@ fi dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) if test x$PLATFORM_TRIPLET = x; then @@ -230,10 +230,10 @@ index a02597da2d..7f86f286b6 100644 AC_SUBST(LIBPL)
diff --git a/setup.py b/setup.py -index 96a49b4e35..64420838af 100644 +index 598f5819f8..0685620484 100644 --- a/setup.py +++ b/setup.py -@@ -610,7 +610,7 @@ class PyBuildExt(build_ext): +@@ -648,7 +648,7 @@ class PyBuildExt(build_ext): # directories (i.e. '.' and 'Include') must be first. See issue # 10520. if not CROSS_COMPILING: @@ -242,7 +242,7 @@ index 96a49b4e35..64420838af 100644 add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if CROSS_COMPILING: -@@ -906,11 +906,11 @@ class PyBuildExt(build_ext): +@@ -944,11 +944,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(self.lib_dirs + diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 6d1dc16..fbfa2f3 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,4 +1,4 @@ -From 0acdfa7c697ffb1087ded14819c7dcfe4784ca7c Mon Sep 17 00:00:00 2001 +From 79544450450248e4967a8b41aa6d08d32d5cd41a Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Mon, 18 Jan 2010 17:59:07 +0000 Subject: [PATCH 3/7] 00111: Don't try to build a libpythonMAJOR.MINOR.a @@ -21,10 +21,10 @@ Co-authored-by: Miro Hronok miro@hroncok.cz 1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in -index f1e21784af..414aa96008 100644 +index 780118c410..3431ca815e 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -559,7 +559,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c +@@ -560,7 +560,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
# Build the interpreter @@ -33,7 +33,7 @@ index f1e21784af..414aa96008 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
platform: $(BUILDPYTHON) pybuilddir.txt -@@ -607,12 +607,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -608,12 +608,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
@@ -46,7 +46,7 @@ index f1e21784af..414aa96008 100644 libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS) if test $(INSTSONAME) != $(LDLIBRARY); then \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \ -@@ -690,7 +684,7 @@ Makefile Modules/config.c: Makefile.pre \ +@@ -691,7 +685,7 @@ Makefile Modules/config.c: Makefile.pre \ @echo "The Makefile was updated, you may need to re-run make."
@@ -55,7 +55,7 @@ index f1e21784af..414aa96008 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
############################################################################ -@@ -1532,17 +1526,6 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1546,17 +1540,6 @@ libainstall: @DEF_MAKE_RULE@ python-config else true; \ fi; \ done diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index e75f6a8..14648d5 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,4 +1,4 @@ -From 7bb76d766aa5394e845f656b3f68b7910e9ee4e6 Mon Sep 17 00:00:00 2001 +From 56d0cce46e634840578af18492f3dffea55774a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Wed, 15 Aug 2018 15:36:29 +0200 Subject: [PATCH 4/7] 00189: Instead of bundled wheels, use our RPM packaged diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 4c19ac8..7ac4ea2 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,4 +1,4 @@ -From 377daf65817790e78ccec966221724f4523693c1 Mon Sep 17 00:00:00 2001 +From 31460771d57aa535ed4672547d268c38f9eed755 Mon Sep 17 00:00:00 2001 From: Michal Cyprian m.cyprian@gmail.com Date: Mon, 26 Jun 2017 16:32:56 +0200 Subject: [PATCH 5/7] 00251: Change user install location diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index 16a8b9e..c5e92b2 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,4 +1,4 @@ -From e9def22e31801d9d75017e6752d3daf4099bc836 Mon Sep 17 00:00:00 2001 +From d63983e350f673cf9a5f4267e73475535432ebe7 Mon Sep 17 00:00:00 2001 From: Petr Viktorin pviktori@redhat.com Date: Mon, 28 Aug 2017 17:16:46 +0200 Subject: [PATCH 6/7] 00274: Upstream uses Debian-style architecture naming, @@ -29,10 +29,10 @@ index ba37cf99e2..52a9ec6662 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index 7f86f286b6..6d7430e014 100644 +index 3bb44e6993..98b5e32ad9 100644 --- a/configure.ac +++ b/configure.ac -@@ -740,9 +740,9 @@ cat >> conftest.c <<EOF +@@ -741,9 +741,9 @@ cat >> conftest.c <<EOF alpha-linux-gnu # elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) # if defined(__ARMEL__) @@ -44,7 +44,7 @@ index 7f86f286b6..6d7430e014 100644 # endif # elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) # if defined(__ARMEL__) -@@ -782,7 +782,7 @@ cat >> conftest.c <<EOF +@@ -783,7 +783,7 @@ cat >> conftest.c <<EOF # elif _MIPS_SIM == _ABIN32 mips64el-linux-gnuabin32 # elif _MIPS_SIM == _ABI64 @@ -53,7 +53,7 @@ index 7f86f286b6..6d7430e014 100644 # else # error unknown platform triplet # endif -@@ -792,22 +792,22 @@ cat >> conftest.c <<EOF +@@ -793,22 +793,22 @@ cat >> conftest.c <<EOF # elif _MIPS_SIM == _ABIN32 mips64-linux-gnuabin32 # elif _MIPS_SIM == _ABI64 diff --git a/00316-mark-bdist_wininst-unsupported.patch b/00316-mark-bdist_wininst-unsupported.patch index db7d27c..7db6e4d 100644 --- a/00316-mark-bdist_wininst-unsupported.patch +++ b/00316-mark-bdist_wininst-unsupported.patch @@ -1,4 +1,4 @@ -From a44fa78c34634c580e3f5922aed600d7a777fe93 Mon Sep 17 00:00:00 2001 +From 736a0ca9fd2ee3f74ebdef187c5616288cc70351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Thu, 20 Dec 2018 12:46:25 +0100 Subject: [PATCH 7/7] 00316: Mark bdist_wininst unsupported diff --git a/python38.spec b/python38.spec index 90eb418..b7f69fc 100644 --- a/python38.spec +++ b/python38.spec @@ -14,10 +14,10 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel a4 +%global prerel b1 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 2%{?dist} +Release: 1%{?dist} License: Python
@@ -882,6 +882,7 @@ rm %{buildroot}%{_bindir}/2to3 rm %{buildroot}%{_libdir}/libpython3.so rm %{buildroot}%{_mandir}/man1/python3.1* rm %{buildroot}%{_libdir}/pkgconfig/python3.pc +rm %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc %endif
@@ -1184,6 +1185,11 @@ CheckPython optimized %{pylibdir}/importlib/*.py %{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes}
+%dir %{pylibdir}/importlib/metadata/ +%dir %{pylibdir}/importlib/metadata/__pycache__/ +%{pylibdir}/importlib/metadata/*.py +%{pylibdir}/importlib/metadata/__pycache__/*%{bytecode_suffixes} + %dir %{pylibdir}/json/ %dir %{pylibdir}/json/__pycache__/ %{pylibdir}/json/*.py @@ -1243,6 +1249,7 @@ CheckPython optimized %if %{without flatpackage} %{_bindir}/python3-config %{_libdir}/pkgconfig/python3.pc +%{_libdir}/pkgconfig/python3-embed.pc %{_bindir}/pathfix.py %{_bindir}/pygettext3.py %{_bindir}/msgfmt3.py @@ -1256,7 +1263,9 @@ CheckPython optimized %{_bindir}/python%{LDVERSION_optimized}-*-config %{_libdir}/libpython%{LDVERSION_optimized}.so %{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc +%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}-embed.pc %{_libdir}/pkgconfig/python-%{pybasever}.pc +%{_libdir}/pkgconfig/python-%{pybasever}-embed.pc
%if %{without flatpackage} @@ -1424,6 +1433,7 @@ CheckPython optimized %{_libdir}/libpython%{LDVERSION_debug}.so %{_libdir}/libpython%{LDVERSION_debug}.so.1.0 %{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc +%{_libdir}/pkgconfig/python-%{LDVERSION_debug}-embed.pc
# Analog of the -tools subpackage's files: # None for now; we could build precanned versions that have the appropriate @@ -1463,6 +1473,9 @@ CheckPython optimized # ======================================================
%changelog +* Wed Jun 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~b1-1 +- Update to 3.8.0b1 + * Fri May 17 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a4-2 - Remove a faulty patch that resulted in invalid value of distutils.sysconfig.get_config_var('LIBPL') (#1710767) diff --git a/sources b/sources index 4536033..663a3ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.8.0a4.tar.xz) = 76088206e3eb4ff0b9060f35e0bf994018452cc98d7f576bf7d6842158a6f6ae173b281c442f1175402428c683667b7bacebb2b989a561a9f12db1ad5f0f42cb +SHA512 (Python-3.8.0b1.tar.xz) = 0e2547691fde3a88408211146cd3be0de8e3e79c11485aec1062c17fabccefbcf2c1b188c96e570387f86b2e1b6a2fcbbb7329b241ff978974ca43e01ef014ca
commit 7aab0ddc87c4c8476c8077800e765e52480fbc4d Author: Miro Hronok miro@hroncok.cz Date: Fri May 17 13:24:33 2019 +0200
Remove Patch178, merge Patch205 into Patch102
Fixes invalid value of distutils.sysconfig.get_config_var('LIBPL').
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1710767
GitHub PR: https://github.com/fedora-python/cpython/pull/2
diff --git a/00001-rpath.patch b/00001-rpath.patch index e18f37f..504d2cc 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,7 +1,7 @@ From 39b5f58db91eea63fae2883c74f8a3f7fe49bc17 Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 -Subject: [PATCH 1/9] 00001: Fixup distutils/unixccompiler.py to remove +Subject: [PATCH 1/7] 00001: Fixup distutils/unixccompiler.py to remove standard library path from rpath Was Patch0 in ivazquez' python3000 specfile
--- diff --git a/00102-lib64.patch b/00102-lib64.patch index a22ec7b..40da29f 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,7 +1,7 @@ -From 972d1ce207285b7b29407b95ea6519c289c71d89 Mon Sep 17 00:00:00 2001 +From c601ae9643cda53d9e1b898ea941bf9207c9f2f6 Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Wed, 13 Jan 2010 21:25:18 +0000 -Subject: [PATCH 2/9] 00102: Change the various install paths to use +Subject: [PATCH 2/7] 00102: Change the various install paths to use /usr/lib64/ instead or /usr/lib/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -27,8 +27,10 @@ Co-authored-by: Iryna Shcherbina shcherbina.iryna@gmail.com Lib/test/test_site.py | 4 ++-- Makefile.pre.in | 2 +- Modules/getpath.c | 6 +++--- + configure | 4 ++-- + configure.ac | 4 ++-- setup.py | 6 +++--- - 9 files changed, 28 insertions(+), 19 deletions(-) + 11 files changed, 32 insertions(+), 23 deletions(-)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py index c625c95bf7..ae4f915669 100644 @@ -195,6 +197,38 @@ index 3991ad719c..1baf8a2ff4 100644 if (!calculate->lib_python) { return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } +diff --git a/configure b/configure +index e6e4007351..b01e6fa9b7 100755 +--- a/configure ++++ b/configure +@@ -15159,9 +15159,9 @@ fi + + + if test x$PLATFORM_TRIPLET = x; then +- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" ++ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}" + else +- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" ++ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" + fi + + +diff --git a/configure.ac b/configure.ac +index a02597da2d..7f86f286b6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4653,9 +4653,9 @@ fi + dnl define LIBPL after ABIFLAGS and LDVERSION is defined. + AC_SUBST(PY_ENABLE_SHARED) + if test x$PLATFORM_TRIPLET = x; then +- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" ++ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}" + else +- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" ++ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" + fi + AC_SUBST(LIBPL) + diff --git a/setup.py b/setup.py index 96a49b4e35..64420838af 100644 --- a/setup.py diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index d89455d..6d1dc16 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,7 +1,7 @@ -From 031249155111abf6e971fff6516c4e828c394c05 Mon Sep 17 00:00:00 2001 +From 0acdfa7c697ffb1087ded14819c7dcfe4784ca7c Mon Sep 17 00:00:00 2001 From: David Malcolm dmalcolm@redhat.com Date: Mon, 18 Jan 2010 17:59:07 +0000 -Subject: [PATCH 3/9] 00111: Don't try to build a libpythonMAJOR.MINOR.a +Subject: [PATCH 3/7] 00111: Don't try to build a libpythonMAJOR.MINOR.a MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/00178-dont-duplicate-flags-in-sysconfig.patch b/00178-dont-duplicate-flags-in-sysconfig.patch deleted file mode 100644 index 4bbfed3..0000000 --- a/00178-dont-duplicate-flags-in-sysconfig.patch +++ /dev/null @@ -1,48 +0,0 @@ -From b9a703e3d37e325defe5baec111e1fbf5d42bede Mon Sep 17 00:00:00 2001 -From: Bohuslav Kabrda bkabrda@redhat.com -Date: Wed, 10 Apr 2013 14:30:09 +0200 -Subject: [PATCH 4/9] 00178: Don't duplicate various FLAGS in sysconfig values - -http://bugs.python.org/issue17679 - -Does not affect python2 AFAICS (different sysconfig values initialization) ---- - Lib/distutils/sysconfig.py | 5 ++++- - Lib/sysconfig.py | 5 ++++- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 9a4892a737..ad4cef088b 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -373,7 +373,10 @@ def parse_makefile(fn, g=None): - done[n] = item = "" - if found: - after = value[m.end():] -- value = value[:m.start()] + item + after -+ value = value[:m.start()] -+ if item.strip() not in value: -+ value += item -+ value += after - if "$" in after: - notdone[name] = value - else: -diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index cf64d79c4d..fd972d658c 100644 ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -295,7 +295,10 @@ def _parse_makefile(filename, vars=None): - - if found: - after = value[m.end():] -- value = value[:m.start()] + item + after -+ value = value[:m.start()] -+ if item.strip() not in value: -+ value += item -+ value += after - if "$" in after: - notdone[name] = value - else: --- -2.21.0 - diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 91cdb01..e75f6a8 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,7 +1,7 @@ -From 0f59810bb72d2092729346c17e96bf0c23120ee1 Mon Sep 17 00:00:00 2001 +From 7bb76d766aa5394e845f656b3f68b7910e9ee4e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Wed, 15 Aug 2018 15:36:29 +0200 -Subject: [PATCH 5/9] 00189: Instead of bundled wheels, use our RPM packaged +Subject: [PATCH 4/7] 00189: Instead of bundled wheels, use our RPM packaged wheels
We keep them in /usr/share/python-wheels diff --git a/00205-make-libpl-respect-lib64.patch b/00205-make-libpl-respect-lib64.patch deleted file mode 100644 index ddd0021..0000000 --- a/00205-make-libpl-respect-lib64.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 5ee8362bd5cc991b956efa9cf06eb6ad2607f57c Mon Sep 17 00:00:00 2001 -From: Robert Kuska rkuska@redhat.com -Date: Mon, 21 Sep 2015 15:55:00 +0200 -Subject: [PATCH 6/9] 00205: Make LIBPL variable respect the libdir macro - -LIBPL variable in Makefile takes LIBPL from configure.ac, -but the LIBPL variable defined there doesn't respect the libdir macro. - -Co-authored-by: Robert Kuska rkuska@redhat.com -Co-authored-by: Charalampos Stratakis cstratak@redhat.com ---- - Makefile.pre.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 414aa96008..a07bd6718d 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1512,7 +1512,7 @@ inclinstall: - - # Install the library and miscellaneous stuff needed for extending/embedding - # This goes into $(exec_prefix) --LIBPL= @LIBPL@ -+LIBPL= $(LIBDEST)/config-$(LDVERSION)-$(MULTIARCH) - - # pkgconfig directory - LIBPC= $(LIBDIR)/pkgconfig --- -2.21.0 - diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 1775b6c..4c19ac8 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,7 +1,7 @@ -From e9d8db2d243cf27b66083e0c6a9bb5d28866f937 Mon Sep 17 00:00:00 2001 +From 377daf65817790e78ccec966221724f4523693c1 Mon Sep 17 00:00:00 2001 From: Michal Cyprian m.cyprian@gmail.com Date: Mon, 26 Jun 2017 16:32:56 +0200 -Subject: [PATCH 7/9] 00251: Change user install location +Subject: [PATCH 5/7] 00251: Change user install location
Set values of prefix and exec_prefix in distutils install command to /usr/local if executable is /usr/bin/python* and RPM build diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index b8453a2..16a8b9e 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,7 +1,7 @@ -From e108d7026aab241d89ff3a90d6421af3e9ee8e12 Mon Sep 17 00:00:00 2001 +From e9def22e31801d9d75017e6752d3daf4099bc836 Mon Sep 17 00:00:00 2001 From: Petr Viktorin pviktori@redhat.com Date: Mon, 28 Aug 2017 17:16:46 +0200 -Subject: [PATCH 8/9] 00274: Upstream uses Debian-style architecture naming, +Subject: [PATCH 6/7] 00274: Upstream uses Debian-style architecture naming, change to match Fedora MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -29,7 +29,7 @@ index ba37cf99e2..52a9ec6662 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index a02597da2d..5742ef4176 100644 +index 7f86f286b6..6d7430e014 100644 --- a/configure.ac +++ b/configure.ac @@ -740,9 +740,9 @@ cat >> conftest.c <<EOF diff --git a/00316-mark-bdist_wininst-unsupported.patch b/00316-mark-bdist_wininst-unsupported.patch index b6174c8..db7d27c 100644 --- a/00316-mark-bdist_wininst-unsupported.patch +++ b/00316-mark-bdist_wininst-unsupported.patch @@ -1,7 +1,7 @@ -From 1ef328c38ad0ef7fad1652edddd3710885b0a778 Mon Sep 17 00:00:00 2001 +From a44fa78c34634c580e3f5922aed600d7a777fe93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz Date: Thu, 20 Dec 2018 12:46:25 +0100 -Subject: [PATCH 9/9] 00316: Mark bdist_wininst unsupported +Subject: [PATCH 7/7] 00316: Mark bdist_wininst unsupported
We remove the exe files from distutil's bdist_wininst. So we mark the command as unsupported - and the tests are skipped. diff --git a/python38.spec b/python38.spec index 782e59d..90eb418 100644 --- a/python38.spec +++ b/python38.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ %global prerel a4 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} +Release: 2%{?dist} License: Python
@@ -243,22 +243,11 @@ Patch102: 00102-lib64.patch # Downstream only: not appropriate for upstream Patch111: 00111-no-static-lib.patch
-# 00178 # -# Don't duplicate various FLAGS in sysconfig values -# http://bugs.python.org/issue17679 -# Does not affect python2 AFAICS (different sysconfig values initialization) -Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch - # 00189 # # Instead of bundled wheels, use our RPM packaged wheels from # /usr/share/python-wheels Patch189: 00189-use-rpm-wheels.patch
-# 00205 # -# LIBPL variable in makefile takes LIBPL from configure.ac -# but the LIBPL variable defined there doesn't respect libdir macro -Patch205: 00205-make-libpl-respect-lib64.patch - # 00251 # Set values of prefix and exec_prefix in distutils install command # to /usr/local if executable is /usr/bin/python* and RPM build @@ -539,14 +528,12 @@ rm -r Modules/expat %patch102 -p1 %endif %patch111 -p1 -%patch178 -p1
%if %{with rpmwheels} %patch189 -p1 rm Lib/ensurepip/_bundled/*.whl %endif
-%patch205 -p1 %patch251 -p1 %patch274 -p1 %patch316 -p1 @@ -1476,6 +1463,10 @@ CheckPython optimized # ======================================================
%changelog +* Fri May 17 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a4-2 +- Remove a faulty patch that resulted in invalid value of + distutils.sysconfig.get_config_var('LIBPL') (#1710767) + * Tue May 07 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a4-1 - Update to 3.8.0a4
commit 9fbe2eee9d33879a17d01285d115b1cabb7240fb Author: Miro Hronok miro@hroncok.cz Date: Thu May 16 10:33:14 2019 +0200
rpmlint: Filter out shared-lib-without-dependency-information
Since Python 3.8.0a4, extension modules are no longer linked against libpython3.8.so.1.0. As a result, some of them are not linked against anything at all.
And that is fine. They are not used as standard shared libraries.
diff --git a/python38.rpmlintrc b/python38.rpmlintrc index e1e2cbe..1314d45 100644 --- a/python38.rpmlintrc +++ b/python38.rpmlintrc @@ -72,7 +72,9 @@ addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3.\ddm.pc [Errno 2]') addFilter(r'macro-in-comment %{_pyconfig(32|64)_h}')
# Python modules don't need to be linked against libc +# Since 3.8 they are no longer linked against libpython3.8.so.1.0 addFilter(r'E: library-not-linked-against-libc /usr/lib(64)?/python3.\d/lib-dynload/') +addFilter(r'E: shared-lib-without-dependency-information /usr/lib(64)?/python3.\d/lib-dynload/')
# SPELLING ERRORS addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ')
commit 7e0c12521734cfcf7f848a77e2b869c71c641fbe Author: Miro Hronok miro@hroncok.cz Date: Thu Apr 25 18:55:05 2019 +0200
Regenerate generated files with python3
Switch to %make_build when touching this
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1377240
diff --git a/python38.spec b/python38.spec index 49041de..782e59d 100644 --- a/python38.spec +++ b/python38.spec @@ -203,6 +203,10 @@ BuildRequires: python-setuptools-wheel BuildRequires: python-pip-wheel %endif
+%if %{without bootstrap} +# for make regen-all +BuildRequires: python3 +%endif
# ======================= # Source code and patches @@ -632,8 +636,14 @@ BuildPython() { $ExtraConfigArgs \ %{nil}
+%if %{without bootstrap} + # Regenerate generated files (needs python3) + %make_build regen-all PYTHON_FOR_REGEN="python3" +%endif + + # Invoke the build - make EXTRA_CFLAGS="$CFLAGS $MoreCFlags" %{?_smp_mflags} + %make_build EXTRA_CFLAGS="$CFLAGS $MoreCFlags"
popd echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfName
commit 285f5549c610fb22fc5bea4cc2c7bb203a600d7b Author: Miro Hronok miro@hroncok.cz Date: Tue May 7 17:13:12 2019 +0200
Update to 3.8.0a4
Patches rebased via git, see https://github.com/fedora-python/cpython/tree/fedora-3.8.0a4
ABIFLAGS changed not to contain m, see https://bugs.python.org/issue36707
diff --git a/00001-rpath.patch b/00001-rpath.patch index 9fae54c..e18f37f 100644 --- a/00001-rpath.patch +++ b/00001-rpath.patch @@ -1,7 +1,18 @@ -diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/distutils/unixccompiler.py ---- Python-3.1.1/Lib/distutils/unixccompiler.py.rpath 2009-09-04 17:29:34.000000000 -0400 -+++ Python-3.1.1/Lib/distutils/unixccompiler.py 2009-09-04 17:49:54.000000000 -0400 -@@ -141,6 +141,15 @@ class UnixCCompiler(CCompiler): +From 39b5f58db91eea63fae2883c74f8a3f7fe49bc17 Mon Sep 17 00:00:00 2001 +From: David Malcolm dmalcolm@redhat.com +Date: Wed, 13 Jan 2010 21:25:18 +0000 +Subject: [PATCH 1/9] 00001: Fixup distutils/unixccompiler.py to remove + standard library path from rpath Was Patch0 in ivazquez' python3000 specfile + +--- + Lib/distutils/unixccompiler.py | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py +index d10a78da31..4df4b67810 100644 +--- a/Lib/distutils/unixccompiler.py ++++ b/Lib/distutils/unixccompiler.py +@@ -82,6 +82,15 @@ class UnixCCompiler(CCompiler): if sys.platform == "cygwin": exe_extension = ".exe"
@@ -17,3 +28,6 @@ diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/dist def preprocess(self, source, output_file=None, macros=None, include_dirs=None, extra_preargs=None, extra_postargs=None): fixed_args = self._fix_compile_args(None, macros, include_dirs) +-- +2.21.0 + diff --git a/00102-lib64.patch b/00102-lib64.patch index 33b2422..a22ec7b 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -1,5 +1,37 @@ +From 972d1ce207285b7b29407b95ea6519c289c71d89 Mon Sep 17 00:00:00 2001 +From: David Malcolm dmalcolm@redhat.com +Date: Wed, 13 Jan 2010 21:25:18 +0000 +Subject: [PATCH 2/9] 00102: Change the various install paths to use + /usr/lib64/ instead or /usr/lib/ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Only used when "%{_lib}" == "lib64". + +Co-authored-by: David Malcolm dmalcolm@redhat.com +Co-authored-by: Thomas Spura tomspur@fedoraproject.org +Co-authored-by: Slavek Kabrda bkabrda@redhat.com +Co-authored-by: Matej Stuchlik mstuchli@redhat.com +Co-authored-by: Tomas Orsava torsava@redhat.com +Co-authored-by: Charalampos Stratakis cstratak@redhat.com +Co-authored-by: Petr Viktorin pviktori@redhat.com +Co-authored-by: Miro Hronok miro@hroncok.cz +Co-authored-by: Iryna Shcherbina shcherbina.iryna@gmail.com +--- + Lib/distutils/command/install.py | 4 ++-- + Lib/distutils/sysconfig.py | 6 +++++- + Lib/distutils/tests/test_install.py | 3 ++- + Lib/site.py | 4 ++++ + Lib/sysconfig.py | 12 ++++++------ + Lib/test/test_site.py | 4 ++-- + Makefile.pre.in | 2 +- + Modules/getpath.c | 6 +++--- + setup.py | 6 +++--- + 9 files changed, 28 insertions(+), 19 deletions(-) + diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py -index 0258d3d..4b969bf 100644 +index c625c95bf7..ae4f915669 100644 --- a/Lib/distutils/command/install.py +++ b/Lib/distutils/command/install.py @@ -30,14 +30,14 @@ WINDOWS_SCHEME = { @@ -20,10 +52,10 @@ index 0258d3d..4b969bf 100644 'scripts': '$base/bin', 'data' : '$base', diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index e07a6c8..554740d 100644 +index b51629eb94..9a4892a737 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -140,8 +140,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): +@@ -146,8 +146,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix": @@ -38,7 +70,7 @@ index e07a6c8..554740d 100644 return libpython else: diff --git a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py -index 287ab19..d4c05e0 100644 +index 287ab1989e..d4c05e0ab1 100644 --- a/Lib/distutils/tests/test_install.py +++ b/Lib/distutils/tests/test_install.py @@ -57,8 +57,9 @@ class InstallTestCase(support.TempdirManager, @@ -53,7 +85,7 @@ index 287ab19..d4c05e0 100644 check_path(cmd.install_headers, os.path.join(destination, "include", "python", "foopkg")) diff --git a/Lib/site.py b/Lib/site.py -index 7dc1b04..85016b4 100644 +index ad1146332b..99149a564f 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -334,11 +334,15 @@ def getsitepackages(prefixes=None): @@ -73,7 +105,7 @@ index 7dc1b04..85016b4 100644 return sitepackages
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index 9ee4d31..53c8606 100644 +index 8446c8deb2..cf64d79c4d 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -20,10 +20,10 @@ __all__ = [ @@ -105,7 +137,7 @@ index 9ee4d31..53c8606 100644 'scripts': '{userbase}/bin', 'data': '{userbase}', diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py -index 266adf0..e8513b6 100644 +index 41c4229919..543c88432a 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -266,8 +266,8 @@ class HelperFunctionsTests(unittest.TestCase): @@ -120,10 +152,10 @@ index 266adf0..e8513b6 100644 'site-packages') self.assertEqual(dirs[0], wanted) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 59ba9d4..5780ed8 100644 +index 75eb66be3c..f1e21784af 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -140,7 +140,7 @@ LIBDIR= @libdir@ +@@ -143,7 +143,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include @@ -133,7 +165,7 @@ index 59ba9d4..5780ed8 100644
# Detailed destination directories diff --git a/Modules/getpath.c b/Modules/getpath.c -index dd188c6..6e69eed 100644 +index 3991ad719c..1baf8a2ff4 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -688,7 +688,7 @@ calculate_exec_prefix(const _PyCoreConfig *core_config, @@ -164,7 +196,7 @@ index dd188c6..6e69eed 100644 return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } diff --git a/setup.py b/setup.py -index 0258d3d..4b969bf 100644 +index 96a49b4e35..64420838af 100644 --- a/setup.py +++ b/setup.py @@ -610,7 +610,7 @@ class PyBuildExt(build_ext): @@ -176,7 +208,7 @@ index 0258d3d..4b969bf 100644 add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if CROSS_COMPILING: -@@ -902,11 +902,11 @@ class PyBuildExt(build_ext): +@@ -906,11 +906,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(self.lib_dirs + @@ -190,3 +222,6 @@ index 0258d3d..4b969bf 100644 extra_link_args=readline_extra_link_args, libraries=readline_libs)) else: +-- +2.21.0 + diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 3d667e9..d89455d 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,8 +1,30 @@ +From 031249155111abf6e971fff6516c4e828c394c05 Mon Sep 17 00:00:00 2001 +From: David Malcolm dmalcolm@redhat.com +Date: Mon, 18 Jan 2010 17:59:07 +0000 +Subject: [PATCH 3/9] 00111: Don't try to build a libpythonMAJOR.MINOR.a +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Downstream only: not appropriate for upstream. + +See https://bugzilla.redhat.com/show_bug.cgi?id=556092 + +Co-authored-by: David Malcolm dmalcolm@redhat.com +Co-authored-by: Bohuslav Kabrda bkabrda@redhat.com +Co-authored-by: Matej Stuchlik mstuchli@redhat.com +Co-authored-by: Robert Kuska rkuska@redhat.com +Co-authored-by: Charalampos Stratakis cstratak@redhat.com +Co-authored-by: Miro Hronok miro@hroncok.cz +--- + Makefile.pre.in | 21 ++------------------- + 1 file changed, 2 insertions(+), 19 deletions(-) + diff --git a/Makefile.pre.in b/Makefile.pre.in -index f8ff1ce..f297d05 100644 +index f1e21784af..414aa96008 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -573,7 +573,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c +@@ -559,7 +559,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
# Build the interpreter @@ -11,7 +33,7 @@ index f8ff1ce..f297d05 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
platform: $(BUILDPYTHON) pybuilddir.txt -@@ -621,12 +621,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -607,12 +607,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
@@ -24,7 +46,7 @@ index f8ff1ce..f297d05 100644 libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS) if test $(INSTSONAME) != $(LDLIBRARY); then \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \ -@@ -704,7 +698,7 @@ Makefile Modules/config.c: Makefile.pre \ +@@ -690,7 +684,7 @@ Makefile Modules/config.c: Makefile.pre \ @echo "The Makefile was updated, you may need to re-run make."
@@ -33,7 +55,7 @@ index f8ff1ce..f297d05 100644 $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
############################################################################ -@@ -1545,17 +1539,6 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1532,17 +1526,6 @@ libainstall: @DEF_MAKE_RULE@ python-config else true; \ fi; \ done @@ -51,3 +73,6 @@ index f8ff1ce..f297d05 100644 $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in +-- +2.21.0 + diff --git a/00178-dont-duplicate-flags-in-sysconfig.patch b/00178-dont-duplicate-flags-in-sysconfig.patch index fc49b30..4bbfed3 100644 --- a/00178-dont-duplicate-flags-in-sysconfig.patch +++ b/00178-dont-duplicate-flags-in-sysconfig.patch @@ -1,7 +1,21 @@ -diff -r 39b9b05c3085 Lib/distutils/sysconfig.py ---- a/Lib/distutils/sysconfig.py Wed Apr 10 00:27:23 2013 +0200 -+++ b/Lib/distutils/sysconfig.py Wed Apr 10 10:14:18 2013 +0200 -@@ -362,7 +362,10 @@ +From b9a703e3d37e325defe5baec111e1fbf5d42bede Mon Sep 17 00:00:00 2001 +From: Bohuslav Kabrda bkabrda@redhat.com +Date: Wed, 10 Apr 2013 14:30:09 +0200 +Subject: [PATCH 4/9] 00178: Don't duplicate various FLAGS in sysconfig values + +http://bugs.python.org/issue17679 + +Does not affect python2 AFAICS (different sysconfig values initialization) +--- + Lib/distutils/sysconfig.py | 5 ++++- + Lib/sysconfig.py | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index 9a4892a737..ad4cef088b 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -373,7 +373,10 @@ def parse_makefile(fn, g=None): done[n] = item = "" if found: after = value[m.end():] @@ -13,10 +27,11 @@ diff -r 39b9b05c3085 Lib/distutils/sysconfig.py if "$" in after: notdone[name] = value else: -diff -r 39b9b05c3085 Lib/sysconfig.py ---- a/Lib/sysconfig.py Wed Apr 10 00:27:23 2013 +0200 -+++ b/Lib/sysconfig.py Wed Apr 10 10:14:18 2013 +0200 -@@ -296,7 +296,10 @@ +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index cf64d79c4d..fd972d658c 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -295,7 +295,10 @@ def _parse_makefile(filename, vars=None):
if found: after = value[m.end():] @@ -28,3 +43,6 @@ diff -r 39b9b05c3085 Lib/sysconfig.py if "$" in after: notdone[name] = value else: +-- +2.21.0 + diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index ffb80af..91cdb01 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,5 +1,16 @@ +From 0f59810bb72d2092729346c17e96bf0c23120ee1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz +Date: Wed, 15 Aug 2018 15:36:29 +0200 +Subject: [PATCH 5/9] 00189: Instead of bundled wheels, use our RPM packaged + wheels + +We keep them in /usr/share/python-wheels +--- + Lib/ensurepip/__init__.py | 26 +++++++++++++++++--------- + 1 file changed, 17 insertions(+), 9 deletions(-) + diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py -index 4748ba4..fc02255 100644 +index 526dfd004a..fc02255feb 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -1,16 +1,27 @@ @@ -49,3 +60,6 @@ index 4748ba4..fc02255 100644
additional_paths.append(os.path.join(tmpdir, wheel_name))
+-- +2.21.0 + diff --git a/00205-make-libpl-respect-lib64.patch b/00205-make-libpl-respect-lib64.patch index 3e7c797..ddd0021 100644 --- a/00205-make-libpl-respect-lib64.patch +++ b/00205-make-libpl-respect-lib64.patch @@ -1,7 +1,22 @@ -diff -up Python-3.5.0/Makefile.pre.in.lib Python-3.5.0/Makefile.pre.in ---- Python-3.5.0/Makefile.pre.in.lib 2015-09-21 15:39:47.928286620 +0200 -+++ Python-3.5.0/Makefile.pre.in 2015-09-21 15:42:58.004042762 +0200 -@@ -1340,7 +1340,7 @@ inclinstall: +From 5ee8362bd5cc991b956efa9cf06eb6ad2607f57c Mon Sep 17 00:00:00 2001 +From: Robert Kuska rkuska@redhat.com +Date: Mon, 21 Sep 2015 15:55:00 +0200 +Subject: [PATCH 6/9] 00205: Make LIBPL variable respect the libdir macro + +LIBPL variable in Makefile takes LIBPL from configure.ac, +but the LIBPL variable defined there doesn't respect the libdir macro. + +Co-authored-by: Robert Kuska rkuska@redhat.com +Co-authored-by: Charalampos Stratakis cstratak@redhat.com +--- + Makefile.pre.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 414aa96008..a07bd6718d 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1512,7 +1512,7 @@ inclinstall:
# Install the library and miscellaneous stuff needed for extending/embedding # This goes into $(exec_prefix) @@ -10,3 +25,6 @@ diff -up Python-3.5.0/Makefile.pre.in.lib Python-3.5.0/Makefile.pre.in
# pkgconfig directory LIBPC= $(LIBDIR)/pkgconfig +-- +2.21.0 + diff --git a/00251-change-user-install-location.patch b/00251-change-user-install-location.patch index 4104449..1775b6c 100644 --- a/00251-change-user-install-location.patch +++ b/00251-change-user-install-location.patch @@ -1,11 +1,26 @@ +From e9d8db2d243cf27b66083e0c6a9bb5d28866f937 Mon Sep 17 00:00:00 2001 +From: Michal Cyprian m.cyprian@gmail.com +Date: Mon, 26 Jun 2017 16:32:56 +0200 +Subject: [PATCH 7/9] 00251: Change user install location + +Set values of prefix and exec_prefix in distutils install command +to /usr/local if executable is /usr/bin/python* and RPM build +is not detected to make pip and distutils install into separate location. + +Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe +--- + Lib/distutils/command/install.py | 15 +++++++++++++-- + Lib/site.py | 9 ++++++++- + 2 files changed, 21 insertions(+), 3 deletions(-) + diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py -index 0258d3d..4ebf50a 100644 +index ae4f915669..0e4fd5b74a 100644 --- a/Lib/distutils/command/install.py +++ b/Lib/distutils/command/install.py @@ -418,8 +418,19 @@ class install(Command): raise DistutilsOptionError( "must not supply exec-prefix without prefix") - + - self.prefix = os.path.normpath(sys.prefix) - self.exec_prefix = os.path.normpath(sys.exec_prefix) + # self.prefix is set to sys.prefix + /local/ @@ -21,16 +36,16 @@ index 0258d3d..4ebf50a 100644 + + self.prefix = os.path.normpath(sys.prefix) + addition + self.exec_prefix = os.path.normpath(sys.exec_prefix) + addition - + else: if self.exec_prefix is None: diff --git a/Lib/site.py b/Lib/site.py -index 0fc9200..c95202e 100644 +index 99149a564f..1107324848 100644 --- a/Lib/site.py +++ b/Lib/site.py -@@ -322,7 +322,14 @@ def getsitepackages(prefixes=None): +@@ -347,7 +347,14 @@ def getsitepackages(prefixes=None): return sitepackages - + def addsitepackages(known_paths, prefixes=None): - """Add site-packages to sys.path""" + """Add site-packages to sys.path @@ -44,3 +59,6 @@ index 0fc9200..c95202e 100644 for sitedir in getsitepackages(prefixes): if os.path.isdir(sitedir): addsitedir(sitedir, known_paths) +-- +2.21.0 + diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index ee15930..b8453a2 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,19 +1,25 @@ -From 3b0d3a25576e74c2ac1eb25136ae811bdbdd7c6c Mon Sep 17 00:00:00 2001 -From: Tomas Orsava torsava@redhat.com -Date: Thu, 14 Feb 2019 16:08:57 +0100 -Subject: [PATCH] Upstream uses Debian-style architecture naming. Change to - match Fedora / RHEL +From e108d7026aab241d89ff3a90d6421af3e9ee8e12 Mon Sep 17 00:00:00 2001 +From: Petr Viktorin pviktori@redhat.com +Date: Mon, 28 Aug 2017 17:16:46 +0200 +Subject: [PATCH 8/9] 00274: Upstream uses Debian-style architecture naming, + change to match Fedora +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit
+Co-authored-by: Petr Viktorin pviktori@redhat.com +Co-authored-by: Miro Hronok miro@hroncok.cz +Co-authored-by: Tomas Orsava torsava@redhat.com --- config.sub | 2 +- configure.ac | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/config.sub b/config.sub -index 40ea5df..932128b 100755 +index ba37cf99e2..52a9ec6662 100755 --- a/config.sub +++ b/config.sub -@@ -1045,7 +1045,7 @@ case $basic_machine in +@@ -1042,7 +1042,7 @@ case $basic_machine in ;; ppc64) basic_machine=powerpc64-unknown ;; @@ -23,10 +29,10 @@ index 40ea5df..932128b 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index a075ce3..b7f2ee3 100644 +index a02597da2d..5742ef4176 100644 --- a/configure.ac +++ b/configure.ac -@@ -788,9 +788,9 @@ cat >> conftest.c <<EOF +@@ -740,9 +740,9 @@ cat >> conftest.c <<EOF alpha-linux-gnu # elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) # if defined(__ARMEL__) @@ -38,7 +44,7 @@ index a075ce3..b7f2ee3 100644 # endif # elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) # if defined(__ARMEL__) -@@ -810,7 +810,7 @@ cat >> conftest.c <<EOF +@@ -782,7 +782,7 @@ cat >> conftest.c <<EOF # elif _MIPS_SIM == _ABIN32 mips64el-linux-gnuabin32 # elif _MIPS_SIM == _ABI64 @@ -47,7 +53,7 @@ index a075ce3..b7f2ee3 100644 # else # error unknown platform triplet # endif -@@ -820,22 +820,22 @@ cat >> conftest.c <<EOF +@@ -792,22 +792,22 @@ cat >> conftest.c <<EOF # elif _MIPS_SIM == _ABIN32 mips64-linux-gnuabin32 # elif _MIPS_SIM == _ABI64 @@ -76,5 +82,5 @@ index a075ce3..b7f2ee3 100644 s390x-linux-gnu # elif defined(__s390__) -- -2.20.1 +2.21.0
diff --git a/00316-mark-bdist_wininst-unsupported.patch b/00316-mark-bdist_wininst-unsupported.patch index a6a3faf..b6174c8 100644 --- a/00316-mark-bdist_wininst-unsupported.patch +++ b/00316-mark-bdist_wininst-unsupported.patch @@ -1,5 +1,16 @@ +From 1ef328c38ad0ef7fad1652edddd3710885b0a778 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= miro@hroncok.cz +Date: Thu, 20 Dec 2018 12:46:25 +0100 +Subject: [PATCH 9/9] 00316: Mark bdist_wininst unsupported + +We remove the exe files from distutil's bdist_wininst. +So we mark the command as unsupported - and the tests are skipped. +--- + Lib/distutils/command/bdist_wininst.py | 2 ++ + 1 file changed, 2 insertions(+) + diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py -index 0871a4f..8796b68 100644 +index 3a616883be..ba299a4028 100644 --- a/Lib/distutils/command/bdist_wininst.py +++ b/Lib/distutils/command/bdist_wininst.py @@ -12,6 +12,8 @@ from distutils.sysconfig import get_python_version @@ -11,3 +22,6 @@ index 0871a4f..8796b68 100644
description = "create an executable installer for MS Windows"
+-- +2.21.0 + diff --git a/python38.spec b/python38.spec index 7329aa6..49041de 100644 --- a/python38.spec +++ b/python38.spec @@ -14,7 +14,7 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel a3 +%global prerel a4 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} Release: 1%{?dist} @@ -97,8 +97,8 @@ License: Python
# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac # See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/ -%global ABIFLAGS_optimized m -%global ABIFLAGS_debug dm +%global ABIFLAGS_optimized %{nil} +%global ABIFLAGS_debug d
%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized} %global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug} @@ -279,6 +279,10 @@ Patch316: 00316-mark-bdist_wininst-unsupported.patch # More information, and a patch number catalog, is at: # # https://fedoraproject.org/wiki/SIGs/Python/PythonPatches +# +# The patches are stored and rebased at: +# +# https://github.com/fedora-python/cpython
# ========================================== @@ -868,9 +872,6 @@ ln -s \ # See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3
-# make man python3.Xm work https://bugzilla.redhat.com/show_bug.cgi?id=1612241 -ln -s ./python%{pybasever}.1 %{buildroot}%{_mandir}/man1/python%{pybasever}m.1 - %if %{with flatpackage} # Remove stuff that would conflict with python3 package rm %{buildroot}%{_bindir}/python3 @@ -992,7 +993,7 @@ CheckPython optimized %endif
%{_bindir}/python%{pybasever} -%{_bindir}/python%{pybasever}m +%{_bindir}/python%{LDVERSION_optimized} %{_mandir}/*/*
@@ -1131,7 +1132,6 @@ CheckPython optimized %{dynload_dir}/spwd.%{SOABI_optimized}.so %{dynload_dir}/syslog.%{SOABI_optimized}.so %{dynload_dir}/termios.%{SOABI_optimized}.so -%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so %{dynload_dir}/unicodedata.%{SOABI_optimized}.so %{dynload_dir}/_uuid.%{SOABI_optimized}.so %{dynload_dir}/xxlimited.%{SOABI_optimized}.so @@ -1308,6 +1308,8 @@ CheckPython optimized %{dynload_dir}/_testbuffer.%{SOABI_optimized}.so %{dynload_dir}/_testcapi.%{SOABI_optimized}.so %{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so +%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so +%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so %{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so %{pylibdir}/lib2to3/tests %{pylibdir}/tkinter/test @@ -1405,7 +1407,6 @@ CheckPython optimized %{dynload_dir}/spwd.%{SOABI_debug}.so %{dynload_dir}/syslog.%{SOABI_debug}.so %{dynload_dir}/termios.%{SOABI_debug}.so -%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so %{dynload_dir}/unicodedata.%{SOABI_debug}.so %{dynload_dir}/_uuid.%{SOABI_debug}.so %{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so @@ -1439,6 +1440,8 @@ CheckPython optimized %{dynload_dir}/_testbuffer.%{SOABI_debug}.so %{dynload_dir}/_testcapi.%{SOABI_debug}.so %{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so +%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so +%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so
%endif # with debug_build
@@ -1463,6 +1466,9 @@ CheckPython optimized # ======================================================
%changelog +* Tue May 07 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a4-1 +- Update to 3.8.0a4 + * Tue Mar 26 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a3-1 - Update to 3.8.0a3
diff --git a/sources b/sources index 4f6b5c4..4536033 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.8.0a3.tar.xz) = 2348416c3118d1ff6b88b1ee823046de6a26305c10dd900fcb59fbc5b37a8f54db7afcd2f8e7c927c50c4f317a8c20370478030f996f93c63381d2167247e6fd +SHA512 (Python-3.8.0a4.tar.xz) = 76088206e3eb4ff0b9060f35e0bf994018452cc98d7f576bf7d6842158a6f6ae173b281c442f1175402428c683667b7bacebb2b989a561a9f12db1ad5f0f42cb
commit 084a366e3d465801793c881800b016a776ba7c68 Author: Patrik Kopkan pkopkan@redhat.com Date: Thu Apr 18 16:40:00 2019 +0200
add symlink for python3.Xm manpages
diff --git a/python38.spec b/python38.spec index 036563b..7329aa6 100644 --- a/python38.spec +++ b/python38.spec @@ -868,6 +868,9 @@ ln -s \ # See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3
+# make man python3.Xm work https://bugzilla.redhat.com/show_bug.cgi?id=1612241 +ln -s ./python%{pybasever}.1 %{buildroot}%{_mandir}/man1/python%{pybasever}m.1 + %if %{with flatpackage} # Remove stuff that would conflict with python3 package rm %{buildroot}%{_bindir}/python3
commit 35551f989b91c87d44c2b81b5b12e643060fdbe7 Author: Victor Stinner vstinner@redhat.com Date: Tue Mar 5 15:50:30 2019 +0100
Reenable test_posix.test_fs_holes()
Since 2012, when the test was skipped from Python 3.3.0b1 (commit 3b4dd24c42a177bd8bda0ebf127f199ef32364ef), Linux now have a good support for punching holes in filesystems.
Only 00160-disable-test_fs_holes-in-rpm-build.patch and 00163-disable-parts-of-test_socket-in-rpm-build.patch patches used @unittest._skipInRpmBuild @unittest._expectedFailureInRpmBuild decorators, but these 2 patches have been removed: remove 00132-add-rpmbuild-hooks-to-unittest.patch and WITHIN_PYTHON_RPM_BUILD environment variable as well.
diff --git a/00132-add-rpmbuild-hooks-to-unittest.patch b/00132-add-rpmbuild-hooks-to-unittest.patch deleted file mode 100644 index b187c6a..0000000 --- a/00132-add-rpmbuild-hooks-to-unittest.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/Lib/unittest/__init__.py b/Lib/unittest/__init__.py -index 5ff1bf3..4d63954 100644 ---- a/Lib/unittest/__init__.py -+++ b/Lib/unittest/__init__.py -@@ -58,7 +58,7 @@ __unittest = True - - from .result import TestResult - from .case import (addModuleCleanup, TestCase, FunctionTestCase, SkipTest, skip, -- skipIf, skipUnless, expectedFailure) -+ skipIf, skipUnless, expectedFailure, _skipInRpmBuild) - from .suite import BaseTestSuite, TestSuite - from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames, - findTestCases) -diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py -index a157ae8..64f912c 100644 ---- a/Lib/unittest/case.py -+++ b/Lib/unittest/case.py -@@ -3,6 +3,7 @@ - import sys - import functools - import difflib -+import os - import logging - import pprint - import re -@@ -158,6 +159,22 @@ class _BaseTestCaseContext: - msg = self.test_case._formatMessage(self.msg, standardMsg) - raise self.test_case.failureException(msg) - -+# Non-standard/downstream-only hooks for handling issues with specific test -+# cases: -+ -+def _skipInRpmBuild(reason): -+ """ -+ Non-standard/downstream-only decorator for marking a specific unit test -+ to be skipped when run within the %check of an rpmbuild. -+ -+ Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within -+ the environment, and has no effect otherwise. -+ """ -+ if 'WITHIN_PYTHON_RPM_BUILD' in os.environ: -+ return skip(reason) -+ else: -+ return _id -+ - class _AssertRaisesBaseContext(_BaseTestCaseContext): - - def __init__(self, expected, test_case, expected_regex=None): diff --git a/00160-disable-test_fs_holes-in-rpm-build.patch b/00160-disable-test_fs_holes-in-rpm-build.patch deleted file mode 100644 index 9fa91d5..0000000 --- a/00160-disable-test_fs_holes-in-rpm-build.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up cpython-59223da36dec/Lib/test/test_posix.py.disable-test_fs_holes-in-rpm-build cpython-59223da36dec/Lib/test/test_posix.py ---- cpython-59223da36dec/Lib/test/test_posix.py.disable-test_fs_holes-in-rpm-build 2012-08-07 17:15:59.000000000 -0400 -+++ cpython-59223da36dec/Lib/test/test_posix.py 2012-08-07 17:16:53.528330330 -0400 -@@ -973,6 +973,7 @@ class PosixTester(unittest.TestCase): - posix.RTLD_GLOBAL - posix.RTLD_LOCAL - -+ @unittest._skipInRpmBuild('running kernel may not match kernel in chroot') - @unittest.skipUnless(hasattr(os, 'SEEK_HOLE'), - "test needs an OS that reports file holes") - def test_fs_holes(self): diff --git a/python38.spec b/python38.spec index 341d436..036563b 100644 --- a/python38.spec +++ b/python38.spec @@ -239,28 +239,6 @@ Patch102: 00102-lib64.patch # Downstream only: not appropriate for upstream Patch111: 00111-no-static-lib.patch
-# 00132 # -# Add non-standard hooks to unittest for use in the "check" phase below, when -# running selftests within the build: -# @unittest._skipInRpmBuild(reason) -# for tests that hang or fail intermittently within the build environment, and: -# @unittest._expectedFailureInRpmBuild -# for tests that always fail within the build environment -# -# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the -# environment, which we set manually in the appropriate portion of the "check" -# phase below (and which potentially other python-* rpms could set, to reuse -# these unittest hooks in their own "check" phases) -Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch - -# 00160 # -# Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the -# header files in the build chroot, but may not be supported in the running -# kernel, hence we disable this test in an rpm build. -# Adding these was upstream issue http://bugs.python.org/issue10142 -# Not yet sent upstream -Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch - # 00178 # # Don't duplicate various FLAGS in sysconfig values # http://bugs.python.org/issue17679 @@ -553,8 +531,6 @@ rm -r Modules/expat %patch102 -p1 %endif %patch111 -p1 -%patch132 -p1 -%patch160 -p1 %patch178 -p1
%if %{with rpmwheels} @@ -967,17 +943,13 @@ CheckPython() { # Show some info, helpful for debugging test failures LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo
- # Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the - # our non-standard decorators take effect on the relevant tests: - # @unittest._skipInRpmBuild(reason) - # @unittest._expectedFailureInRpmBuild + # Run the upstream test suite # test_gdb skipped on armv7hl: # https://bugzilla.redhat.com/show_bug.cgi?id=1196181 # test_gdb skipped on s390x: # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 # test_asyncio skipped: # https://bugs.python.org/issue35998 - WITHIN_PYTHON_RPM_BUILD= \ LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ -wW --slowest -j0 \ -x test_distutils \
commit b564dce4fa452ad42ade6b898c551b64253ba2ba Author: Victor Stinner vstinner@redhat.com Date: Tue Mar 5 15:35:12 2019 +0100
Reenable RecvmsgGenericStreamTests.testRecvmsgEOF()
Reenable RecvmsgGenericStreamTests.testRecvmsgEOF() of test_socket: remove 00163-disable-parts-of-test_socket-in-rpm-build.patch.
diff --git a/00163-disable-parts-of-test_socket-in-rpm-build.patch b/00163-disable-parts-of-test_socket-in-rpm-build.patch deleted file mode 100644 index 0e28036..0000000 --- a/00163-disable-parts-of-test_socket-in-rpm-build.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up Python-3.3.0b1/Lib/test/test_socket.py.disable-test_socket-in-rpm-builds Python-3.3.0b1/Lib/test/test_socket.py ---- Python-3.3.0b1/Lib/test/test_socket.py.disable-test_socket-in-rpm-builds 2012-07-24 15:02:30.823355067 -0400 -+++ Python-3.3.0b1/Lib/test/test_socket.py 2012-07-24 15:08:13.021354999 -0400 -@@ -2188,6 +2188,7 @@ class RecvmsgGenericStreamTests(RecvmsgG - # Tests which require a stream socket and can use either recvmsg() - # or recvmsg_into(). - -+ @unittest._skipInRpmBuild('fails intermittently when run within Koji') - def testRecvmsgEOF(self): - # Receive end-of-stream indicator (b"", peer socket closed). - msg, ancdata, flags, addr = self.doRecvmsg(self.serv_sock, 1024) diff --git a/python38.spec b/python38.spec index 1261dcd..341d436 100644 --- a/python38.spec +++ b/python38.spec @@ -261,12 +261,6 @@ Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch # Not yet sent upstream Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch
-# 00163 # -# Some tests within test_socket fail intermittently when run inside Koji; -# disable them using unittest._skipInRpmBuild -# Not yet sent upstream -Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch - # 00178 # # Don't duplicate various FLAGS in sysconfig values # http://bugs.python.org/issue17679 @@ -561,7 +555,6 @@ rm -r Modules/expat %patch111 -p1 %patch132 -p1 %patch160 -p1 -%patch163 -p1 %patch178 -p1
%if %{with rpmwheels}
commit 0cd827e77ed2a322f12b484dd38a0306ba6c565d Author: Victor Stinner vstinner@redhat.com Date: Thu Jan 31 11:56:28 2019 +0100
Reenable test_gdb on most archs except arm and s390x
gdb has been fixed in Rawhide: https://bugzilla.redhat.com/show_bug.cgi?id=1638798 https://bugzilla.redhat.com/show_bug.cgi?id=1634781
Install also gdb in selftest to no longer skip test_gdb on the x86_64 CI.
But test_gdb is still skipped on armv7hl: https://bugzilla.redhat.com/show_bug.cgi?id=1196181
And skipped on s390x: https://bugzilla.redhat.com/show_bug.cgi?id=1678277
diff --git a/python38.spec b/python38.spec index b5797a8..1261dcd 100644 --- a/python38.spec +++ b/python38.spec @@ -978,6 +978,10 @@ CheckPython() { # our non-standard decorators take effect on the relevant tests: # @unittest._skipInRpmBuild(reason) # @unittest._expectedFailureInRpmBuild + # test_gdb skipped on armv7hl: + # https://bugzilla.redhat.com/show_bug.cgi?id=1196181 + # test_gdb skipped on s390x: + # https://bugzilla.redhat.com/show_bug.cgi?id=1678277 # test_asyncio skipped: # https://bugs.python.org/issue35998 WITHIN_PYTHON_RPM_BUILD= \ @@ -985,7 +989,9 @@ CheckPython() { -wW --slowest -j0 \ -x test_distutils \ -x test_bdist_rpm \ + %ifarch %{arm} s390x -x test_gdb \ + %endif %ifarch %{mips64} -x test_ctypes \ %endif diff --git a/tests/tests.yml b/tests/tests.yml index 558953f..ccc6808 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -16,6 +16,7 @@ run: VERSION=3.8 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./parallel.sh required_packages: - gcc # for extension building in venv and selftest + - gdb # for test_gdb - python38 # the test subject - python3-tox # for venv tests - glibc-all-langpacks # for locale tests
commit 41ec7ac42451df1d23d53554deb68ffccf67934f Author: Victor Stinner vstinner@redhat.com Date: Fri Feb 15 14:55:26 2019 +0100
Reenable test_buffer on ppc64le
The test failed because of a GCC bug which has been fixed in GCC master branch and Rawhide uses GCC 9 (master branch):
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88892 * https://bugzilla.redhat.com/show_bug.cgi?id=1540995
diff --git a/python38.spec b/python38.spec index 217db85..b5797a8 100644 --- a/python38.spec +++ b/python38.spec @@ -989,9 +989,6 @@ CheckPython() { %ifarch %{mips64} -x test_ctypes \ %endif - %ifarch ppc64le - -x test_buffer \ - %endif -x test_asyncio \
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
commit b02de40d57688ae9f50044e848e69daf775ff011 Author: Tomas Orsava torsava@redhat.com Date: Thu Feb 14 17:37:18 2019 +0100
Fix arch names for the ppc architecture
Updated patch 00274
diff --git a/00274-fix-arch-names.patch b/00274-fix-arch-names.patch index c8e53c1..ee15930 100644 --- a/00274-fix-arch-names.patch +++ b/00274-fix-arch-names.patch @@ -1,8 +1,19 @@ +From 3b0d3a25576e74c2ac1eb25136ae811bdbdd7c6c Mon Sep 17 00:00:00 2001 +From: Tomas Orsava torsava@redhat.com +Date: Thu, 14 Feb 2019 16:08:57 +0100 +Subject: [PATCH] Upstream uses Debian-style architecture naming. Change to + match Fedora / RHEL + +--- + config.sub | 2 +- + configure.ac | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 9 deletions(-) + diff --git a/config.sub b/config.sub -index ba37cf9..52a9ec6 100755 +index 40ea5df..932128b 100755 --- a/config.sub +++ b/config.sub -@@ -1042,7 +1042,7 @@ case $basic_machine in +@@ -1045,7 +1045,7 @@ case $basic_machine in ;; ppc64) basic_machine=powerpc64-unknown ;; @@ -12,10 +23,10 @@ index ba37cf9..52a9ec6 100755 ppc64le | powerpc64little) basic_machine=powerpc64le-unknown diff --git a/configure.ac b/configure.ac -index 2535969..9fb3193 100644 +index a075ce3..b7f2ee3 100644 --- a/configure.ac +++ b/configure.ac -@@ -765,9 +765,9 @@ cat >> conftest.c <<EOF +@@ -788,9 +788,9 @@ cat >> conftest.c <<EOF alpha-linux-gnu # elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) # if defined(__ARMEL__) @@ -27,7 +38,7 @@ index 2535969..9fb3193 100644 # endif # elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) # if defined(__ARMEL__) -@@ -807,7 +807,7 @@ cat >> conftest.c <<EOF +@@ -810,7 +810,7 @@ cat >> conftest.c <<EOF # elif _MIPS_SIM == _ABIN32 mips64el-linux-gnuabin32 # elif _MIPS_SIM == _ABI64 @@ -36,7 +47,7 @@ index 2535969..9fb3193 100644 # else # error unknown platform triplet # endif -@@ -817,7 +817,7 @@ cat >> conftest.c <<EOF +@@ -820,22 +820,22 @@ cat >> conftest.c <<EOF # elif _MIPS_SIM == _ABIN32 mips64-linux-gnuabin32 # elif _MIPS_SIM == _ABI64 @@ -45,8 +56,11 @@ index 2535969..9fb3193 100644 # else # error unknown platform triplet # endif -@@ -827,9 +827,9 @@ cat >> conftest.c <<EOF - powerpc-linux-gnuspe + # elif defined(__or1k__) + or1k-linux-gnu + # elif defined(__powerpc__) && defined(__SPE__) +- powerpc-linux-gnuspe ++ ppc-linux-gnuspe # elif defined(__powerpc64__) # if defined(__LITTLE_ENDIAN__) - powerpc64le-linux-gnu @@ -56,4 +70,11 @@ index 2535969..9fb3193 100644 + ppc64-linux-gnu # endif # elif defined(__powerpc__) - powerpc-linux-gnu +- powerpc-linux-gnu ++ ppc-linux-gnu + # elif defined(__s390x__) + s390x-linux-gnu + # elif defined(__s390__) +-- +2.20.1 +
commit 136178652c45553ed8b1135d98edf572ca098b89 Author: Miro Hronok miro@hroncok.cz Date: Wed Mar 20 11:31:21 2019 +0000
Temporarily skip test_asyncio to workaround bpo-35998
https://bugs.python.org/issue35998
diff --git a/python38.spec b/python38.spec index 30f4dd3..217db85 100644 --- a/python38.spec +++ b/python38.spec @@ -978,6 +978,8 @@ CheckPython() { # our non-standard decorators take effect on the relevant tests: # @unittest._skipInRpmBuild(reason) # @unittest._expectedFailureInRpmBuild + # test_asyncio skipped: + # https://bugs.python.org/issue35998 WITHIN_PYTHON_RPM_BUILD= \ LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ -wW --slowest -j0 \ @@ -990,6 +992,7 @@ CheckPython() { %ifarch ppc64le -x test_buffer \ %endif + -x test_asyncio \
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
commit 804ec7c37d91ca30ddaf9465cff955d886b95616 Author: Miro Hronok miro@hroncok.cz Date: Wed Mar 27 01:14:40 2019 +0100
Update to 3.8.0a3
Rebased patches: 102 Updated pip/setuptools versions in spec and patch 189
diff --git a/00102-lib64.patch b/00102-lib64.patch index b082083..33b2422 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -23,7 +23,7 @@ diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index e07a6c8..554740d 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -129,8 +129,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): +@@ -140,8 +140,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix": @@ -108,7 +108,7 @@ diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py index 266adf0..e8513b6 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py -@@ -275,8 +275,8 @@ class HelperFunctionsTests(unittest.TestCase): +@@ -266,8 +266,8 @@ class HelperFunctionsTests(unittest.TestCase): dirs = site.getsitepackages() if os.sep == '/': # OS X, Linux, FreeBSD, etc @@ -123,7 +123,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 59ba9d4..5780ed8 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -133,7 +133,7 @@ LIBDIR= @libdir@ +@@ -140,7 +140,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include @@ -133,28 +133,28 @@ index 59ba9d4..5780ed8 100644
# Detailed destination directories diff --git a/Modules/getpath.c b/Modules/getpath.c -index 85e737b..2a1fc79 100644 +index dd188c6..6e69eed 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c -@@ -500,7 +500,7 @@ calculate_exec_prefix(const _PyCoreConfig *core_config, - "Could not find platform dependent libraries <exec_prefix>\n"); +@@ -688,7 +688,7 @@ calculate_exec_prefix(const _PyCoreConfig *core_config, + if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) { + return PATHLEN_ERR(); + } +- err = joinpath(exec_prefix, L"lib/lib-dynload", exec_prefix_len); ++ err = joinpath(exec_prefix, L"lib64/lib-dynload", exec_prefix_len); + if (_Py_INIT_FAILED(err)) { + return err; + } +@@ -1015,7 +1015,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix) + return PATHLEN_ERR(); } - wcsncpy(exec_prefix, calculate->exec_prefix, MAXPATHLEN); -- joinpath(exec_prefix, L"lib/lib-dynload"); -+ joinpath(exec_prefix, L"lib64/lib-dynload"); } - /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ - } -@@ -742,7 +742,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix) - else { - wcsncpy(calculate->zip_path, calculate->prefix, MAXPATHLEN); +- err = joinpath(calculate->zip_path, L"lib/python00.zip", zip_path_len); ++ err = joinpath(calculate->zip_path, L"lib64/python00.zip", zip_path_len); + if (_Py_INIT_FAILED(err)) { + return err; } -- joinpath(calculate->zip_path, L"lib/python00.zip"); -+ joinpath(calculate->zip_path, L"lib64/python00.zip"); - - /* Replace "00" with version */ - size_t bufsz = wcslen(calculate->zip_path); -@@ -867,7 +867,7 @@ calculate_init(PyCalculatePath *calculate, +@@ -1144,7 +1144,7 @@ calculate_init(PyCalculatePath *calculate, if (!calculate->prefix) { return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } @@ -164,29 +164,29 @@ index 85e737b..2a1fc79 100644 return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } diff --git a/setup.py b/setup.py -index f1933f7..450cd8a 100644 +index 0258d3d..4b969bf 100644 --- a/setup.py +++ b/setup.py -@@ -531,7 +531,7 @@ class PyBuildExt(build_ext): +@@ -610,7 +610,7 @@ class PyBuildExt(build_ext): # directories (i.e. '.' and 'Include') must be first. See issue # 10520. - if not cross_compiling: + if not CROSS_COMPILING: - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia - if cross_compiling: -@@ -830,11 +830,11 @@ class PyBuildExt(build_ext): + if CROSS_COMPILING: +@@ -902,11 +902,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) - elif self.compiler.find_library_file(lib_dirs + + elif self.compiler.find_library_file(self.lib_dirs + - ['/usr/lib/termcap'], + ['/usr/lib64/termcap'], 'termcap'): readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], -+ library_dirs=['/usr/lib64/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) + self.add(Extension('readline', ['readline.c'], +- library_dirs=['/usr/lib/termcap'], ++ library_dirs=['/usr/lib64/termcap'], + extra_link_args=readline_extra_link_args, + libraries=readline_libs)) else: diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 1afdab1..ffb80af 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -16,9 +16,9 @@ index 4748ba4..fc02255 100644
+_WHEEL_DIR = "/usr/share/python-wheels/"
--_SETUPTOOLS_VERSION = "40.6.2" +-_SETUPTOOLS_VERSION = "40.8.0"
--_PIP_VERSION = "18.1" +-_PIP_VERSION = "19.0.3" +def _get_most_recent_wheel_version(pkg): + prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg)) + suffix = "-py2.py3-none-any.whl" diff --git a/python38.spec b/python38.spec index 6614951..30f4dd3 100644 --- a/python38.spec +++ b/python38.spec @@ -14,7 +14,7 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel a2 +%global prerel a3 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} Release: 1%{?dist} @@ -379,8 +379,8 @@ Summary: Python runtime libraries Requires: python-setuptools-wheel Requires: python-pip-wheel %else -Provides: bundled(python3-pip) = 18.1 -Provides: bundled(python3-setuptools) = 40.6.2 +Provides: bundled(python3-pip) = 19.0.3 +Provides: bundled(python3-setuptools) = 40.8.0 %endif
# There are files in the standard library that have python shebang. @@ -521,8 +521,8 @@ so extensions for both versions can co-exist in the same directory. Requires: python-setuptools-wheel Requires: python-pip-wheel %else -Provides: bundled(python3-pip) = 18.1 -Provides: bundled(python3-setuptools) = 40.6.2 +Provides: bundled(python3-pip) = 19.0.3 +Provides: bundled(python3-setuptools) = 40.8.0 %endif
# The description for the flat package @@ -1489,6 +1489,9 @@ CheckPython optimized # ======================================================
%changelog +* Tue Mar 26 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a3-1 +- Update to 3.8.0a3 + * Mon Feb 25 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a2-1 - Update to 3.8.0a2
diff --git a/sources b/sources index 29d07a2..4f6b5c4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.8.0a2.tar.xz) = ebba962aa73bf690f33f4e2183da5f64f13cdd892d94c48b433cd04f7cdbc8baf88ff60d7998c330683b590f7c02fa2f426c9cbde461f36871bda728ab4f07ac +SHA512 (Python-3.8.0a3.tar.xz) = 2348416c3118d1ff6b88b1ee823046de6a26305c10dd900fcb59fbc5b37a8f54db7afcd2f8e7c927c50c4f317a8c20370478030f996f93c63381d2167247e6fd
commit ad7d856a30e0b7d042f8d6365146296e62a801d8 Author: Miro Hronok miro@hroncok.cz Date: Sun Mar 10 19:48:49 2019 +0100
Add bootstrap bcond for Python 3.8
diff --git a/python38.spec b/python38.spec index ca79117..6614951 100644 --- a/python38.spec +++ b/python38.spec @@ -36,6 +36,17 @@ License: Python # WARNING: This does not change the package name and summary above %bcond_without flatpackage
+# When bootstrapping python3, we need to build setuptools. +# but setuptools BR python3-devel and that brings in python3-rpm-generators; +# python3-rpm-generators needs python3-setuptools, so we cannot have it yet. +# +# Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython +# +# IMPORTANT: When bootstrapping, it's very likely the wheels for pip and +# setuptools are not available. Turn off the rpmwheels bcond until +# the two packages are built with wheels to get around the issue. +%bcond_with bootstrap + # Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package # Uses upstream bundled prebuilt wheels otherwise %bcond_without rpmwheels @@ -77,10 +88,6 @@ License: Python %endif
-# Notes from bootstraping Python 3.7: -# https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython - - # ===================== # General global macros # ===================== @@ -396,8 +403,8 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: python-rpm-macros Requires: python-rpm-macros Requires: python3-rpm-macros -Requires: python3-rpm-generators
+%if %{without bootstrap} # This is not "API" (packages that need setuptools should still BuildRequire it) # However some packages apparently can build both with and without setuptools # producing egg-info as file or directory (depending on setuptools presence). @@ -407,6 +414,9 @@ Requires: python3-rpm-generators # See https://fedoraproject.org/wiki/Packaging:Directory_Replacement Requires: python3-setuptools
+Requires: python3-rpm-generators +%endif + Provides: %{name}-2to3 = %{version}-%{release} Provides: 2to3 = %{version}-%{release}
commit 5e25a870914dc63f4fe6811b4c2fca9cc3d90e7f Author: Miro Hronok miro@hroncok.cz Date: Tue Feb 26 00:51:48 2019 +0100
Update to 3.8.0a2
diff --git a/python38.spec b/python38.spec index b06ab0f..ca79117 100644 --- a/python38.spec +++ b/python38.spec @@ -14,10 +14,10 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel a1 +%global prerel a2 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 3%{?dist} +Release: 1%{?dist} License: Python
@@ -1479,6 +1479,9 @@ CheckPython optimized # ======================================================
%changelog +* Mon Feb 25 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a2-1 +- Update to 3.8.0a2 + * Mon Feb 18 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-3 - Reduced default build flags used to build extension modules https://fedoraproject.org/wiki/Changes/Python_Extension_Flags diff --git a/sources b/sources index 8f72af4..29d07a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.8.0a1.tar.xz) = 81e0aea4cf37f432d72464579f1b97db574496fa7105c7b2e02caed2e27d95288f21605666e80b60a01c66afb115714004b4a219b31ce21c8f732828b70b24e2 +SHA512 (Python-3.8.0a2.tar.xz) = ebba962aa73bf690f33f4e2183da5f64f13cdd892d94c48b433cd04f7cdbc8baf88ff60d7998c330683b590f7c02fa2f426c9cbde461f36871bda728ab4f07ac
commit 8449402f77556af669063726e55a7e65c3809da6 Author: Miro Hronok miro@hroncok.cz Date: Wed Jan 2 18:15:20 2019 +0100
Reduced default build flags used to build extension modules
Utilize extension_...flags for extension builds.
See https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
Depends on https://src.fedoraproject.org/rpms/redhat-rpm-config/c/e80fa1344a49662fec08d...
diff --git a/python38.spec b/python38.spec index 942b233..b06ab0f 100644 --- a/python38.spec +++ b/python38.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ %global prerel a1 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 2%{?dist} +Release: 3%{?dist} License: Python
@@ -170,6 +170,7 @@ BuildRequires: ncurses-devel BuildRequires: openssl-devel BuildRequires: pkgconfig BuildRequires: readline-devel +BuildRequires: redhat-rpm-config >= 127 BuildRequires: sqlite-devel BuildRequires: gdb
@@ -406,12 +407,6 @@ Requires: python3-rpm-generators # See https://fedoraproject.org/wiki/Packaging:Directory_Replacement Requires: python3-setuptools
-# https://bugzilla.redhat.com/show_bug.cgi?id=1217376 -# https://bugzilla.redhat.com/show_bug.cgi?id=1496757 -# https://bugzilla.redhat.com/show_bug.cgi?id=1218294 -# TODO change to a specific subpackage once available (#1218294) -Requires: redhat-rpm-config - Provides: %{name}-2to3 = %{version}-%{release} Provides: 2to3 = %{version}-%{release}
@@ -507,8 +502,6 @@ so extensions for both versions can co-exist in the same directory.
%else # with flatpackage
-Requires: redhat-rpm-config - # We'll not provide this, on purpose # No package in Fedora shall ever depend on flatpackage via this %global __requires_exclude ^python\(abi\) = 3\..$ @@ -605,13 +598,21 @@ topdir=$(pwd) %endif
# Set common compiler/linker flags -export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" -export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" +# We utilize the %%extension_...flags macros here so users building C/C++ +# extensions with our python won't get all the compiler/linker flags used +# in Fedora RPMs. +# Standard library built here will still use the %%build_...flags, +# Fedora packages utilizing %%py3_build will use them as well +# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags +export CFLAGS="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CFLAGS_NODIST="%{build_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CXXFLAGS="%{extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv" export CPPFLAGS="$(pkg-config --cflags-only-I libffi)" -export OPT="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" +export OPT="%{extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv" export LINKCC="gcc" export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)" -export LDFLAGS="$RPM_LD_FLAGS -g $(pkg-config --libs-only-L openssl)" +export LDFLAGS="%{extension_ldflags} -g $(pkg-config --libs-only-L openssl)" +export LDFLAGS_NODIST="%{build_ldflags} -g $(pkg-config --libs-only-L openssl)"
# We can build several different configurations of Python: regular and debug. # Define a common function that does one build: @@ -1478,6 +1479,10 @@ CheckPython optimized # ======================================================
%changelog +* Mon Feb 18 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-3 +- Reduced default build flags used to build extension modules + https://fedoraproject.org/wiki/Changes/Python_Extension_Flags + * Sun Feb 17 2019 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.8.0~a1-2 - Rebuild for readline 8.0
commit d08091876766f5badc6ca946edb3652a8ab4f758 Author: Igor Gnatenko ignatenkobrain@fedoraproject.org Date: Sun Feb 17 09:30:52 2019 +0100
Rebuild for readline 8.0
diff --git a/python38.spec b/python38.spec index c822f64..942b233 100644 --- a/python38.spec +++ b/python38.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ %global prerel a1 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} +Release: 2%{?dist} License: Python
@@ -1478,5 +1478,8 @@ CheckPython optimized # ======================================================
%changelog +* Sun Feb 17 2019 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.8.0~a1-2 +- Rebuild for readline 8.0 + * Tue Feb 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-1 - Update to 3.8.0a1
commit 553fd279baf25122ce00ea8b4ae565a27a72c9d7 Author: Miro Hronok miro@hroncok.cz Date: Wed Feb 6 02:25:20 2019 +0100
rpmlint: Python modules don't need to be linked against libc
They are loaded from Python and Python is already linked against libc.
See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/...
diff --git a/python38.rpmlintrc b/python38.rpmlintrc index d59fe13..e1e2cbe 100644 --- a/python38.rpmlintrc +++ b/python38.rpmlintrc @@ -71,5 +71,8 @@ addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3.\ddm.pc [Errno 2]') # we need this macro to evaluate, even if the line starts with # addFilter(r'macro-in-comment %{_pyconfig(32|64)_h}')
+# Python modules don't need to be linked against libc +addFilter(r'E: library-not-linked-against-libc /usr/lib(64)?/python3.\d/lib-dynload/') + # SPELLING ERRORS addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ')
commit 4aedf056ed1b66ccc2b8de1e13aec2e5322c250e Author: Miro Hronok miro@hroncok.cz Date: Wed Feb 6 17:28:13 2019 +0100
Update Fedora CI tests definitions for 3.8
diff --git a/tests/tests.yml b/tests/tests.yml index d26ece2..558953f 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -10,18 +10,12 @@ tests: - smoke: dir: python/smoke - run: VERSION=3.7 ./venv.sh + run: VERSION=3.8 ./venv.sh - selftest: dir: python/selftest - run: VERSION=3.7 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./parallel.sh - - findleaks: - dir: python/selftest - run: VERSION=3.7 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./findleaks.sh + run: VERSION=3.8 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./parallel.sh required_packages: - gcc # for extension building in venv and selftest - - python3-debug # for leak testing - - python3-devel # for extension building in venv and selftest - - python3-tkinter # for selftest - - python3-test # for selftest + - python38 # the test subject - python3-tox # for venv tests - glibc-all-langpacks # for locale tests
commit 1f112461d177f38849195230eacf0a99c9021aa2 Author: Miro Hronok miro@hroncok.cz Date: Wed Feb 6 17:24:49 2019 +0100
Trim the %changelog
diff --git a/python38.spec b/python38.spec index 1c2ee75..c822f64 100644 --- a/python38.spec +++ b/python38.spec @@ -1480,1194 +1480,3 @@ CheckPython optimized %changelog * Tue Feb 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-1 - Update to 3.8.0a1 - -* Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 3.7.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 16 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-4 -- Security fix for CVE-2019-5010 (#1666519, #1666522) - -* Mon Jan 14 2019 Bjrn Esser besser82@fedoraproject.org - 3.7.2-3 -- Rebuilt for libcrypt.so.2 (#1666033) - -* Fri Jan 04 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-2 -- No longer revert upstream commit 3b699932e5ac3e7 -- This was a dirty workaround for (#1644936) - -* Tue Dec 25 2018 Miro Hronok mhroncok@redhat.com - 3.7.2-1 -- Update to 3.7.2 - -* Fri Dec 07 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-5 -- Make sure we don't ship any exe files (not needed an prebuilt) - -* Wed Nov 21 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-4 -- Make sure the entire test.support module is in python3-libs (#1651245) - -* Tue Nov 06 2018 Victor Stinner vstinner@redhat.com - 3.7.1-3 -- Verify the value of '-s' when execute the CLI of cProfile (rhbz#1160640) - -* Sun Nov 04 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-2 -- Temporarily revert upstream commit 3b699932e5ac3e7 -- This is dirty workaround for (#1644936) - -* Mon Oct 22 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-1 -- Update to 3.7.1 - -* Thu Sep 27 2018 Petr Viktorin pviktori@redhat.com - 3.7.0-10 -- Compile the debug build with -Og rather than -O0 - -* Thu Aug 30 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-9 -- Require python3-setuptools from python3-devel to prevent packaging errors (#1623914) - -* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-8 -- Add /usr/bin/pygettext3.py and msgfmt3.py to python3-devel -Resolves: rhbz#1571474 - -* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-7 -- Backport TLS 1.3 related fixes to fix FTBFS -Resolves: rhbz#1609291 - -* Wed Aug 15 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-6 -- Use RPM built wheels of pip and setuptools in ensurepip instead of our rewheel patch - -* Fri Aug 10 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-5 -- Fix wrong requirement on gdbm - -* Fri Jul 20 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-4 -- Allow to call Py_Main() after Py_Initialize() -Resolves: rhbz#1595421 - -* Sat Jul 14 2018 Fedora Release Engineering releng@fedoraproject.org - 3.7.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jul 12 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-2 -- Rebuild for new gdbm - -* Wed Jun 27 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-1 -- Update to 3.7.0 final - -* Wed Jun 13 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.21.rc1 -- Finish bootstrapping, enable rewheel, tests, optimizations - -* Tue Jun 12 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.20.rc1 -- Update to 3.7.0rc1 -- Bootstrap, disable rewheel, tests, optimizations - -* Mon Apr 23 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-4 -- Fix multiprocessing regression on newer glibcs -- Enable test_multiprocessing_fork(server) and _spawn again -Resolves: rhbz#1569933 - -* Thu Apr 19 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-3 -- Skip test_multiprocessing_fork(server) and _spawn for now - -* Wed Apr 18 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-2 -- Add flatpackage conditionals - -* Thu Mar 29 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.5-1 -- Update to 3.6.5 - -* Sat Mar 24 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-20 -- Fix broken macro invocation and broken building of C Python extensions -Resolves: rhbz#1560103 - -* Fri Mar 16 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-19 -- Add -n option for pathfix.py -Resolves: rhbz#1546990 - -* Thu Mar 15 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-18 -- Fix the py_byte_compile macro to work on Python 2 -- Remove the pybytecompile macro file from the flat package -Resolves: rhbz#1484993 - -* Tue Mar 13 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-17 -- Do not send IP addresses in SNI TLS extension - -* Sat Feb 24 2018 Florian Weimer fweimer@redhat.com - 3.6.4-16 -- Rebuild with new LDFLAGS from redhat-rpm-config - -* Wed Feb 21 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-15 -- Filter out automatic /usr/bin/python3.X requirement, - recommend the main package from libs instead -Resolves: rhbz#1547131 - -* Thu Feb 15 2018 Iryna Shcherbina ishcherb@redhat.com - 3.6.4-14 -- Remove the python3-tools package (#rhbz 1312030) -- Move /usr/bin/2to3 to python3-devel -- Move /usr/bin/idle and idlelib to python3-idle -- Provide python3-tools from python3-idle - -* Fri Feb 09 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-13 -- Escape macros in %%changelog - -* Fri Feb 02 2018 Michal Cyprian mcyprian@redhat.com - 3.6.4-12 -- Remove sys.executable check from change-user-install-location patch -Resolves: rhbz#1532287 - -* Thu Feb 01 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-11 -- Define TLS cipher suite on build time. - -* Wed Jan 31 2018 Tomas Orsava torsava@redhat.com - 3.6.4-10 -- Disable test_gdb for all arches and test_buffer for ppc64le in anticipation - of the F28 mass rebuild -- Re-enable these tests after the mass rebuild when they can be properly - addressed - -* Tue Jan 23 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-9 -- Restore the PyExc_RecursionErrorInst public symbol - -* Tue Jan 23 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-8 -- Add patch to explicitly link _ctypes module with -ldl (#1537489) -- Refactored patch for libxcrypt -- Re-enable strict symbol checks in the link editor - -* Mon Jan 22 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-7 -- Add patch for libxcrypt -- Disable strict symbol checks in the link editor - -* Sat Jan 20 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-6 -- Rebuilt for switch to libxcrypt - -* Fri Jan 19 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-5 -- Fix localeconv() encoding for LC_NUMERIC - -* Thu Jan 18 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-4 -- R: gdbm-devel R: gdbm for python3-libs - -* Wed Jan 17 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-3 -- Require large enough gdbm (fixup for previous bump) - -* Tue Jan 16 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-2 -- Rebuild for reverted gdbm 1.13 on Fedora 27 - -* Mon Jan 15 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-1 -- Update to version 3.6.4 - -* Fri Jan 12 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.3-5 -- Fix the compilation of the nis module. - -* Tue Nov 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-4 -- Raise the release of platform-python obsoletes for better maintainability - -* Wed Nov 15 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-3 -- Obsolete platform-python and it's subpackages - -* Mon Oct 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-2 -- Fix memory corruption due to allocator mix -Resolves: rhbz#1498207 - -* Fri Oct 06 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-1 -- Update to Python 3.6.3 - -* Fri Sep 29 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-19 -- Move pathfix.py to bindir, https://github.com/fedora-python/python-rpm-porting/issues/24 -- Make the -devel package require redhat-rpm-config -Resolves: rhbz#1496757 - -* Wed Sep 13 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-18 -- Fix /usr/bin/env dependency from python3-tools -Resolves: rhbz#1482118 - -* Wed Sep 06 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-17 -- Include `-g` in the flags sent to the linker (LDFLAGS) -Resolves: rhbz#1483222 - -* Tue Sep 05 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-16 -- Specfile cleanup -- Make the main description also applicable to the SRPM -- Add audiotest.au to the test package - -* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-15 -- Remove %%{pylibdir}/Tools/scripts/2to3 - -* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-14 -- Expat >= 2.1.0 is everywhere, remove explicit requires -- Conditionalize systemtap-devel BuildRequires -- For consistency, require /usr/sbin/ifconfig instead of net-tools - -* Mon Aug 28 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-13 -- Rename patch files to be consistent -- Run autotools to generate the configure script before building -- Merge lib64 patches (104 into 102) -- Skip test_bdist_rpm using test config rather than a patch (removes patch 137) -- Remove patches 157 and 186, which had test changes left over after upstreaming -- Remove patch 188, a temporary workaround for hashlib tests -- Merge patches 180, 206, 243, 5001 (architecture naming) into new patch 274 -- Move python2-tools conflicts to tools subpackage (it was wrongly in tkinter) - -* Mon Aug 28 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-12 -- Use python3 style of calling super() without arguments in rpath - patch to prevent recursion in UnixCCompiler subclasses -Resolves: rhbz#1458122 - -* Mon Aug 21 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-11 -- Add bcond for --without optimizations -- Reword package descriptions -- Remove Group declarations -- Skip failing test_float_with_comma - -* Mon Aug 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-10 -- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack - -* Wed Aug 16 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-9 -- Use bconds for configuring the build -- Reorganize the initial sections - -* Wed Aug 16 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-8 -- Have /usr/bin/2to3 (rhbz#1111275) -- Provide 2to3 and idle3, list them in summary and description (rhbz#1076401) - -* Fri Aug 11 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-7 -- Revert "Add --executable option to install.py command" - This enhancement is currently not needed and it can possibly - collide with `pip --editable`option - -* Mon Aug 07 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-6 -- Fix the "urllib FTP protocol stream injection" vulnerability -Resolves: rhbz#1478916 - -* Tue Aug 01 2017 Tomas Orsava torsava@redhat.com - 3.6.2-5 -- Dropped BuildRequires on db4-devel which was useful for Python 2 (module - bsddb), however, no longer needod for Python 3 -- Tested building Python 3 with and without the dependency, all tests pass and - filelists of resulting RPMs are identical - -* Sun Jul 30 2017 Florian Weimer fweimer@redhat.com - 3.6.2-4 -- Do not generate debuginfo subpackages (#1476593) -- Rebuild with binutils fix for ppc64le (#1475636) - -* Thu Jul 27 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jul 25 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-2 -- Make test_asyncio to not depend on the current SIGHUP signal handler. - -* Tue Jul 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-1 -- Update to Python 3.6.2 - -* Tue Jun 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-10 -- Update to the latest upstream implementation of PEP 538 - -* Mon Jun 26 2017 Michal Cyprian mcyprian@redhat.com - 3.6.1-9 -- Make pip and distutils in user environment install into separate location - -* Fri Jun 23 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-8 -- Fix test_alpn_protocols from test_ssl -- Do not require rebundled setuptools dependencies - -* Tue May 16 2017 Tomas Orsava torsava@redhat.com - 3.6.1-7 -- Added a dependency to the devel subpackage on python3-rpm-generators which - have been excised out of rpm-build -- Updated notes on bootstrapping Python on top of this specfile accordingly -- Involves: rhbz#1410631, rhbz#1444925 - -* Tue May 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-6 -- Enable profile guided optimizations for x86_64 and i686 architectures -- Update to a newer implementation of PEP 538 -- Update description to reflect that Python 3 is now the default Python - -* Fri May 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-5 -- Update PEP 538 to the latest upstream implementation - -* Tue Apr 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-4 -- Enable link time optimizations -- Move windows executables to the devel subpackage (rhbz#1426257) - -* Thu Apr 13 2017 Tomas Orsava torsava@redhat.com - 3.6.1-3 -- Rename python3.Xdm-config script from -debug to be arch specific -Resolves: rhbz#1179073 - -* Wed Apr 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-2 -- Install the Makefile in its proper location (rhbz#1438219) - -* Wed Mar 22 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.1-1 -- Update to version 3.6.1 final - -* Tue Mar 21 2017 Tomas Orsava torsava@redhat.com - 3.6.1-0.2.rc1 -- Fix syntax error in %%py_byte_compile macro (rhbz#1433569) - -* Thu Mar 16 2017 Iryna Shcherbina ishcherb@redaht.com - 3.6.1-0.1.rc1 -- Update to Python 3.6.1 release candidate 1 -- Add patch 264 to skip a known test failure on aarch64 - -* Fri Mar 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-21 -- Use proper command line parsing in _testembed -- Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale - https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale - -* Mon Feb 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-20 -- Add desktop entry and appdata.xml file for IDLE 3 (rhbz#1392049) - -* Fri Feb 24 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-19 -- Revert "Set values of prefix and exec_prefix to /usr/local for - /usr/bin/python* executables..." to prevent build failures - of packages using alternate build tools - -* Tue Feb 21 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-18 -- Set values of prefix and exec_prefix to /usr/local for - /usr/bin/python* executables -- Use new %%_module_build macro - -* Fri Feb 17 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-13 -- Add --executable option to install.py command - -* Wed Feb 15 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-12 -- BuildRequire the new dependencies of setuptools when rewheel mode is enabled -in order for the virtualenvs to work properly - -* Sat Feb 11 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 01 2017 Stephen Gallagher sgallagh@redhat.com - 3.6.0-10 -- Add missing %%license macro - -* Thu Jan 26 2017 Tomas Orsava torsava@redhat.com - 3.6.0-9 -- Modify the runtime dependency of python3-libs on system-python-libs again, - because previous attempt didn't work properly with dnf resolving mechanism - -* Wed Jan 25 2017 Tomas Orsava torsava@redhat.com - 3.6.0-8 -- Modify the runtime dependency of python3-libs on system-python-libs to use - just the version and release number, but not the dist tag due to Modularity - -* Mon Jan 16 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-7 -- Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275) -- Skip test_aead_aes_gcm during rpmbuild - -* Thu Jan 12 2017 Igor Gnatenko ignatenko@redhat.com - 3.6.0-6 -- Rebuild for readline 7.x - -* Tue Jan 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-5 -- Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644) - -* Mon Jan 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-4 -- Define HAVE_LONG_LONG as 1 for backwards compatibility - -* Thu Jan 05 2017 Miro Hronok mhroncok@redhat.com - 3.6.0-3 -- Don't blow up on EL7 kernel (random generator) (rhbz#1410175) - -* Tue Dec 27 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-1 -- Update to Python 3.6.0 final - -* Fri Dec 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.6.rc1 -- Enable rewheel - -* Wed Dec 07 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.5.rc1 -- Update to Python 3.6.0 release candidate 1 - -* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.4.b4 -- Update to Python 3.6.0 beta 4 - -* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-7 -- Set to work with pip version 9.0.1 - -* Wed Oct 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-6 -- Use proper patch numbering and base upstream branch for -porting ssl and hashlib modules to OpenSSL 1.1.0 -- Drop hashlib patch for now -- Add riscv64 arch to 64bit and no-valgrind arches - -* Tue Oct 11 2016 Tom Mrz tmraz@redhat.com - 3.5.2-5 -- Make it build with OpenSSL-1.1.0 based on upstream patch - -* Wed Sep 14 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-4 -- Obsolete and Provide python35 package - -* Mon Sep 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-3 -- Update %%py_byte_compile macro -- Remove unused configure flags (rhbz#1374357) - -* Fri Sep 09 2016 Tomas Orsava torsava@redhat.com - 3.5.2-2 -- Updated .pyc 'bytecompilation with the newly installed interpreter' to also - recompile optimized .pyc files -- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo - files are no more -- Resolves rhbz#1373635 - -* Mon Aug 15 2016 Tomas Orsava torsava@redhat.com - 3.5.2-1 -- Rebased to version 3.5.2 -- Set to work with pip version 8.1.2 -- Removed patches 207, 237, 241 as fixes are already contained in Python 3.5.2 -- Removed arch or environment specific patches 194, 196, 203, and 208 - as test builds indicate they are no longer needed -- Updated patches 102, 146, and 242 to work with the new Python codebase -- Removed patches 200, 201, 5000 which weren't even being applied - -* Tue Aug 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-15 -- Fix for CVE-2016-1000110 HTTPoxy attack -- SPEC file cleanup - -* Mon Aug 01 2016 Michal Toman mtoman@fedoraproject.org - 3.5.1-14 -- Build properly on MIPS - -* Tue Jul 19 2016 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.5.1-13 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Pac... - -* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-12 -- Refactor patch for properly fixing CVE-2016-5636 - -* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-11 -- Fix test_pyexpat failure with Expat version of 2.2.0 - -* Fri Jul 08 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-10 -- Move xml module to system-python-libs - -* Thu Jun 16 2016 Tomas Orsava torsava@redhat.com - 3.5.1-9 -- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack -- Raise an error when STARTTLS fails -- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647 -- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345 -- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394 - -* Mon Jun 13 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-8 -- Added patch for fixing possible integer overflow and heap corruption in zipimporter.get_data() - -* Fri Mar 04 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-7 -- Move distutils to system-python-libs - -* Wed Feb 24 2016 Robert Kuska rkuska@redhat.com - 3.5.1-6 -- Provide python3-enum34 - -* Fri Feb 19 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-5 -- Provide System Python packages and macros - -* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 3.5.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jan 13 2016 Orion Poplwski orion@cora.nwra.com - 3.5.1-2 -- Drop python3 macros, require python/python3-rpm-macros - -* Mon Dec 14 2015 Robert Kuska rkuska@redhat.com - 3.5.1-1 -- Update to 3.5.1 -- Removed patch 199 and 207 (upstream) - -* Sun Nov 15 2015 Robert Kuska rkuska@redhat.com - 3.5.0-5 -- Remove versioned libpython from devel package - -* Fri Nov 13 2015 Than Ngo than@redhat.com 3.5.0-4 -- add correct arch for ppc64/ppc64le to fix build failure - -* Wed Nov 11 2015 Robert Kuska rkuska@redhat.com - 3.5.0-3 -- Hide the private _Py_atomic_xxx symbols from public header - -* Wed Oct 14 2015 Robert Kuska rkuska@redhat.com - 3.5.0-2 -- Rebuild with wheel set to 1 - -* Tue Sep 15 2015 Matej Stuchlik mstuchli@redhat.com - 3.5.0-1 -- Update to 3.5.0 - -* Mon Jun 29 2015 Thomas Spura tomspur@fedoraproject.org - 3.4.3-4 -- python3-devel: Require python-macros for version independant macros such as - python_provide. See fpc#281 and fpc#534. - -* Thu Jun 18 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-4 -- Use 1024bit DH key in test_ssl -- Use -O0 when compiling -debug build -- Update pip version variable to the version we actually ship - -* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-3 -- Make relocating Python by changing _prefix actually work -Resolves: rhbz#1231801 - -* Mon May 4 2015 Peter Robinson pbrobinson@fedoraproject.org 3.4.3-2 -- Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches - -* Thu Mar 12 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-1 -- Updated to 3.4.3 -- BuildPython now accepts additional build options -- Temporarily disabled test_gdb on arm (rhbz#1196181) - -* Wed Feb 25 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.2-7 -- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64 - (http://bugs.python.org/issue23433) - -* Sat Feb 21 2015 Till Maas opensource@till.name - 3.4.2-6 -- Rebuilt for Fedora 23 Change - https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-ind... - -* Tue Feb 17 2015 Ville Skytt ville.skytta@iki.fi - 3.4.2-5 -- Own systemtap dirs (#710733) - -* Mon Jan 12 2015 Dan Hork <dan[at]danny.cz> - 3.4.2-4 -- build with valgrind on ppc64le -- disable test_gdb on s390(x) until rhbz#1181034 is resolved - -* Tue Dec 16 2014 Robert Kuska rkuska@redhat.com - 3.4.2-3 -- New patches: 170 (gc asserts), 200 (gettext headers), - 201 (gdbm memory leak) - -* Thu Dec 11 2014 Robert Kuska rkuska@redhat.com - 3.4.2-2 -- OpenSSL disabled SSLv3 in SSLv23 method - -* Thu Nov 13 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.2-1 -- Update to 3.4.2 -- Refreshed patches: 156 (gdb autoload) -- Removed: 195 (Werror declaration), 197 (CVE-2014-4650) - -* Mon Nov 03 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-16 -- Fix CVE-2014-4650 - CGIHTTPServer URL handling -Resolves: rhbz#1113529 - -* Sun Sep 07 2014 Karsten Hopp karsten@redhat.com 3.4.1-15 -- exclude test_gdb on ppc* (rhbz#1132488) - -* Thu Aug 21 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-14 -- Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1 - -* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 8 2014 Peter Robinson pbrobinson@fedoraproject.org 3.4.1-12 -- aarch64 has valgrind, just list those that don't support it - -* Sun Jun 08 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed Jun 04 2014 Karsten Hopp karsten@redhat.com 3.4.1-10 -- bump release and rebuild to link with the correct tcl/tk libs on ppcle - -* Tue Jun 03 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-9 -- Change paths to bundled projects in rewheel patch - -* Fri May 30 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-8 -- In config script, use uname -m to write the arch - -* Thu May 29 2014 Dan Hork <dan[at]danny.cz> - 3.4.1-7 -- update the arch list where valgrind exists - %%power64 includes also - ppc64le which is not supported yet - -* Thu May 29 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-6 -- Forward arguments to the arch specific config script -Resolves: rhbz#1102683 - -* Wed May 28 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-5 -- Rename python3.Xm-config script to arch specific. -Resolves: rhbz#1091815 - -* Tue May 27 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.1-4 -- Use python3-*, not python-* runtime requires on setuptools and pip -- rebuild for tcl-8.6 - -* Tue May 27 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-3 -- Update the rewheel module - -* Mon May 26 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-2 -- Fix multilib dependencies. -Resolves: rhbz#1091815 - -* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-1 -- Update to Python 3.4.1 - -* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-8 -- Fix test_gdb failure on ppc64le -Resolves: rhbz#1095355 - -* Thu May 22 2014 Miro Hronok mhroncok@redhat.com - 3.4.0-7 -- Add macro %%python3_version_nodots - -* Sun May 18 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-6 -- Disable test_faulthandler, test_gdb on aarch64 -Resolves: rhbz#1045193 - -* Fri May 16 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-5 -- Don't add Werror=declaration-after-statement for extension - modules through setup.py (PyBT#21121) - -* Mon May 12 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-4 -- Add setuptools and pip to Requires - -* Tue Apr 29 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-3 -- Point __os_install_post to correct brp-* files - -* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-2 -- Temporarily disable tests requiring SIGHUP (rhbz#1088233) - -* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-1 -- Update to Python 3.4 final -- Add patch adding the rewheel module -- Merge patches from master - -* Wed Jan 08 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b2 -- Update to Python 3.4 beta 2. -- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise) -- Dropped patches: 114 (statvfs constants), 177 (platform unicode) - -* Mon Nov 25 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b1 -- Update to Python 3.4 beta 1. -- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT -ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips), -157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port) -- Removed patch 00187 (remove pthread atfork; upstreamed) - -* Mon Nov 04 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.a4 -- Update to Python 3.4 alpha 4. -- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib), -114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in -test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise), -157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise -from py_compile) -- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in -Koji), 142 (the mock issue that caused this is fixed) -- Added patch 187 (remove thread atfork) - will be in next version -- Refreshed script for checking pyc and pyo timestamps with new ignored files. -- The fips patch is disabled for now until upstream makes a final decision -what to do with sha3 implementation for 3.4.0. - -* Wed Oct 30 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-7 -- Bytecompile all *.py files properly during build (rhbz#1023607) - -* Fri Aug 23 2013 Matej Stuchlik mstuchli@redhat.com - 3.3.2-6 -- Added fix for CVE-2013-4238 (rhbz#996399) - -* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-5 -- fix up indentation in arm patch - -* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-4 -- disable a test that fails on arm -- enable valgrind support on arm arches - -* Tue Jul 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-3 -- Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696). - -* Mon May 20 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-2 -- Add patch for CVE-2013-2099 (rhbz#963261). - -* Thu May 16 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-1 -- Updated to Python 3.3.2. -- Refreshed patches: 153 (gdb test noise) -- Dropped patches: 175 (configure -Wformat, fixed upstream), 182 (gdb -test threads) -- Synced patch numbers with python.spec. - -* Thu May 9 2013 David Malcolm dmalcolm@redhat.com - 3.3.1-4 -- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010) - -* Thu May 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-3 -- Add patch that enables building on ppc64p7 (replace the sed, so that -we get consistent with python2 spec and it's more obvious that we're doing it. - -* Wed Apr 24 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-2 -- Add fix for gdb tests failing on arm, rhbz#951802. - -* Tue Apr 09 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-1 -- Updated to Python 3.3.1. -- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips), -153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just -keeping few more downstream tests) -- Removed patches: 3 (audiotest.au made it to upstream tarball) -- Removed workaround for http://bugs.python.org/issue14774, discussed in -http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8. - -* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-10 -- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates - -* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-9 -- renumber patches to keep them in sync with python.spec - -* Fri Mar 15 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-8 -- Fix error in platform.platform() when non-ascii byte strings are decoded to - unicode (rhbz#922149) - -* Thu Mar 14 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-7 -- Fix up shared library extension (rhbz#889784) - -* Thu Mar 07 2013 Karsten Hopp karsten@redhat.com 3.3.0-6 -- add ppc64p7 build target, optimized for Power7 - -* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-5 -- add workaround for ENOPROTOOPT seen running selftests in Koji -(rhbz#913732) - -* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-4 -- remove config flag from /etc/rpm/macros.{python3|pybytecompile} - -* Mon Feb 11 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-3 -- add aarch64 (rhbz#909783) - -* Thu Nov 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-2 -- add BR on bluez-libs-devel (rhbz#879720) - -* Sat Sep 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-1 -- 3.3.0rc3 -> 3.3.0; drop alphatag - -* Mon Sep 24 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.6.rc3 -- 3.3.0rc2 -> 3.3.0rc3 - -* Mon Sep 10 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.5.rc2 -- 3.3.0rc1 -> 3.3.0rc2; refresh patch 55 - -* Mon Aug 27 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.4.rc1 -- 3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55 - -* Mon Aug 13 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.3.b2 -- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111, -134, 153, 160; regenenerate autotools patch; rework systemtap patch to work -correctly when LANG=C (patch 55); importlib.test was moved to -test.test_importlib upstream - -* Mon Aug 13 2012 Karsten Hopp karsten@redhat.com 3.3.0-0.2.b1 -- disable some failing checks on PPC* (rhbz#846849) - -* Fri Aug 3 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 -- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3 -- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream -patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from -configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326); -"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped -for stdlib (upstream issues 10645 and 12218); email/test moved to -test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add -_decimal and _lzma modules; make collections modules explicit in payload again -(upstream issue 11085); add _testbuffer module to tests subpackage (added in -upstream commit 3f9b3b6f7ff0); fix test failures (patches 160 and 161); -workaround erroneously shared _sysconfigdata.py upstream issue #14774; fix -distutils.sysconfig traceback (patch 162); add BuildRequires: xz-devel (for -_lzma module); skip some tests within test_socket (patch 163) - -* Sat Jul 21 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2.3-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Fri Jul 20 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 - -* Fri Jun 22 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-10 -- use macro for power64 (rhbz#834653) - -* Mon Jun 18 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-9 -- fix missing include in uid/gid handling patch (patch 157; rhbz#830405) - -* Wed May 30 2012 Bohuslav Kabrda bkabrda@redhat.com - 3.2.3-8 -- fix tapset for debug build - -* Tue May 15 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-7 -- update uid/gid handling to avoid int overflows seen with uid/gid -values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470) - -* Fri May 4 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-6 -- renumber autotools patch from 300 to 5000 -- specfile cleanups - -* Mon Apr 30 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-5 -- fix test_gdb.py (patch 156; rhbz#817072) - -* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-4 -- avoid allocating thunks in ctypes unless absolutely necessary, to avoid -generating SELinux denials on "import ctypes" and "import uuid" when embedding -Python within httpd (patch 155; rhbz#814391) - -* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-3 -- add explicit version requirements on expat to avoid linkage problems with -XML_SetHashSalt - -* Thu Apr 12 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-2 -- fix test_gdb (patch 153) - -* Wed Apr 11 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-1 -- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic -values), 149 (__pycache__ fix); add patch 152 (test_gdb regex) - -* Thu Feb 9 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-13 -- use newly installed python for byte compiling (now for real) - -* Sun Feb 5 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-12 -- use newly installed python for byte compiling (#787498) - -* Wed Jan 4 2012 Ville Skytt ville.skytta@iki.fi - 3.2.2-11 -- Build with $RPM_LD_FLAGS (#756863). -- Use xz-compressed source tarball. - -* Wed Dec 07 2011 Karsten Hopp karsten@redhat.com 3.2.2-10 -- disable rAssertAlmostEqual in test_cmath on PPC (#750811) - -* Mon Oct 17 2011 Rex Dieter rdieter@fedoraproject.org - 3.2.2-9 -- python3-devel missing autogenerated pkgconfig() provides (#746751) - -* Mon Oct 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-8 -- cherrypick fix for distutils not using __pycache__ when byte-compiling -files (rhbz#722578) - -* Fri Sep 30 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-7 -- re-enable gdbm (patch 148; rhbz#742242) - -* Fri Sep 16 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-6 -- add a sys._debugmallocstats() function (patch 147) - -* Wed Sep 14 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-5 -- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and -_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146) - -* Tue Sep 13 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-4 -- disable gdbm module to prepare for gdbm soname bump - -* Mon Sep 12 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-3 -- renumber and rename patches for consistency with python.spec (8 to 55, 106 -to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143) - -* Sat Sep 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-2 -- rewrite of "check", introducing downstream-only hooks for skipping specific -cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more -fine-grained manner than before; (patches 106, 133-142 sparsely, moving -patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141) - -* Tue Sep 6 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-1 -- 3.2.2 - -* Thu Sep 1 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-7 -- run selftests with "--verbose" -- disable parts of test_io on ppc (rhbz#732998) - -* Wed Aug 31 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-6 -- use "--findleaks --verbose3" when running test suite - -* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-5 -- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit -ppc to avoid aliasing violations (patch 130; rhbz#698726) - -* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-4 -- don't use --with-tsc on ppc64 debug builds (rhbz#698726) - -* Thu Aug 18 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-3 -- add %%python3_version to the rpm macros (rhbz#719082) - -* Mon Jul 11 2011 Dennis Gilmore dennis@ausil.us - 3.2.1-2 -- disable some tests on sparc arches - -* Mon Jul 11 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-1 -- 3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling -of static library build (due to Modules/_testembed; patch 6), autotool -intermediates (patch 300) - -* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-5 -- use the gdb hooks from the upstream tarball, rather than keeping our own copy - -* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-4 -- don't run test_openpty and test_pty in %%check - -* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-3 -- cleanup of BuildRequires; add comment headings to specfile sections - -* Tue Apr 19 2011 David Malcolm dmalcolm@redhat.com - 3.2-2 -- fix the libpython.stp systemtap tapset (rhbz#697730) - -* Mon Feb 21 2011 David Malcolm dmalcolm@redhat.com - 3.2-1 -- 3.2 -- drop alphatag -- regenerate autotool patch - -* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.13.rc3 -- add a /usr/bin/python3-debug symlink within the debug subpackage - -* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.12.rc3 -- 3.2rc3 -- regenerate autotool patch - -* Wed Feb 09 2011 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2-0.11.rc2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Jan 31 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.10.rc2 -- 3.2rc2 - -* Mon Jan 17 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.9.rc1 -- 3.2rc1 -- rework patch 6 (static lib removal) -- remove upstreamed patch 130 (ppc debug build) -- regenerate patch 300 (autotool intermediates) -- updated packaging to reflect upstream rewrite of "Demo" (issue 7962) -- added libpython3.so and 2to3-3.2 - -* Wed Jan 5 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.8.b2 -- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker -error with dynamic annotations (when configured using --with-valgrind) -- fix the ppc build of the debug configuration (patch 130; rhbz#661510) - -* Tue Jan 4 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.7.b2 -- add --with-valgrind to configuration (on architectures that support this) - -* Wed Dec 29 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.6.b2 -- work around test_subprocess failure seen in koji (patch 129) - -* Tue Dec 28 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.b2 -- 3.2b2 -- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs), -patch 8 (systemtap), patch 102 (lib64) -- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149), -patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar -fixed upstream) -- regenerate patch 300 (autotool intermediates) -- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127, -patch 128) -- stop using runtest.sh in %%check (dropped by upstream), replacing with -regrtest; fixup list of failing tests -- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros -- rework manifests of shared libraries to use "SOABI_" macros, reflecting -PEP 3149 -- drop itertools, operator and _collections modules from the manifests as py3k -commit r84058 moved these inside libpython; json/tests moved to test/json_tests -- move turtle code into the tkinter subpackage - -* Wed Nov 17 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.a1 -- fix sysconfig to not rely on the -devel subpackage (rhbz#653058) - -* Thu Sep 9 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.4.a1 -- move most of the content of the core package to the libs subpackage, given -that the libs aren't meaningfully usable without the standard libraries - -* Wed Sep 8 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.3.a1 -- Move test.support to core package (rhbz#596258) -- Add various missing __pycache__ directories to payload - -* Sun Aug 22 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.2-0.2.a1 -- Add __pycache__ directory for site-packages - -* Sun Aug 22 2010 Thomas Spura tomspur@fedoraproject.org - 3.2-0.1.a1 -- on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch) -- make find-provides-without-python-sonames.sh 64bit aware - -* Sat Aug 21 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.0.a1 -- 3.2a1; add alphatag -- rework %%files in the light of PEP 3147 (__pycache__) -- drop our configuration patch to Setup.dist (patch 0): setup.py should do a -better job of things, and the %%files explicitly lists our modules (r82746 -appears to break the old way of doing things). This leads to various modules -changing from "foomodule.so" to "foo.so". It also leads to the optimized build -dropping the _sha1, _sha256 and _sha512 modules, but these are provided by -_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for -testing/devel purposes) -- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase -- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat -plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983) -- add machinery for rebuilding "configure" and friends, using the correct -version of autoconf (patch 300) -- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125) -- "modulator" was removed upstream -- drop "-b" from patch applications affecting .py files to avoid littering the -installation tree - -* Thu Aug 19 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.1.2-13 -- Turn on computed-gotos. -- Fix for parallel make and graminit.c - -* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-12 -- rebuild - -* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-11 -- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to -a segfault running test_pyexpat.py (patch 110; upstream issue 9054; rhbz#610312) - -* Fri Jun 4 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-10 -- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819) -- reformat whitespace in audioop.c (patch 106) -- CVE-2010-1634: fix various integer overflow checks in the audioop -module (patch 107) -- CVE-2010-2089: further checks within the audioop module (patch 108) -- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 109) - -* Thu May 27 2010 Dan Hork <dan[at]danny.cz> - 3.1.2-9 -- reading the timestamp counter is available only on some arches (see Python/ceval.c) - -* Wed May 26 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-8 -- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os") -(patch 105) - -* Tue May 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-7 -- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options -(patch 104); enable them and the WITH_TSC option within the debug build - -* Mon May 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-6 -- build and install two different configurations of Python 3: debug and -standard, packaging the debug build in a new "python3-debug" subpackage -(patch 103) - -* Tue Apr 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-5 -- exclude test_http_cookies when running selftests, due to hang seen on -http://koji.fedoraproject.org/koji/taskinfo?taskID=2088463 (cancelled after -11 hours) -- update python-gdb.py from v5 to py3k version submitted upstream - -* Wed Mar 31 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-4 -- update python-gdb.py from v4 to v5 (improving performance and stability, -adding commands) - -* Thu Mar 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-3 -- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference -cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets -and exceptions) - -* Wed Mar 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-2 -- refresh gdb hooks to v3 (reworking how they are packaged) - -* Sun Mar 21 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-1 -- update to 3.1.2: http://www.python.org/download/releases/3.1.2/ -- drop upstreamed patch 2 (.pyc permissions handling) -- drop upstream patch 5 (fix for the test_tk and test_ttk_* selftests) -- drop upstreamed patch 200 (path-fixing script) - -* Sat Mar 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-28 -- fix typo in libpython.stp (rhbz:575336) - -* Fri Mar 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-27 -- add pyfuntop.stp example (source 7) -- convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for -consistency with python.spec - -* Mon Feb 15 2010 Thomas Spura tomspur@fedoraproject.org - 3.1.1-26 -- rebuild for new package of redhat-rpm-config (rhbz:564527) -- use 'install -p' when running 'make install' - -* Fri Feb 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-25 -- split configure options into multiple lines for easy of editing -- add systemtap static markers (wcohen, mjw, dmalcolm; patch 8), a systemtap -tapset defining "python.function.entry" and "python.function.return" to make -the markers easy to use (dmalcolm; source 5), and an example of using the -tapset to the docs (dmalcolm; source 6) (rhbz:545179) - -* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-24 -- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to -%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from -ldconfig (bug 562980), and which should also ensure it becomes part of the -debuginfo subpackage, rather than the libs subpackage -- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream -configure script, and to avoid fragile scripts that try to figure this out -dynamically (e.g. for the -gdb.py change) - -* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-23 -- add gdb hooks for easier debugging (Source 4) - -* Thu Jan 28 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-22 -- update python-3.1.1-config.patch to remove downstream customization of build -of pyexpat and elementtree modules -- add patch adapted from upstream (patch 7) to add support for building against -system expat; add --with-system-expat to "configure" invocation -- remove embedded copies of expat and zlib from source tree during "prep" - -* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-21 -- introduce %%{dynload_dir} macro -- explicitly list all lib-dynload files, rather than dynamically gathering the -payload into a temporary text file, so that we can be sure what we are -shipping -- introduce a macros.pybytecompile source file, to help with packaging python3 -modules (Source3; written by Toshio) -- rename "2to3-3" to "python3-2to3" to better reflect python 3 module packaging -plans - -* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-20 -- change python-3.1.1-config.patch to remove our downstream change to curses -configuration in Modules/Setup.dist, so that the curses modules are built using -setup.py with the downstream default (linking against libncursesw.so, rather -than libncurses.so), rather than within the Makefile; add a test to %%install -to verify the dso files that the curses module is linked against the correct -DSO (bug 539917; changes _cursesmodule.so -> _curses.so) - -* Fri Jan 22 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-19 -- add %%py3dir macro to macros.python3 (to be used during unified python 2/3 -builds for setting up the python3 copy of the source tree) - -* Wed Jan 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-18 -- move lib2to3 from -tools subpackage to main package (bug 556667) - -* Sun Jan 17 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-17 -- patch Makefile.pre.in to avoid building static library (patch 6, bug 556092) - -* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-16 -- use the %%{_isa} macro to ensure that the python-devel dependency on python -is for the correct multilib arch (#555943) -- delete bundled copy of libffi to make sure we use the system one - -* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-15 -- fix the URLs output by pydoc so they point at python.org's 3.1 build of the -docs, rather than the 2.6 build - -* Wed Jan 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-14 -- replace references to /usr with %%{_prefix}; replace references to -/usr/include with %%{_includedir} (Toshio) - -* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-13 -- fix permission on find-provides-without-python-sonames.sh from 775 to 755 - -* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-12 -- remove build-time requirements on tix and tk, since we already have -build-time requirements on the -devel subpackages for each of these (Thomas -Spura) -- replace usage of %%define with %%global (Thomas Spura) -- remove forcing of CC=gcc as this old workaround for bug 109268 appears to -longer be necessary -- move various test files from the "tools"/"tkinter" subpackages to the "test" -subpackage - -* Thu Jan 7 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-11 -- add %%check section (thanks to Thomas Spura) -- update patch 4 to use correct shebang line -- get rid of stray patch file from buildroot - -* Tue Nov 17 2009 Andrew McNabb amcnabb@mcnabbs.org - 3.1.1-10 -- switched a few instances of "find |xargs" to "find -exec" for consistency. -- made the description of __os_install_post more accurate. - -* Wed Nov 4 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-9 -- add macros.python3 to the -devel subpackage, containing common macros for use -when packaging python3 modules - -* Tue Nov 3 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-8 -- add a provides of "python(abi)" (see bug 532118) -- fix issues identified by a.badger in package review (bug 526126, comment 39): - - use "3" thoughout metadata, rather than "3.*" - - remove conditional around "pkg-config openssl" - - use standard cleanup of RPM_BUILD_ROOT - - replace hardcoded references to /usr with _prefix macro - - stop removing egg-info files - - use /usr/bin/python3.1 rather than /use/bin/env python3.1 when fixing -up shebang lines - - stop attempting to remove no-longer-present .cvsignore files - - move the post/postun sections above the "files" sections - -* Thu Oct 29 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-7 -- remove commented-away patch 51 (python-2.6-distutils_rpm.patch): the -O1 -flag is used by default in the upstream code -- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py -_init_posix(), so we include them in the core package, along with their parent -directories (bug 531901) - -* Tue Oct 27 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-6 -- reword description, based on suggestion by amcnabb -- fix the test_email and test_imp selftests (patch 3 and patch 4 respectively) -- fix the test_tk and test_ttk_* selftests (patch 5) -- fix up the specfile's handling of shebang/perms to avoid corrupting -test_httpservers.py (sed command suggested by amcnabb) - -* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-5 -- fixup importlib/_bootstrap.py so that it correctly handles being unable to -open .pyc files for writing (patch 2, upstream issue 7187) -- actually apply the rpath patch (patch 1) - -* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-4 -- update patch0's setup of the crypt module to link it against libcrypt -- update patch0 to comment "datetimemodule" back out, so that it is built -using setup.py (see Setup, option 3), thus linking it statically against -timemodule.c and thus avoiding a run-time "undefined symbol: -_PyTime_DoubleToTimet" failure on "import datetime" - -* Wed Oct 21 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-3 -- remove executable flag from various files that shouldn't have it -- fix end-of-line encodings -- fix a character encoding - -* Tue Oct 20 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-2 -- disable invocation of brp-python-bytecompile in postprocessing, since -it would be with the wrong version of python (adapted from ivazquez' -python3000 specfile) -- use a custom implementation of __find_provides in order to filter out bogus -provides lines for the various .so modules -- fixup distutils/unixccompiler.py to remove standard library path from rpath -(patch 1, was Patch0 in ivazquez' python3000 specfile) -- split out libraries into a -libs subpackage -- update summaries and descriptions, basing content on ivazquez' specfile -- fixup executable permissions on .py, .xpm and .xbm files, based on work in -ivazquez's specfile -- get rid of DOS batch files -- fixup permissions for shared libraries from non-standard 555 to standard 755 -- move /usr/bin/python*-config to the -devel subpackage -- mark various directories as being documentation - -* Thu Sep 24 2009 Andrew McNabb amcnabb@mcnabbs.org 3.1.1-1 -- Initial package for Python 3. -
commit b796d42367dc4156790921c699e482b3d38dbdc1 Merge: 13cea58 3dcd1e8 Author: Miro Hronok miro@hroncok.cz Date: Wed Feb 6 17:21:53 2019 +0100
Merge python38 from review request
https://bugzilla.redhat.com/show_bug.cgi?id=1672833
commit 13cea58a5cc47a3318ab3a999861fa522576e19c Author: Gwyn Ciesla limb@fedoraproject.org Date: Wed Feb 6 16:18:54 2019 +0000
Added the README
diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a3c78a --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# python38 + +The python38 package \ No newline at end of file
commit 3dcd1e8c08308e6f98071561a324124279951d69 Author: Miro Hronok miro@hroncok.cz Date: Tue Feb 5 12:35:53 2019 +0100
Make flat, rename to python38
diff --git a/python3.rpmlintrc b/python3.rpmlintrc deleted file mode 100644 index d59fe13..0000000 --- a/python3.rpmlintrc +++ /dev/null @@ -1,75 +0,0 @@ -# KNOWN BUGS: -# https://bugzilla.redhat.com/show_bug.cgi?id=1489816 -addFilter(r'crypto-policy-non-compliance-openssl') - - -# TESTS: -addFilter(r'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3.\d/test') - - -# OTHER DELIBERATES: -# chroot function -addFilter(r'missing-call-to-chdir-with-chroot') - -# intentionally unversioned and selfobsoleted -addFilter(r'unversioned-explicit-obsoletes python') -addFilter(r'self-obsoletion python3\d obsoletes python3\d') - -# intentionally hardcoded -addFilter(r'hardcoded-library-path in %{_prefix}/lib/(debug/%{_libdir}|python%{pybasever})') - -# intentional for our pythonXY package -addFilter(r'python3\d.[^:]+: (E|W): devel-file-in-non-devel-package') - -# we have non binary stuff, python files -addFilter(r'only-non-binary-in-usr-lib') - -# some devel files that are deliberately needed -addFilter(r'devel-file-in-non-devel-package /usr/include/python3.\dm/pyconfig-(32|64).h') -addFilter(r'devel-file-in-non-devel-package /usr/lib(64)?/python3.\d/distutils/tests/xxmodule.c') - - -# SORRY, NOT SORRY: -# manual pages -addFilter(r'no-manual-page-for-binary (idle|pydoc|pyvenv|2to3|python3-debug|pathfix|msgfmt|pygettext)') -addFilter(r'no-manual-page-for-binary python3.*-config$') -addFilter(r'no-manual-page-for-binary python3.\dd?m$') - -# missing documentation from subpackages -addFilter(r'^python3\d?-(debug|tkinter|test|idle).[^:]+: (E|W): no-documentation') - -# platform python is obsoleted, but not provided -addFilter(r'obsolete-not-provided platform-python') - - -# RPMLINT IMPERFECTIONS -# https://github.com/rpm-software-management/rpmlint/issues/123 -addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d (3.7), found 3393') -# https://github.com/rpm-software-management/rpmlint/pull/133 -addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d (3.7), found 3394') - -# https://bugzilla.redhat.com/show_bug.cgi?id=1550562 -# https://github.com/rpm-software-management/rpmlint/issues/128 -addFilter(r'python-bytecode-inconsistent-mtime .* 1970') - -# debugsource -addFilter(r'^python3\d?-debugsource.[^:]+: (E|W): no-documentation') - -# debuginfo -addFilter(r'^python3\d?-debuginfo.[^:]+: (E|W): useless-provides debuginfo(build-id)') - -# this is OK for F28+ -addFilter(r'library-without-ldconfig-post') - -# debug package contains devel and non-devel files -addFilter(r'python3\d?-debug.[^:]+: (E|W): (non-)?devel-file-in-(non-)?devel-package') - -# this goes to other subpackage, hence not actually dangling, the read error is bogus -addFilter(r'dangling-relative-symlink /usr/lib(64)?/pkgconfig/python-3.\ddm.pc python-3.\d.pc') -addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3.\ddm.pc [Errno 2]') - -# we need this macro to evaluate, even if the line starts with # -addFilter(r'macro-in-comment %{_pyconfig(32|64)_h}') - -# SPELLING ERRORS -addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ') diff --git a/python3.spec b/python3.spec deleted file mode 100644 index bb6d0a9..0000000 --- a/python3.spec +++ /dev/null @@ -1,2673 +0,0 @@ -# ================== -# Top-level metadata -# ================== - -%global pybasever 3.8 - -# pybasever without the dot: -%global pyshortver 38 - -Name: python3 -Summary: Interpreter of the Python programming language -URL: https://www.python.org/ - -# WARNING When rebasing to a new Python version, -# remember to update the python3-docs package as well -%global general_version %{pybasever}.0 -%global prerel a1 -%global upstream_version %{general_version}%{?prerel} -Version: %{general_version}%{?prerel:~%{prerel}} -Release: 1%{?dist} -License: Python - - -# ================================== -# Conditionals controlling the build -# ================================== - -# Note that the bcond macros are named for the CLI option they create. -# "%%bcond_without" means "ENABLE by default and create a --without option" - - -# Flat package, i.e. python36, python37, python38 for tox etc. -# warning: changes some other defaults -# in Fedora, never turn this on for the python3 package -# and always keep it on for python37 etc. -# WARNING: This does not change the package name and summary above -%bcond_with flatpackage - -# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package -# Uses upstream bundled prebuilt wheels otherwise -%bcond_without rpmwheels - -# Expensive optimizations (mainly, profile-guided optimizations) -%ifarch %{ix86} x86_64 -%bcond_without optimizations -%else -# On some architectures, the optimized build takes tens of hours, possibly -# longer than Koji's 24-hour timeout. Disable optimizations here. -%bcond_with optimizations -%endif - -# Run the test suite in %%check -%bcond_without tests - -# Extra build for debugging the interpreter or C-API extensions -# (the -debug subpackages) -%if %{with flatpackage} -%bcond_with debug_build -%else -%bcond_without debug_build -%endif - -# Support for the GDB debugger -%bcond_without gdb_hooks - -# The dbm.gnu module (key-value database) -%bcond_without gdbm - -# Main interpreter loop optimization -%bcond_without computed_gotos - -# Support for the Valgrind debugger/profiler -%ifarch %{valgrind_arches} -%bcond_without valgrind -%else -%bcond_with valgrind -%endif - - -# Notes from bootstraping Python 3.7: -# https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython - - -# ===================== -# General global macros -# ===================== - -%global pylibdir %{_libdir}/python%{pybasever} -%global dynload_dir %{pylibdir}/lib-dynload - -# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac -# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/ -%global ABIFLAGS_optimized m -%global ABIFLAGS_debug dm - -%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized} -%global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug} - -%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}-%{_arch}-linux%{_gnu} -%global SOABI_debug cpython-%{pyshortver}%{ABIFLAGS_debug}-%{_arch}-linux%{_gnu} - -# All bytecode files are in a __pycache__ subdirectory, with a name -# reflecting the version of the bytecode. -# See PEP 3147: http://www.python.org/dev/peps/pep-3147/ -# For example, -# foo/bar.py -# has bytecode at: -# foo/__pycache__/bar.cpython-%%{pyshortver}.pyc -# foo/__pycache__/bar.cpython-%%{pyshortver}.opt-1.pyc -# foo/__pycache__/bar.cpython-%%{pyshortver}.opt-2.pyc -%global bytecode_suffixes .cpython-%{pyshortver}*.pyc - -# Python's configure script defines SOVERSION, and this is used in the Makefile -# to determine INSTSONAME, the name of the libpython DSO: -# LDLIBRARY='libpython$(VERSION).so' -# INSTSONAME="$LDLIBRARY".$SOVERSION -# We mirror this here in order to make it easier to add the -gdb.py hooks. -# (if these get out of sync, the payload of the libs subpackage will fail -# and halt the build) -%global py_SOVERSION 1.0 -%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION} -%global py_INSTSONAME_debug libpython%{LDVERSION_debug}.so.%{py_SOVERSION} - -# Disable automatic bytecompilation. The python3 binary is not yet be -# available in /usr/bin when Python is built. Also, the bytecompilation fails -# on files that test invalid syntax. -%undefine py_auto_byte_compile - -# For multilib support, files that are different between 32- and 64-bit arches -# need different filenames. Use "64" or "32" according to the word size. -# Currently, the best way to determine an architecture's word size happens to -# be checking %%{_lib}. -%if "%{_lib}" == "lib64" -%global wordsize 64 -%else -%global wordsize 32 -%endif - - -# ======================= -# Build-time requirements -# ======================= - -# (keep this list alphabetized) - -BuildRequires: autoconf -BuildRequires: bluez-libs-devel -BuildRequires: bzip2 -BuildRequires: bzip2-devel -BuildRequires: desktop-file-utils -BuildRequires: expat-devel - -BuildRequires: findutils -BuildRequires: gcc-c++ -%if %{with gdbm} -BuildRequires: gdbm-devel -%endif -BuildRequires: glibc-all-langpacks -BuildRequires: glibc-devel -BuildRequires: gmp-devel -BuildRequires: libappstream-glib -BuildRequires: libffi-devel -BuildRequires: libnsl2-devel -BuildRequires: libtirpc-devel -BuildRequires: libGL-devel -BuildRequires: libuuid-devel -BuildRequires: libX11-devel -BuildRequires: ncurses-devel - -BuildRequires: openssl-devel -BuildRequires: pkgconfig -BuildRequires: readline-devel -BuildRequires: sqlite-devel -BuildRequires: gdb - -BuildRequires: tar -BuildRequires: tcl-devel -BuildRequires: tix-devel -BuildRequires: tk-devel - -%if %{with valgrind} -BuildRequires: valgrind-devel -%endif - -BuildRequires: xz-devel -BuildRequires: zlib-devel - -BuildRequires: /usr/bin/dtrace - -# workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig) -BuildRequires: /usr/sbin/ifconfig - -%if %{with rpmwheels} -BuildRequires: python-setuptools-wheel -BuildRequires: python-pip-wheel -%endif - - -# ======================= -# Source code and patches -# ======================= - -Source: https://www.python.org/ftp/python/%%7Bgeneral_version%7D/Python-%%7Bupstream... - -# A simple script to check timestamps of bytecode files -# Run in check section with Python that is currently being built -# Originally written by bkabrda -Source8: check-pyc-timestamps.py - -# Desktop menu entry for idle3 -Source10: idle3.desktop - -# AppData file for idle3 -Source11: idle3.appdata.xml - -# 00001 # -# Fixup distutils/unixccompiler.py to remove standard library path from rpath: -# Was Patch0 in ivazquez' python3000 specfile: -Patch1: 00001-rpath.patch - -# 00102 # -# Change the various install paths to use /usr/lib64/ instead or /usr/lib -# Only used when "%%{_lib}" == "lib64" -# Not yet sent upstream. -Patch102: 00102-lib64.patch - -# 00111 # -# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build -# a libpythonMAJOR.MINOR.a -# See https://bugzilla.redhat.com/show_bug.cgi?id=556092 -# Downstream only: not appropriate for upstream -Patch111: 00111-no-static-lib.patch - -# 00132 # -# Add non-standard hooks to unittest for use in the "check" phase below, when -# running selftests within the build: -# @unittest._skipInRpmBuild(reason) -# for tests that hang or fail intermittently within the build environment, and: -# @unittest._expectedFailureInRpmBuild -# for tests that always fail within the build environment -# -# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the -# environment, which we set manually in the appropriate portion of the "check" -# phase below (and which potentially other python-* rpms could set, to reuse -# these unittest hooks in their own "check" phases) -Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch - -# 00160 # -# Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the -# header files in the build chroot, but may not be supported in the running -# kernel, hence we disable this test in an rpm build. -# Adding these was upstream issue http://bugs.python.org/issue10142 -# Not yet sent upstream -Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch - -# 00163 # -# Some tests within test_socket fail intermittently when run inside Koji; -# disable them using unittest._skipInRpmBuild -# Not yet sent upstream -Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch - -# 00178 # -# Don't duplicate various FLAGS in sysconfig values -# http://bugs.python.org/issue17679 -# Does not affect python2 AFAICS (different sysconfig values initialization) -Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch - -# 00189 # -# Instead of bundled wheels, use our RPM packaged wheels from -# /usr/share/python-wheels -Patch189: 00189-use-rpm-wheels.patch - -# 00205 # -# LIBPL variable in makefile takes LIBPL from configure.ac -# but the LIBPL variable defined there doesn't respect libdir macro -Patch205: 00205-make-libpl-respect-lib64.patch - -# 00251 -# Set values of prefix and exec_prefix in distutils install command -# to /usr/local if executable is /usr/bin/python* and RPM build -# is not detected to make pip and distutils install into separate location -# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe -Patch251: 00251-change-user-install-location.patch - -# 00274 # -# Upstream uses Debian-style architecture naming. Change to match Fedora. -Patch274: 00274-fix-arch-names.patch - -# 00316 # -# We remove the exe files from distutil's bdist_wininst -# So we mark the command as unsupported - and the tests are skipped -Patch316: 00316-mark-bdist_wininst-unsupported.patch - -# (New patches go here ^^^) -# -# When adding new patches to "python" and "python3" in Fedora, EL, etc., -# please try to keep the patch numbers in-sync between all specfiles. -# -# More information, and a patch number catalog, is at: -# -# https://fedoraproject.org/wiki/SIGs/Python/PythonPatches - - -# ========================================== -# Descriptions, and metadata for subpackages -# ========================================== - -# People might want to dnf install pythonX.Y instead of pythonXY; -# we enable this in both flat and nonflat package. -Provides: python%{pybasever} = %{version}-%{release} - -%if %{without flatpackage} - -# Packages with Python modules in standard locations automatically -# depend on python(abi). Provide that here. -Provides: python(abi) = %{pybasever} - -Requires: %{name}-libs%{?_isa} = %{version}-%{release} - -# In order to support multiple Python interpreters for development purposes, -# packages with the naming scheme flatpackage (e.g. python35) exist for -# non-default versions of Python 3. -# For consistency, and to keep the upgrade path clean, we Provide/Obsolete -# these names here. -Provides: python%{pyshortver} = %{version}-%{release} -# Note that using Obsoletes without package version is not standard practice. -# Here we assert that *any* version of the system's default interpreter is -# preferable to an "extra" interpreter. For example, python3-3.6.1 will -# replace python36-3.6.2. -Obsoletes: python%{pyshortver} - -# Previously, this was required for our rewheel patch to work. -# This is technically no longer needed, but we keep it recommended -# for the developer experience. -Recommends: python3-setuptools -Recommends: python3-pip - -# This prevents ALL subpackages built from this spec to require -# /usr/bin/python3*. Granularity per subpackage is impossible. -# It's intended for the libs package not to drag in the interpreter, see -# https://bugzilla.redhat.com/show_bug.cgi?id=1547131 -# All others require %%{name} anyway. -%global __requires_exclude ^/usr/bin/python3 - - -# The description used both for the SRPM and the main `python3` subpackage: -%description -Python is an accessible, high-level, dynamically typed, interpreted programming -language, designed with an emphasis on code readability. -It includes an extensive standard library, and has a vast ecosystem of -third-party libraries. - -The %{name} package provides the "python3" executable: the reference -interpreter for the Python language, version 3. -The majority of its standard library is provided in the %{name}-libs package, -which should be installed automatically along with %{name}. -The remaining parts of the Python standard library are broken out into the -%{name}-tkinter and %{name}-test packages, which may need to be installed -separately. - -Documentation for Python is provided in the %{name}-docs package. - -Packages containing additional libraries for Python are generally named with -the "%{name}-" prefix. - - -%package libs -Summary: Python runtime libraries - -%if %{with rpmwheels} -Requires: python-setuptools-wheel -Requires: python-pip-wheel -%else -Provides: bundled(python3-pip) = 18.1 -Provides: bundled(python3-setuptools) = 40.6.2 -%endif - -# There are files in the standard library that have python shebang. -# We've filtered the automatic requirement out so libs are installable without -# the main package. This however makes it pulled in by default. -# See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 -Recommends: %{name}%{?_isa} = %{version}-%{release} - -%description libs -This package contains runtime libraries for use by Python: -- the majority of the Python standard library -- a dynamically linked library for use by applications that embed Python as - a scripting language, and by the main "python3" executable - - -%package devel -Summary: Libraries and header files needed for Python development -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -BuildRequires: python-rpm-macros -Requires: python-rpm-macros -Requires: python3-rpm-macros -Requires: python3-rpm-generators - -# This is not "API" (packages that need setuptools should still BuildRequire it) -# However some packages apparently can build both with and without setuptools -# producing egg-info as file or directory (depending on setuptools presence). -# Directory-to-file updates are problematic in RPM, so we ensure setuptools is -# installed when -devel is required. -# See https://bugzilla.redhat.com/show_bug.cgi?id=1623914 -# See https://fedoraproject.org/wiki/Packaging:Directory_Replacement -Requires: python3-setuptools - -# https://bugzilla.redhat.com/show_bug.cgi?id=1217376 -# https://bugzilla.redhat.com/show_bug.cgi?id=1496757 -# https://bugzilla.redhat.com/show_bug.cgi?id=1218294 -# TODO change to a specific subpackage once available (#1218294) -Requires: redhat-rpm-config - -Provides: %{name}-2to3 = %{version}-%{release} -Provides: 2to3 = %{version}-%{release} - -Conflicts: %{name} < %{version}-%{release} - -%description devel -This package contains the header files and configuration needed to compile -Python extension modules (typically written in C or C++), to embed Python -into other programs, and to make binary distributions for Python libraries. - -It also contains the necessary macros to build RPM packages with Python modules -and 2to3 tool, an automatic source converter from Python 2.X. - - -%package idle -Summary: A basic graphical development environment for Python -Requires: %{name} = %{version}-%{release} -Requires: %{name}-tkinter = %{version}-%{release} - -Provides: idle3 = %{version}-%{release} - -Provides: %{name}-tools = %{version}-%{release} -Provides: %{name}-tools%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-tools < %{version}-%{release} - -%description idle -IDLE is Pythons Integrated Development and Learning Environment. - -IDLE has the following features: Python shell window (interactive -interpreter) with colorizing of code input, output, and error messages; -multi-window text editor with multiple undo, Python colorizing, -smart indent, call tips, auto completion, and other features; -search within any window, replace within editor windows, and -search through multiple files (grep); debugger with persistent -breakpoints, stepping, and viewing of global and local namespaces; -configuration, browsers, and other dialogs. - - -%package tkinter -Summary: A GUI toolkit for Python -Requires: %{name} = %{version}-%{release} - -%description tkinter -The Tkinter (Tk interface) library is a graphical user interface toolkit for -the Python programming language. - - -%package test -Summary: The self-test suite for the main python3 package -Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} - -%description test -The self-test suite for the Python interpreter. - -This is only useful to test Python itself. For testing general Python code, -you should use the unittest module from %{name}-libs, or a library such as -%{name}-pytest or %{name}-nose. - - -%if %{with debug_build} -%package debug -Summary: Debug version of the Python runtime - -# The debug build is an all-in-one package version of the regular build, and -# shares the same .py/.pyc files and directories as the regular build. Hence -# we depend on all of the subpackages of the regular build: -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Requires: %{name}-test%{?_isa} = %{version}-%{release} -Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} -Requires: %{name}-idle%{?_isa} = %{version}-%{release} - -%description debug -python3-debug provides a version of the Python runtime with numerous debugging -features enabled, aimed at advanced Python users such as developers of Python -extension modules. - -This version uses more memory and will be slower than the regular Python build, -but is useful for tracking down reference-counting issues and other bugs. - -The bytecode format is unchanged, so that .pyc files are compatible between -this and the standard version of Python, but the debugging features mean that -C/C++ extension modules are ABI-incompatible and must be built for each version -separately. - -The debug build shares installation directories with the standard Python -runtime, so that .py and .pyc files can be shared. -Compiled extension modules use a special ABI flag ("d") in the filename, -so extensions for both versions can co-exist in the same directory. -%endif # with debug_build - -%else # with flatpackage - -Requires: redhat-rpm-config - -# We'll not provide this, on purpose -# No package in Fedora shall ever depend on flatpackage via this -%global __requires_exclude ^python\(abi\) = 3\..$ -%global __provides_exclude ^python\(abi\) = 3\..$ - -%if %{with rpmwheels} -Requires: python-setuptools-wheel -Requires: python-pip-wheel -%else -Provides: bundled(python3-pip) = 18.1 -Provides: bundled(python3-setuptools) = 40.6.2 -%endif - -# The description for the flat package -%description -Python %{pybasever} package for developers. - -This package exists to allow developers to test their code against a newer -version of Python. This is not a full Python stack and if you wish to run -your applications with Python %{pybasever}, update your Fedora to a newer -version once Python %{pybasever} is stable. - -%endif # with flatpackage - -# ====================================================== -# The prep phase of the build: -# ====================================================== - -%prep -%setup -q -n Python-%{upstream_version} -# Remove all exe files to ensure we are not shipping prebuilt binaries -# note that those are only used to create Microsoft Windows installers -# and that functionality is broken on Linux anyway -find -name '*.exe' -print -delete - -# Remove bundled libraries to ensure that we're using the system copy. -rm -r Modules/expat - -# -# Apply patches: -# -%patch1 -p1 - -%if "%{_lib}" == "lib64" -%patch102 -p1 -%endif -%patch111 -p1 -%patch132 -p1 -%patch160 -p1 -%patch163 -p1 -%patch178 -p1 - -%if %{with rpmwheels} -%patch189 -p1 -rm Lib/ensurepip/_bundled/*.whl -%endif - -%patch205 -p1 -%patch251 -p1 -%patch274 -p1 -%patch316 -p1 - - -# Remove files that should be generated by the build -# (This is after patching, so that we can use patches directly from upstream) -rm configure pyconfig.h.in - - -# ====================================================== -# Configuring and building the code: -# ====================================================== - -%build - -# Regenerate the configure script and pyconfig.h.in -autoconf -autoheader - -# Remember the current directory (which has sources and the configure script), -# so we can refer to it after we "cd" elsewhere. -topdir=$(pwd) - -# Get proper option names from bconds -%if %{with computed_gotos} -%global computed_gotos_flag yes -%else -%global computed_gotos_flag no -%endif - -%if %{with optimizations} -%global optimizations_flag "--enable-optimizations" -%else -%global optimizations_flag "--disable-optimizations" -%endif - -# Set common compiler/linker flags -export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" -export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" -export CPPFLAGS="$(pkg-config --cflags-only-I libffi)" -export OPT="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" -export LINKCC="gcc" -export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)" -export LDFLAGS="$RPM_LD_FLAGS -g $(pkg-config --libs-only-L openssl)" - -# We can build several different configurations of Python: regular and debug. -# Define a common function that does one build: -BuildPython() { - ConfName=$1 - ExtraConfigArgs=$2 - MoreCFlags=$3 - - # Each build is done in its own directory - ConfDir=build/$ConfName - echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName - mkdir -p $ConfDir - pushd $ConfDir - - # Normally, %%configure looks for the "configure" script in the current - # directory. - # Since we changed directories, we need to tell %%configure where to look. - %global _configure $topdir/configure - -%configure \ - --enable-ipv6 \ - --enable-shared \ - --with-computed-gotos=%{computed_gotos_flag} \ - --with-dbmliborder=gdbm:ndbm:bdb \ - --with-system-expat \ - --with-system-ffi \ - --enable-loadable-sqlite-extensions \ - --with-dtrace \ - --with-lto \ - --with-ssl-default-suites=openssl \ -%if %{with valgrind} - --with-valgrind \ -%endif - $ExtraConfigArgs \ - %{nil} - - # Invoke the build - make EXTRA_CFLAGS="$CFLAGS $MoreCFlags" %{?_smp_mflags} - - popd - echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfName -} - -# Call the above to build each configuration. - -%if %{with debug_build} -BuildPython debug \ - "--without-ensurepip --with-pydebug" \ - "-Og" -%endif # with debug_build - -BuildPython optimized \ - "--without-ensurepip %{optimizations_flag}" \ - "" - -# ====================================================== -# Installing the built code: -# ====================================================== - -%install - -# As in %%build, remember the current directory -topdir=$(pwd) - -# We install a collection of hooks for gdb that make it easier to debug -# executables linked against libpython3* (such as /usr/bin/python3 itself) -# -# These hooks are implemented in Python itself (though they are for the version -# of python that gdb is linked with) -# -# gdb-archer looks for them in the same path as the ELF file or its .debug -# file, with a -gdb.py suffix. -# We put them next to the debug file, because ldconfig would complain if -# it found non-library files directly in /usr/lib/ -# (see https://bugzilla.redhat.com/show_bug.cgi?id=562980) -# -# We'll put these files in the debuginfo package by installing them to e.g.: -# /usr/lib/debug/usr/lib/libpython3.2.so.1.0.debug-gdb.py -# (note that the debug path is /usr/lib/debug for both 32/64 bit) -# -# See https://fedoraproject.org/wiki/Features/EasierPythonDebugging for more -# information - -%if %{with gdb_hooks} -DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir} -mkdir -p %{buildroot}$DirHoldingGdbPy -%endif # with gdb_hooks - -# Multilib support for pyconfig.h -# 32- and 64-bit versions of pyconfig.h are different. For multilib support -# (making it possible to install 32- and 64-bit versions simultaneously), -# we need to install them under different filenames, and to make the common -# "pyconfig.h" include the right file based on architecture. -# See https://bugzilla.redhat.com/show_bug.cgi?id=192747 -# Filanames are defined here: -%global _pyconfig32_h pyconfig-32.h -%global _pyconfig64_h pyconfig-64.h -%global _pyconfig_h pyconfig-%{wordsize}.h - -# Use a common function to do an install for all our configurations: -InstallPython() { - - ConfName=$1 - PyInstSoName=$2 - MoreCFlags=$3 - LDVersion=$4 - - # Switch to the directory with this configuration's built files - ConfDir=build/$ConfName - echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName - mkdir -p $ConfDir - pushd $ConfDir - - make \ - DESTDIR=%{buildroot} \ - INSTALL="install -p" \ - EXTRA_CFLAGS="$MoreCFlags" \ - install - - popd - -%if %{with gdb_hooks} - # See comment on $DirHoldingGdbPy above - PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName-%{version}-%{release}.%{_arch}.debug-gdb.py - cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy -%endif # with gdb_hooks - - # Rename the -devel script that differs on different arches to arch specific name - mv %{buildroot}%{_bindir}/python${LDVersion}-{,`uname -m`-}config - echo -e '#!/bin/sh\nexec `dirname $0`/python'${LDVersion}'-`uname -m`-config "$@"' > \ - %{buildroot}%{_bindir}/python${LDVersion}-config - echo '[ $? -eq 127 ] && echo "Could not find python'${LDVersion}'-`uname -m`-config. Look around to see available arches." >&2' >> \ - %{buildroot}%{_bindir}/python${LDVersion}-config - chmod +x %{buildroot}%{_bindir}/python${LDVersion}-config - - # Make python3-devel multilib-ready - mv %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h \ - %{buildroot}%{_includedir}/python${LDVersion}/%{_pyconfig_h} - cat > %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h << EOF -#include <bits/wordsize.h> - -#if __WORDSIZE == 32 -#include "%{_pyconfig32_h}" -#elif __WORDSIZE == 64 -#include "%{_pyconfig64_h}" -#else -#error "Unknown word size" -#endif -EOF - - echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName -} - -# Install the "debug" build first; any common files will be overridden with -# later builds -%if %{with debug_build} -InstallPython debug \ - %{py_INSTSONAME_debug} \ - -O0 \ - %{LDVERSION_debug} -%endif # with debug_build - -# Now the optimized build: -InstallPython optimized \ - %{py_INSTSONAME_optimized} \ - "" \ - %{LDVERSION_optimized} - -# Install directories for additional packages -install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__ -%if "%{_lib}" == "lib64" -# The 64-bit version needs to create "site-packages" in /usr/lib/ (for -# pure-Python modules) as well as in /usr/lib64/ (for packages with extension -# modules). -# Note that rpmlint will complain about hardcoded library path; -# this is intentional. -install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__ -%endif - -%if %{without flatpackage} -# add idle3 to menu -install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png -install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png -install -D -m 0644 Lib/idlelib/Icons/idle_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/idle3.png -desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE10} - -# Install and validate appdata file -mkdir -p %{buildroot}%{_metainfodir} -cp -a %{SOURCE11} %{buildroot}%{_metainfodir} -appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml -%endif - -# Make sure distutils looks at the right pyconfig.h file -# See https://bugzilla.redhat.com/show_bug.cgi?id=201434 -# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate -# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py -# when python starts up (see https://bugzilla.redhat.com/show_bug.cgi?id=653058) -# -# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h -# variants: -sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \ - %{buildroot}%{pylibdir}/distutils/sysconfig.py \ - %{buildroot}%{pylibdir}/sysconfig.py - -# Install pathfix.py to bindir -# See https://github.com/fedora-python/python-rpm-porting/issues/24 -cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/ - -# Install i18n tools to bindir -# They are also in python2, so we version them -# https://bugzilla.redhat.com/show_bug.cgi?id=1571474 -for tool in pygettext msgfmt; do - cp -p Tools/i18n/${tool}.py %{buildroot}%{_bindir}/${tool}%{pybasever}.py - ln -s ${tool}%{pybasever}.py %{buildroot}%{_bindir}/${tool}3.py -done - -# Switch all shebangs to refer to the specific Python version. -# This currently only covers files matching ^[a-zA-Z0-9_]+.py$, -# so handle files named using other naming scheme separately. -LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \ - Tools/scripts/pathfix.py \ - -i "%{_bindir}/python%{pybasever}" -pn \ - %{buildroot} \ - %{buildroot}%{_bindir}/*%{pybasever}.py \ - %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py} - -# Remove tests for python3-tools which was removed in -# https://bugzilla.redhat.com/show_bug.cgi?id=1312030 -rm -rf %{buildroot}%{pylibdir}/test/test_tools - -# Remove shebang lines from .py files that aren't executable, and -# remove executability from .py files that don't have a shebang line: -find %{buildroot} -name *.py \ - ( ( ! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} ; \ - -print -exec sed -i '1d' {} ; ) -o ( \ - -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} ; \ - -exec chmod a-x {} ; ) ) - -# Get rid of DOS batch files: -find %{buildroot} -name *.bat -exec rm {} ; - -# Get rid of backup files: -find %{buildroot}/ -name "*~" -exec rm -f {} ; -find . -name "*~" -exec rm -f {} ; - -# Get rid of a stray copy of the license: -rm %{buildroot}%{pylibdir}/LICENSE.txt - -# Do bytecompilation with the newly installed interpreter. -# This is similar to the script in macros.pybytecompile -# compile *.pyc -find %{buildroot} -type f -a -name "*.py" -print0 | \ - LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ - PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ - 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:]]' || : - -# Since we have pathfix.py in bindir, this is created, but we don't want it -rm -rf %{buildroot}%{_bindir}/__pycache__ - -# Fixup permissions for shared libraries from non-standard 555 to standard 755: -find %{buildroot} -perm 555 -exec chmod 755 {} ; - -# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to -# avoid the user having to know the precise version and ABI flags. -# See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748 -%if %{with debug_build} && %{without flatpackage} -ln -s \ - %{_bindir}/python%{LDVERSION_debug} \ - %{buildroot}%{_bindir}/python3-debug -%endif - -# There's 2to3-X.X executable and 2to3 soft link to it. -# No reason to have both, so keep only 2to3 as an executable. -# See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 -mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3 - -%if %{with flatpackage} -# Remove stuff that would conflict with python3 package -rm %{buildroot}%{_bindir}/python3 -rm %{buildroot}%{_bindir}/pydoc3 -rm %{buildroot}%{_bindir}/pathfix.py -rm %{buildroot}%{_bindir}/pygettext3.py -rm %{buildroot}%{_bindir}/msgfmt3.py -rm %{buildroot}%{_bindir}/idle3 -rm %{buildroot}%{_bindir}/python3-* -rm %{buildroot}%{_bindir}/2to3 -rm %{buildroot}%{_libdir}/libpython3.so -rm %{buildroot}%{_mandir}/man1/python3.1* -rm %{buildroot}%{_libdir}/pkgconfig/python3.pc -%endif - - -# ====================================================== -# Checks for packaging issues -# ====================================================== - -%check - -# first of all, check timestamps of bytecode files -find %{buildroot} -type f -a -name "*.py" -print0 | \ - LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ - PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ - xargs -0 %{buildroot}%{_bindir}/python%{pybasever} %{SOURCE8} - -# Ensure that the curses module was linked against libncursesw.so, rather than -# libncurses.so -# See https://bugzilla.redhat.com/show_bug.cgi?id=539917 -ldd %{buildroot}/%{dynload_dir}/_curses*.so \ - | grep curses \ - | grep libncurses.so && (echo "_curses.so linked against libncurses.so" ; exit 1) - -# Ensure that the debug modules are linked against the debug libpython, and -# likewise for the optimized modules and libpython: -for Module in %{buildroot}/%{dynload_dir}/*.so ; do - case $Module in - *.%{SOABI_debug}) - ldd $Module | grep %{py_INSTSONAME_optimized} && - (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1) - - ;; - *.%{SOABI_optimized}) - ldd $Module | grep %{py_INSTSONAME_debug} && - (echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1) - ;; - esac -done - - -# ====================================================== -# Running the upstream test suite -# ====================================================== - -topdir=$(pwd) -CheckPython() { - ConfName=$1 - ConfDir=$(pwd)/build/$ConfName - - # Fedora sets TLSv1 as explicit minimum version. - # Python's test suite assumes that the minimum protocol version is set to - # a magic marker. We workaround the test problem by setting: - export OPENSSL_CONF=/non-existing-file - # https://bugzilla.redhat.com/show_bug.cgi?id=1618753 - - echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName - - # Note that we're running the tests using the version of the code in the - # builddir, not in the buildroot. - - # Show some info, helpful for debugging test failures - LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo - - # Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the - # our non-standard decorators take effect on the relevant tests: - # @unittest._skipInRpmBuild(reason) - # @unittest._expectedFailureInRpmBuild - WITHIN_PYTHON_RPM_BUILD= \ - LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ - -wW --slowest -j0 \ - -x test_distutils \ - -x test_bdist_rpm \ - -x test_gdb \ - %ifarch %{mips64} - -x test_ctypes \ - %endif - %ifarch ppc64le - -x test_buffer \ - %endif - - echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName - -} - -%if %{with tests} - -# Check each of the configurations: -%if %{with debug_build} -CheckPython debug -%endif # with debug_build -CheckPython optimized - -%endif # with tests - - -%files -%license LICENSE -%doc README.rst - -%if %{without flatpackage} -%{_bindir}/pydoc* -%{_bindir}/python3 -%else -%{_bindir}/pydoc%{pybasever} -%endif - -%{_bindir}/python%{pybasever} -%{_bindir}/python%{pybasever}m -%{_mandir}/*/* - - -%if %{without flatpackage} -%files libs -%license LICENSE -%doc README.rst -%endif - -%dir %{pylibdir} -%dir %{dynload_dir} - -%{pylibdir}/lib2to3 -%if %{without flatpackage} -%exclude %{pylibdir}/lib2to3/tests -%endif - -%dir %{pylibdir}/unittest/ -%dir %{pylibdir}/unittest/__pycache__/ -%{pylibdir}/unittest/*.py -%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/asyncio/ -%dir %{pylibdir}/asyncio/__pycache__/ -%{pylibdir}/asyncio/*.py -%{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/venv/ -%dir %{pylibdir}/venv/__pycache__/ -%{pylibdir}/venv/*.py -%{pylibdir}/venv/__pycache__/*%{bytecode_suffixes} -%{pylibdir}/venv/scripts - -%{pylibdir}/wsgiref -%{pylibdir}/xmlrpc - -%dir %{pylibdir}/ensurepip/ -%dir %{pylibdir}/ensurepip/__pycache__/ -%{pylibdir}/ensurepip/*.py -%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes} - -%if %{with rpmwheels} -%exclude %{pylibdir}/ensurepip/_bundled -%else -%dir %{pylibdir}/ensurepip/_bundled -%{pylibdir}/ensurepip/_bundled/*.whl -%endif - -# The majority of the test module lives in the test subpackage -# However test.support is in libs - it contains stuff used when testing your code -# https://bugzilla.redhat.com/show_bug.cgi?id=596258 -%if %{without flatpackage} -%dir %{pylibdir}/test/ -%dir %{pylibdir}/test/__pycache__/ -%dir %{pylibdir}/test/support/ -%dir %{pylibdir}/test/support/__pycache__/ -%{pylibdir}/test/__init__.py -%{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} -%{pylibdir}/test/support/*.py -%{pylibdir}/test/support/__pycache__/*%{bytecode_suffixes} -%endif - -%dir %{pylibdir}/concurrent/ -%dir %{pylibdir}/concurrent/__pycache__/ -%{pylibdir}/concurrent/*.py -%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/concurrent/futures/ -%dir %{pylibdir}/concurrent/futures/__pycache__/ -%{pylibdir}/concurrent/futures/*.py -%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes} - -%{pylibdir}/pydoc_data - -%{dynload_dir}/_blake2.%{SOABI_optimized}.so -%{dynload_dir}/_md5.%{SOABI_optimized}.so -%{dynload_dir}/_sha1.%{SOABI_optimized}.so -%{dynload_dir}/_sha256.%{SOABI_optimized}.so -%{dynload_dir}/_sha3.%{SOABI_optimized}.so -%{dynload_dir}/_sha512.%{SOABI_optimized}.so - -%{dynload_dir}/_asyncio.%{SOABI_optimized}.so -%{dynload_dir}/_bisect.%{SOABI_optimized}.so -%{dynload_dir}/_bz2.%{SOABI_optimized}.so -%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so -%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so -%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so -%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so -%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so -%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so -%{dynload_dir}/_contextvars.%{SOABI_optimized}.so -%{dynload_dir}/_crypt.%{SOABI_optimized}.so -%{dynload_dir}/_csv.%{SOABI_optimized}.so -%{dynload_dir}/_ctypes.%{SOABI_optimized}.so -%{dynload_dir}/_curses.%{SOABI_optimized}.so -%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so -%{dynload_dir}/_dbm.%{SOABI_optimized}.so -%{dynload_dir}/_decimal.%{SOABI_optimized}.so -%{dynload_dir}/_elementtree.%{SOABI_optimized}.so -%if %{with gdbm} -%{dynload_dir}/_gdbm.%{SOABI_optimized}.so -%endif -%{dynload_dir}/_hashlib.%{SOABI_optimized}.so -%{dynload_dir}/_heapq.%{SOABI_optimized}.so -%{dynload_dir}/_json.%{SOABI_optimized}.so -%{dynload_dir}/_lsprof.%{SOABI_optimized}.so -%{dynload_dir}/_lzma.%{SOABI_optimized}.so -%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so -%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so -%{dynload_dir}/_opcode.%{SOABI_optimized}.so -%{dynload_dir}/_pickle.%{SOABI_optimized}.so -%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so -%{dynload_dir}/_queue.%{SOABI_optimized}.so -%{dynload_dir}/_random.%{SOABI_optimized}.so -%{dynload_dir}/_socket.%{SOABI_optimized}.so -%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so -%{dynload_dir}/_ssl.%{SOABI_optimized}.so -%{dynload_dir}/_struct.%{SOABI_optimized}.so -%{dynload_dir}/array.%{SOABI_optimized}.so -%{dynload_dir}/audioop.%{SOABI_optimized}.so -%{dynload_dir}/binascii.%{SOABI_optimized}.so -%{dynload_dir}/cmath.%{SOABI_optimized}.so -%{dynload_dir}/_datetime.%{SOABI_optimized}.so -%{dynload_dir}/fcntl.%{SOABI_optimized}.so -%{dynload_dir}/grp.%{SOABI_optimized}.so -%{dynload_dir}/math.%{SOABI_optimized}.so -%{dynload_dir}/mmap.%{SOABI_optimized}.so -%{dynload_dir}/nis.%{SOABI_optimized}.so -%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so -%{dynload_dir}/parser.%{SOABI_optimized}.so -%{dynload_dir}/_posixshmem.%{SOABI_optimized}.so -%{dynload_dir}/pyexpat.%{SOABI_optimized}.so -%{dynload_dir}/readline.%{SOABI_optimized}.so -%{dynload_dir}/resource.%{SOABI_optimized}.so -%{dynload_dir}/select.%{SOABI_optimized}.so -%{dynload_dir}/spwd.%{SOABI_optimized}.so -%{dynload_dir}/syslog.%{SOABI_optimized}.so -%{dynload_dir}/termios.%{SOABI_optimized}.so -%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so -%{dynload_dir}/unicodedata.%{SOABI_optimized}.so -%{dynload_dir}/_uuid.%{SOABI_optimized}.so -%{dynload_dir}/xxlimited.%{SOABI_optimized}.so -%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so -%{dynload_dir}/zlib.%{SOABI_optimized}.so - -%dir %{pylibdir}/site-packages/ -%dir %{pylibdir}/site-packages/__pycache__/ -%{pylibdir}/site-packages/README.txt -%{pylibdir}/*.py -%dir %{pylibdir}/__pycache__/ -%{pylibdir}/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/collections/ -%dir %{pylibdir}/collections/__pycache__/ -%{pylibdir}/collections/*.py -%{pylibdir}/collections/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/ctypes/ -%dir %{pylibdir}/ctypes/__pycache__/ -%{pylibdir}/ctypes/*.py -%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes} -%{pylibdir}/ctypes/macholib - -%{pylibdir}/curses - -%dir %{pylibdir}/dbm/ -%dir %{pylibdir}/dbm/__pycache__/ -%{pylibdir}/dbm/*.py -%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/distutils/ -%dir %{pylibdir}/distutils/__pycache__/ -%{pylibdir}/distutils/*.py -%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes} -%{pylibdir}/distutils/README -%{pylibdir}/distutils/command - -%dir %{pylibdir}/email/ -%dir %{pylibdir}/email/__pycache__/ -%{pylibdir}/email/*.py -%{pylibdir}/email/__pycache__/*%{bytecode_suffixes} -%{pylibdir}/email/mime -%doc %{pylibdir}/email/architecture.rst - -%{pylibdir}/encodings - -%{pylibdir}/html -%{pylibdir}/http - -%dir %{pylibdir}/importlib/ -%dir %{pylibdir}/importlib/__pycache__/ -%{pylibdir}/importlib/*.py -%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes} - -%dir %{pylibdir}/json/ -%dir %{pylibdir}/json/__pycache__/ -%{pylibdir}/json/*.py -%{pylibdir}/json/__pycache__/*%{bytecode_suffixes} - -%{pylibdir}/logging -%{pylibdir}/multiprocessing - -%dir %{pylibdir}/sqlite3/ -%dir %{pylibdir}/sqlite3/__pycache__/ -%{pylibdir}/sqlite3/*.py -%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes} - -%if %{without flatpackage} -%exclude %{pylibdir}/turtle.py -%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} -%endif - -%{pylibdir}/urllib -%{pylibdir}/xml - -%if "%{_lib}" == "lib64" -%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever} -%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages -%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages/__pycache__/ -%endif - -# "Makefile" and the config-32/64.h file are needed by -# distutils/sysconfig.py:_init_posix(), so we include them in the core -# package, along with their parent directories (bug 531901): -%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/ -%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile -%dir %{_includedir}/python%{LDVERSION_optimized}/ -%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} - -%{_libdir}/%{py_INSTSONAME_optimized} -%if %{without flatpackage} -%{_libdir}/libpython3.so -%endif - - -%if %{without flatpackage} -%files devel -%{_bindir}/2to3 -%endif - -%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/* -%if %{without flatpackage} -%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile -%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} -%endif -%{_includedir}/python%{LDVERSION_optimized}/*.h -%{_includedir}/python%{LDVERSION_optimized}/internal/ -%{_includedir}/python%{LDVERSION_optimized}/cpython/ -%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit - -%if %{without flatpackage} -%{_bindir}/python3-config -%{_libdir}/pkgconfig/python3.pc -%{_bindir}/pathfix.py -%{_bindir}/pygettext3.py -%{_bindir}/msgfmt3.py -%endif - -%{_bindir}/pygettext%{pybasever}.py -%{_bindir}/msgfmt%{pybasever}.py - -%{_bindir}/python%{pybasever}-config -%{_bindir}/python%{LDVERSION_optimized}-config -%{_bindir}/python%{LDVERSION_optimized}-*-config -%{_libdir}/libpython%{LDVERSION_optimized}.so -%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc -%{_libdir}/pkgconfig/python-%{pybasever}.pc - - -%if %{without flatpackage} -%files idle - -%{_bindir}/idle* -%else -%{_bindir}/idle%{pybasever} -%endif - -%{pylibdir}/idlelib - -%if %{without flatpackage} -%{_metainfodir}/idle3.appdata.xml -%{_datadir}/applications/idle3.desktop -%{_datadir}/icons/hicolor/*/apps/idle3.* -%endif - -%if %{without flatpackage} -%files tkinter -%endif - -%{pylibdir}/tkinter -%if %{without flatpackage} -%exclude %{pylibdir}/tkinter/test -%endif -%{dynload_dir}/_tkinter.%{SOABI_optimized}.so -%{pylibdir}/turtle.py -%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} -%dir %{pylibdir}/turtledemo -%{pylibdir}/turtledemo/*.py -%{pylibdir}/turtledemo/*.cfg -%dir %{pylibdir}/turtledemo/__pycache__/ -%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes} - - -%if %{without flatpackage} -%files test -%endif - -%{pylibdir}/ctypes/test -%{pylibdir}/distutils/tests -%{pylibdir}/sqlite3/test -%{pylibdir}/test -%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so -%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so -%{dynload_dir}/_testcapi.%{SOABI_optimized}.so -%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so -%{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so -%{pylibdir}/lib2to3/tests -%{pylibdir}/tkinter/test -%{pylibdir}/unittest/test - -# stuff already owned by the libs subpackage -# test requires libs, so we are safe not owning those dirs -%if %{without flatpackage} -%exclude %dir %{pylibdir}/test/ -%exclude %dir %{pylibdir}/test/__pycache__/ -%exclude %{pylibdir}/test/__init__.py -%exclude %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} -%exclude %{pylibdir}/test/support/ -%endif - -# We don't bother splitting the debug build out into further subpackages: -# if you need it, you're probably a developer. - -# Hence the manifest is the combination of analogous files in the manifests of -# all of the other subpackages - -%if %{with debug_build} -%if %{without flatpackage} -%files debug -%{_bindir}/python3-debug -%endif - -# Analog of the core subpackage's files: -%{_bindir}/python%{LDVERSION_debug} - -# Analog of the -libs subpackage's files: -# ...with debug builds of the built-in "extension" modules: - -%{dynload_dir}/_blake2.%{SOABI_debug}.so -%{dynload_dir}/_md5.%{SOABI_debug}.so -%{dynload_dir}/_sha1.%{SOABI_debug}.so -%{dynload_dir}/_sha256.%{SOABI_debug}.so -%{dynload_dir}/_sha3.%{SOABI_debug}.so -%{dynload_dir}/_sha512.%{SOABI_debug}.so - -%{dynload_dir}/_asyncio.%{SOABI_debug}.so -%{dynload_dir}/_bisect.%{SOABI_debug}.so -%{dynload_dir}/_bz2.%{SOABI_debug}.so -%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so -%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so -%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so -%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so -%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so -%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so -%{dynload_dir}/_contextvars.%{SOABI_debug}.so -%{dynload_dir}/_crypt.%{SOABI_debug}.so -%{dynload_dir}/_csv.%{SOABI_debug}.so -%{dynload_dir}/_ctypes.%{SOABI_debug}.so -%{dynload_dir}/_curses.%{SOABI_debug}.so -%{dynload_dir}/_curses_panel.%{SOABI_debug}.so -%{dynload_dir}/_dbm.%{SOABI_debug}.so -%{dynload_dir}/_decimal.%{SOABI_debug}.so -%{dynload_dir}/_elementtree.%{SOABI_debug}.so -%if %{with gdbm} -%{dynload_dir}/_gdbm.%{SOABI_debug}.so -%endif -%{dynload_dir}/_hashlib.%{SOABI_debug}.so -%{dynload_dir}/_heapq.%{SOABI_debug}.so -%{dynload_dir}/_json.%{SOABI_debug}.so -%{dynload_dir}/_lsprof.%{SOABI_debug}.so -%{dynload_dir}/_lzma.%{SOABI_debug}.so -%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so -%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so -%{dynload_dir}/_opcode.%{SOABI_debug}.so -%{dynload_dir}/_pickle.%{SOABI_debug}.so -%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so -%{dynload_dir}/_queue.%{SOABI_debug}.so -%{dynload_dir}/_random.%{SOABI_debug}.so -%{dynload_dir}/_socket.%{SOABI_debug}.so -%{dynload_dir}/_sqlite3.%{SOABI_debug}.so -%{dynload_dir}/_ssl.%{SOABI_debug}.so -%{dynload_dir}/_struct.%{SOABI_debug}.so -%{dynload_dir}/array.%{SOABI_debug}.so -%{dynload_dir}/audioop.%{SOABI_debug}.so -%{dynload_dir}/binascii.%{SOABI_debug}.so -%{dynload_dir}/cmath.%{SOABI_debug}.so -%{dynload_dir}/_datetime.%{SOABI_debug}.so -%{dynload_dir}/fcntl.%{SOABI_debug}.so -%{dynload_dir}/grp.%{SOABI_debug}.so -%{dynload_dir}/math.%{SOABI_debug}.so -%{dynload_dir}/mmap.%{SOABI_debug}.so -%{dynload_dir}/nis.%{SOABI_debug}.so -%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so -%{dynload_dir}/parser.%{SOABI_debug}.so -%{dynload_dir}/_posixshmem.%{SOABI_debug}.so -%{dynload_dir}/pyexpat.%{SOABI_debug}.so -%{dynload_dir}/readline.%{SOABI_debug}.so -%{dynload_dir}/resource.%{SOABI_debug}.so -%{dynload_dir}/select.%{SOABI_debug}.so -%{dynload_dir}/spwd.%{SOABI_debug}.so -%{dynload_dir}/syslog.%{SOABI_debug}.so -%{dynload_dir}/termios.%{SOABI_debug}.so -%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so -%{dynload_dir}/unicodedata.%{SOABI_debug}.so -%{dynload_dir}/_uuid.%{SOABI_debug}.so -%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so -%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so -%{dynload_dir}/zlib.%{SOABI_debug}.so - -# No need to split things out the "Makefile" and the config-32/64.h file as we -# do for the regular build above (bug 531901), since they're all in one package -# now; they're listed below, under "-devel": - -%{_libdir}/%{py_INSTSONAME_debug} - -# Analog of the -devel subpackage's files: -%{pylibdir}/config-%{LDVERSION_debug}-%{_arch}-linux%{_gnu} -%{_includedir}/python%{LDVERSION_debug} -%{_bindir}/python%{LDVERSION_debug}-config -%{_bindir}/python%{LDVERSION_debug}-*-config -%{_libdir}/libpython%{LDVERSION_debug}.so -%{_libdir}/libpython%{LDVERSION_debug}.so.1.0 -%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc - -# Analog of the -tools subpackage's files: -# None for now; we could build precanned versions that have the appropriate -# shebang if needed - -# Analog of the tkinter subpackage's files: -%{dynload_dir}/_tkinter.%{SOABI_debug}.so - -# Analog of the -test subpackage's files: -%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so -%{dynload_dir}/_testbuffer.%{SOABI_debug}.so -%{dynload_dir}/_testcapi.%{SOABI_debug}.so -%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so - -%endif # with debug_build - -# We put the debug-gdb.py file inside /usr/lib/debug to avoid noise from ldconfig -# See https://bugzilla.redhat.com/show_bug.cgi?id=562980 -# -# The /usr/lib/rpm/redhat/macros defines %%__debug_package to use -# debugfiles.list, and it appears that everything below /usr/lib/debug and -# (/usr/src/debug) gets added to this file (via LISTFILES) in -# /usr/lib/rpm/find-debuginfo.sh -# -# Hence by installing it below /usr/lib/debug we ensure it is added to the -# -debuginfo subpackage -# (if it doesn't, then the rpmbuild ought to fail since the debug-gdb.py -# payload file would be unpackaged) - -# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1476593 -%undefine _debuginfo_subpackages - -# ====================================================== -# Finally, the changelog: -# ====================================================== - -%changelog -* Tue Feb 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-1 -- Update to 3.8.0a1 - -* Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 3.7.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 16 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-4 -- Security fix for CVE-2019-5010 (#1666519, #1666522) - -* Mon Jan 14 2019 Bjrn Esser besser82@fedoraproject.org - 3.7.2-3 -- Rebuilt for libcrypt.so.2 (#1666033) - -* Fri Jan 04 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-2 -- No longer revert upstream commit 3b699932e5ac3e7 -- This was a dirty workaround for (#1644936) - -* Tue Dec 25 2018 Miro Hronok mhroncok@redhat.com - 3.7.2-1 -- Update to 3.7.2 - -* Fri Dec 07 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-5 -- Make sure we don't ship any exe files (not needed an prebuilt) - -* Wed Nov 21 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-4 -- Make sure the entire test.support module is in python3-libs (#1651245) - -* Tue Nov 06 2018 Victor Stinner vstinner@redhat.com - 3.7.1-3 -- Verify the value of '-s' when execute the CLI of cProfile (rhbz#1160640) - -* Sun Nov 04 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-2 -- Temporarily revert upstream commit 3b699932e5ac3e7 -- This is dirty workaround for (#1644936) - -* Mon Oct 22 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-1 -- Update to 3.7.1 - -* Thu Sep 27 2018 Petr Viktorin pviktori@redhat.com - 3.7.0-10 -- Compile the debug build with -Og rather than -O0 - -* Thu Aug 30 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-9 -- Require python3-setuptools from python3-devel to prevent packaging errors (#1623914) - -* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-8 -- Add /usr/bin/pygettext3.py and msgfmt3.py to python3-devel -Resolves: rhbz#1571474 - -* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-7 -- Backport TLS 1.3 related fixes to fix FTBFS -Resolves: rhbz#1609291 - -* Wed Aug 15 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-6 -- Use RPM built wheels of pip and setuptools in ensurepip instead of our rewheel patch - -* Fri Aug 10 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-5 -- Fix wrong requirement on gdbm - -* Fri Jul 20 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-4 -- Allow to call Py_Main() after Py_Initialize() -Resolves: rhbz#1595421 - -* Sat Jul 14 2018 Fedora Release Engineering releng@fedoraproject.org - 3.7.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jul 12 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-2 -- Rebuild for new gdbm - -* Wed Jun 27 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-1 -- Update to 3.7.0 final - -* Wed Jun 13 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.21.rc1 -- Finish bootstrapping, enable rewheel, tests, optimizations - -* Tue Jun 12 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.20.rc1 -- Update to 3.7.0rc1 -- Bootstrap, disable rewheel, tests, optimizations - -* Mon Apr 23 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-4 -- Fix multiprocessing regression on newer glibcs -- Enable test_multiprocessing_fork(server) and _spawn again -Resolves: rhbz#1569933 - -* Thu Apr 19 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-3 -- Skip test_multiprocessing_fork(server) and _spawn for now - -* Wed Apr 18 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-2 -- Add flatpackage conditionals - -* Thu Mar 29 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.5-1 -- Update to 3.6.5 - -* Sat Mar 24 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-20 -- Fix broken macro invocation and broken building of C Python extensions -Resolves: rhbz#1560103 - -* Fri Mar 16 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-19 -- Add -n option for pathfix.py -Resolves: rhbz#1546990 - -* Thu Mar 15 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-18 -- Fix the py_byte_compile macro to work on Python 2 -- Remove the pybytecompile macro file from the flat package -Resolves: rhbz#1484993 - -* Tue Mar 13 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-17 -- Do not send IP addresses in SNI TLS extension - -* Sat Feb 24 2018 Florian Weimer fweimer@redhat.com - 3.6.4-16 -- Rebuild with new LDFLAGS from redhat-rpm-config - -* Wed Feb 21 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-15 -- Filter out automatic /usr/bin/python3.X requirement, - recommend the main package from libs instead -Resolves: rhbz#1547131 - -* Thu Feb 15 2018 Iryna Shcherbina ishcherb@redhat.com - 3.6.4-14 -- Remove the python3-tools package (#rhbz 1312030) -- Move /usr/bin/2to3 to python3-devel -- Move /usr/bin/idle and idlelib to python3-idle -- Provide python3-tools from python3-idle - -* Fri Feb 09 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-13 -- Escape macros in %%changelog - -* Fri Feb 02 2018 Michal Cyprian mcyprian@redhat.com - 3.6.4-12 -- Remove sys.executable check from change-user-install-location patch -Resolves: rhbz#1532287 - -* Thu Feb 01 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-11 -- Define TLS cipher suite on build time. - -* Wed Jan 31 2018 Tomas Orsava torsava@redhat.com - 3.6.4-10 -- Disable test_gdb for all arches and test_buffer for ppc64le in anticipation - of the F28 mass rebuild -- Re-enable these tests after the mass rebuild when they can be properly - addressed - -* Tue Jan 23 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-9 -- Restore the PyExc_RecursionErrorInst public symbol - -* Tue Jan 23 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-8 -- Add patch to explicitly link _ctypes module with -ldl (#1537489) -- Refactored patch for libxcrypt -- Re-enable strict symbol checks in the link editor - -* Mon Jan 22 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-7 -- Add patch for libxcrypt -- Disable strict symbol checks in the link editor - -* Sat Jan 20 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-6 -- Rebuilt for switch to libxcrypt - -* Fri Jan 19 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-5 -- Fix localeconv() encoding for LC_NUMERIC - -* Thu Jan 18 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-4 -- R: gdbm-devel R: gdbm for python3-libs - -* Wed Jan 17 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-3 -- Require large enough gdbm (fixup for previous bump) - -* Tue Jan 16 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-2 -- Rebuild for reverted gdbm 1.13 on Fedora 27 - -* Mon Jan 15 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-1 -- Update to version 3.6.4 - -* Fri Jan 12 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.3-5 -- Fix the compilation of the nis module. - -* Tue Nov 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-4 -- Raise the release of platform-python obsoletes for better maintainability - -* Wed Nov 15 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-3 -- Obsolete platform-python and it's subpackages - -* Mon Oct 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-2 -- Fix memory corruption due to allocator mix -Resolves: rhbz#1498207 - -* Fri Oct 06 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-1 -- Update to Python 3.6.3 - -* Fri Sep 29 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-19 -- Move pathfix.py to bindir, https://github.com/fedora-python/python-rpm-porting/issues/24 -- Make the -devel package require redhat-rpm-config -Resolves: rhbz#1496757 - -* Wed Sep 13 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-18 -- Fix /usr/bin/env dependency from python3-tools -Resolves: rhbz#1482118 - -* Wed Sep 06 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-17 -- Include `-g` in the flags sent to the linker (LDFLAGS) -Resolves: rhbz#1483222 - -* Tue Sep 05 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-16 -- Specfile cleanup -- Make the main description also applicable to the SRPM -- Add audiotest.au to the test package - -* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-15 -- Remove %%{pylibdir}/Tools/scripts/2to3 - -* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-14 -- Expat >= 2.1.0 is everywhere, remove explicit requires -- Conditionalize systemtap-devel BuildRequires -- For consistency, require /usr/sbin/ifconfig instead of net-tools - -* Mon Aug 28 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-13 -- Rename patch files to be consistent -- Run autotools to generate the configure script before building -- Merge lib64 patches (104 into 102) -- Skip test_bdist_rpm using test config rather than a patch (removes patch 137) -- Remove patches 157 and 186, which had test changes left over after upstreaming -- Remove patch 188, a temporary workaround for hashlib tests -- Merge patches 180, 206, 243, 5001 (architecture naming) into new patch 274 -- Move python2-tools conflicts to tools subpackage (it was wrongly in tkinter) - -* Mon Aug 28 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-12 -- Use python3 style of calling super() without arguments in rpath - patch to prevent recursion in UnixCCompiler subclasses -Resolves: rhbz#1458122 - -* Mon Aug 21 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-11 -- Add bcond for --without optimizations -- Reword package descriptions -- Remove Group declarations -- Skip failing test_float_with_comma - -* Mon Aug 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-10 -- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack - -* Wed Aug 16 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-9 -- Use bconds for configuring the build -- Reorganize the initial sections - -* Wed Aug 16 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-8 -- Have /usr/bin/2to3 (rhbz#1111275) -- Provide 2to3 and idle3, list them in summary and description (rhbz#1076401) - -* Fri Aug 11 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-7 -- Revert "Add --executable option to install.py command" - This enhancement is currently not needed and it can possibly - collide with `pip --editable`option - -* Mon Aug 07 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-6 -- Fix the "urllib FTP protocol stream injection" vulnerability -Resolves: rhbz#1478916 - -* Tue Aug 01 2017 Tomas Orsava torsava@redhat.com - 3.6.2-5 -- Dropped BuildRequires on db4-devel which was useful for Python 2 (module - bsddb), however, no longer needod for Python 3 -- Tested building Python 3 with and without the dependency, all tests pass and - filelists of resulting RPMs are identical - -* Sun Jul 30 2017 Florian Weimer fweimer@redhat.com - 3.6.2-4 -- Do not generate debuginfo subpackages (#1476593) -- Rebuild with binutils fix for ppc64le (#1475636) - -* Thu Jul 27 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jul 25 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-2 -- Make test_asyncio to not depend on the current SIGHUP signal handler. - -* Tue Jul 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-1 -- Update to Python 3.6.2 - -* Tue Jun 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-10 -- Update to the latest upstream implementation of PEP 538 - -* Mon Jun 26 2017 Michal Cyprian mcyprian@redhat.com - 3.6.1-9 -- Make pip and distutils in user environment install into separate location - -* Fri Jun 23 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-8 -- Fix test_alpn_protocols from test_ssl -- Do not require rebundled setuptools dependencies - -* Tue May 16 2017 Tomas Orsava torsava@redhat.com - 3.6.1-7 -- Added a dependency to the devel subpackage on python3-rpm-generators which - have been excised out of rpm-build -- Updated notes on bootstrapping Python on top of this specfile accordingly -- Involves: rhbz#1410631, rhbz#1444925 - -* Tue May 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-6 -- Enable profile guided optimizations for x86_64 and i686 architectures -- Update to a newer implementation of PEP 538 -- Update description to reflect that Python 3 is now the default Python - -* Fri May 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-5 -- Update PEP 538 to the latest upstream implementation - -* Tue Apr 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-4 -- Enable link time optimizations -- Move windows executables to the devel subpackage (rhbz#1426257) - -* Thu Apr 13 2017 Tomas Orsava torsava@redhat.com - 3.6.1-3 -- Rename python3.Xdm-config script from -debug to be arch specific -Resolves: rhbz#1179073 - -* Wed Apr 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-2 -- Install the Makefile in its proper location (rhbz#1438219) - -* Wed Mar 22 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.1-1 -- Update to version 3.6.1 final - -* Tue Mar 21 2017 Tomas Orsava torsava@redhat.com - 3.6.1-0.2.rc1 -- Fix syntax error in %%py_byte_compile macro (rhbz#1433569) - -* Thu Mar 16 2017 Iryna Shcherbina ishcherb@redaht.com - 3.6.1-0.1.rc1 -- Update to Python 3.6.1 release candidate 1 -- Add patch 264 to skip a known test failure on aarch64 - -* Fri Mar 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-21 -- Use proper command line parsing in _testembed -- Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale - https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale - -* Mon Feb 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-20 -- Add desktop entry and appdata.xml file for IDLE 3 (rhbz#1392049) - -* Fri Feb 24 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-19 -- Revert "Set values of prefix and exec_prefix to /usr/local for - /usr/bin/python* executables..." to prevent build failures - of packages using alternate build tools - -* Tue Feb 21 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-18 -- Set values of prefix and exec_prefix to /usr/local for - /usr/bin/python* executables -- Use new %%_module_build macro - -* Fri Feb 17 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-13 -- Add --executable option to install.py command - -* Wed Feb 15 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-12 -- BuildRequire the new dependencies of setuptools when rewheel mode is enabled -in order for the virtualenvs to work properly - -* Sat Feb 11 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 01 2017 Stephen Gallagher sgallagh@redhat.com - 3.6.0-10 -- Add missing %%license macro - -* Thu Jan 26 2017 Tomas Orsava torsava@redhat.com - 3.6.0-9 -- Modify the runtime dependency of python3-libs on system-python-libs again, - because previous attempt didn't work properly with dnf resolving mechanism - -* Wed Jan 25 2017 Tomas Orsava torsava@redhat.com - 3.6.0-8 -- Modify the runtime dependency of python3-libs on system-python-libs to use - just the version and release number, but not the dist tag due to Modularity - -* Mon Jan 16 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-7 -- Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275) -- Skip test_aead_aes_gcm during rpmbuild - -* Thu Jan 12 2017 Igor Gnatenko ignatenko@redhat.com - 3.6.0-6 -- Rebuild for readline 7.x - -* Tue Jan 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-5 -- Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644) - -* Mon Jan 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-4 -- Define HAVE_LONG_LONG as 1 for backwards compatibility - -* Thu Jan 05 2017 Miro Hronok mhroncok@redhat.com - 3.6.0-3 -- Don't blow up on EL7 kernel (random generator) (rhbz#1410175) - -* Tue Dec 27 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-1 -- Update to Python 3.6.0 final - -* Fri Dec 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.6.rc1 -- Enable rewheel - -* Wed Dec 07 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.5.rc1 -- Update to Python 3.6.0 release candidate 1 - -* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.4.b4 -- Update to Python 3.6.0 beta 4 - -* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-7 -- Set to work with pip version 9.0.1 - -* Wed Oct 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-6 -- Use proper patch numbering and base upstream branch for -porting ssl and hashlib modules to OpenSSL 1.1.0 -- Drop hashlib patch for now -- Add riscv64 arch to 64bit and no-valgrind arches - -* Tue Oct 11 2016 Tom Mrz tmraz@redhat.com - 3.5.2-5 -- Make it build with OpenSSL-1.1.0 based on upstream patch - -* Wed Sep 14 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-4 -- Obsolete and Provide python35 package - -* Mon Sep 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-3 -- Update %%py_byte_compile macro -- Remove unused configure flags (rhbz#1374357) - -* Fri Sep 09 2016 Tomas Orsava torsava@redhat.com - 3.5.2-2 -- Updated .pyc 'bytecompilation with the newly installed interpreter' to also - recompile optimized .pyc files -- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo - files are no more -- Resolves rhbz#1373635 - -* Mon Aug 15 2016 Tomas Orsava torsava@redhat.com - 3.5.2-1 -- Rebased to version 3.5.2 -- Set to work with pip version 8.1.2 -- Removed patches 207, 237, 241 as fixes are already contained in Python 3.5.2 -- Removed arch or environment specific patches 194, 196, 203, and 208 - as test builds indicate they are no longer needed -- Updated patches 102, 146, and 242 to work with the new Python codebase -- Removed patches 200, 201, 5000 which weren't even being applied - -* Tue Aug 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-15 -- Fix for CVE-2016-1000110 HTTPoxy attack -- SPEC file cleanup - -* Mon Aug 01 2016 Michal Toman mtoman@fedoraproject.org - 3.5.1-14 -- Build properly on MIPS - -* Tue Jul 19 2016 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.5.1-13 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Pac... - -* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-12 -- Refactor patch for properly fixing CVE-2016-5636 - -* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-11 -- Fix test_pyexpat failure with Expat version of 2.2.0 - -* Fri Jul 08 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-10 -- Move xml module to system-python-libs - -* Thu Jun 16 2016 Tomas Orsava torsava@redhat.com - 3.5.1-9 -- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack -- Raise an error when STARTTLS fails -- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647 -- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345 -- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394 - -* Mon Jun 13 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-8 -- Added patch for fixing possible integer overflow and heap corruption in zipimporter.get_data() - -* Fri Mar 04 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-7 -- Move distutils to system-python-libs - -* Wed Feb 24 2016 Robert Kuska rkuska@redhat.com - 3.5.1-6 -- Provide python3-enum34 - -* Fri Feb 19 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-5 -- Provide System Python packages and macros - -* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 3.5.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jan 13 2016 Orion Poplwski orion@cora.nwra.com - 3.5.1-2 -- Drop python3 macros, require python/python3-rpm-macros - -* Mon Dec 14 2015 Robert Kuska rkuska@redhat.com - 3.5.1-1 -- Update to 3.5.1 -- Removed patch 199 and 207 (upstream) - -* Sun Nov 15 2015 Robert Kuska rkuska@redhat.com - 3.5.0-5 -- Remove versioned libpython from devel package - -* Fri Nov 13 2015 Than Ngo than@redhat.com 3.5.0-4 -- add correct arch for ppc64/ppc64le to fix build failure - -* Wed Nov 11 2015 Robert Kuska rkuska@redhat.com - 3.5.0-3 -- Hide the private _Py_atomic_xxx symbols from public header - -* Wed Oct 14 2015 Robert Kuska rkuska@redhat.com - 3.5.0-2 -- Rebuild with wheel set to 1 - -* Tue Sep 15 2015 Matej Stuchlik mstuchli@redhat.com - 3.5.0-1 -- Update to 3.5.0 - -* Mon Jun 29 2015 Thomas Spura tomspur@fedoraproject.org - 3.4.3-4 -- python3-devel: Require python-macros for version independant macros such as - python_provide. See fpc#281 and fpc#534. - -* Thu Jun 18 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-4 -- Use 1024bit DH key in test_ssl -- Use -O0 when compiling -debug build -- Update pip version variable to the version we actually ship - -* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-3 -- Make relocating Python by changing _prefix actually work -Resolves: rhbz#1231801 - -* Mon May 4 2015 Peter Robinson pbrobinson@fedoraproject.org 3.4.3-2 -- Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches - -* Thu Mar 12 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-1 -- Updated to 3.4.3 -- BuildPython now accepts additional build options -- Temporarily disabled test_gdb on arm (rhbz#1196181) - -* Wed Feb 25 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.2-7 -- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64 - (http://bugs.python.org/issue23433) - -* Sat Feb 21 2015 Till Maas opensource@till.name - 3.4.2-6 -- Rebuilt for Fedora 23 Change - https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-ind... - -* Tue Feb 17 2015 Ville Skytt ville.skytta@iki.fi - 3.4.2-5 -- Own systemtap dirs (#710733) - -* Mon Jan 12 2015 Dan Hork <dan[at]danny.cz> - 3.4.2-4 -- build with valgrind on ppc64le -- disable test_gdb on s390(x) until rhbz#1181034 is resolved - -* Tue Dec 16 2014 Robert Kuska rkuska@redhat.com - 3.4.2-3 -- New patches: 170 (gc asserts), 200 (gettext headers), - 201 (gdbm memory leak) - -* Thu Dec 11 2014 Robert Kuska rkuska@redhat.com - 3.4.2-2 -- OpenSSL disabled SSLv3 in SSLv23 method - -* Thu Nov 13 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.2-1 -- Update to 3.4.2 -- Refreshed patches: 156 (gdb autoload) -- Removed: 195 (Werror declaration), 197 (CVE-2014-4650) - -* Mon Nov 03 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-16 -- Fix CVE-2014-4650 - CGIHTTPServer URL handling -Resolves: rhbz#1113529 - -* Sun Sep 07 2014 Karsten Hopp karsten@redhat.com 3.4.1-15 -- exclude test_gdb on ppc* (rhbz#1132488) - -* Thu Aug 21 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-14 -- Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1 - -* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 8 2014 Peter Robinson pbrobinson@fedoraproject.org 3.4.1-12 -- aarch64 has valgrind, just list those that don't support it - -* Sun Jun 08 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed Jun 04 2014 Karsten Hopp karsten@redhat.com 3.4.1-10 -- bump release and rebuild to link with the correct tcl/tk libs on ppcle - -* Tue Jun 03 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-9 -- Change paths to bundled projects in rewheel patch - -* Fri May 30 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-8 -- In config script, use uname -m to write the arch - -* Thu May 29 2014 Dan Hork <dan[at]danny.cz> - 3.4.1-7 -- update the arch list where valgrind exists - %%power64 includes also - ppc64le which is not supported yet - -* Thu May 29 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-6 -- Forward arguments to the arch specific config script -Resolves: rhbz#1102683 - -* Wed May 28 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-5 -- Rename python3.Xm-config script to arch specific. -Resolves: rhbz#1091815 - -* Tue May 27 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.1-4 -- Use python3-*, not python-* runtime requires on setuptools and pip -- rebuild for tcl-8.6 - -* Tue May 27 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-3 -- Update the rewheel module - -* Mon May 26 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-2 -- Fix multilib dependencies. -Resolves: rhbz#1091815 - -* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-1 -- Update to Python 3.4.1 - -* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-8 -- Fix test_gdb failure on ppc64le -Resolves: rhbz#1095355 - -* Thu May 22 2014 Miro Hronok mhroncok@redhat.com - 3.4.0-7 -- Add macro %%python3_version_nodots - -* Sun May 18 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-6 -- Disable test_faulthandler, test_gdb on aarch64 -Resolves: rhbz#1045193 - -* Fri May 16 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-5 -- Don't add Werror=declaration-after-statement for extension - modules through setup.py (PyBT#21121) - -* Mon May 12 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-4 -- Add setuptools and pip to Requires - -* Tue Apr 29 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-3 -- Point __os_install_post to correct brp-* files - -* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-2 -- Temporarily disable tests requiring SIGHUP (rhbz#1088233) - -* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-1 -- Update to Python 3.4 final -- Add patch adding the rewheel module -- Merge patches from master - -* Wed Jan 08 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b2 -- Update to Python 3.4 beta 2. -- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise) -- Dropped patches: 114 (statvfs constants), 177 (platform unicode) - -* Mon Nov 25 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b1 -- Update to Python 3.4 beta 1. -- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT -ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips), -157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port) -- Removed patch 00187 (remove pthread atfork; upstreamed) - -* Mon Nov 04 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.a4 -- Update to Python 3.4 alpha 4. -- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib), -114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in -test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise), -157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise -from py_compile) -- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in -Koji), 142 (the mock issue that caused this is fixed) -- Added patch 187 (remove thread atfork) - will be in next version -- Refreshed script for checking pyc and pyo timestamps with new ignored files. -- The fips patch is disabled for now until upstream makes a final decision -what to do with sha3 implementation for 3.4.0. - -* Wed Oct 30 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-7 -- Bytecompile all *.py files properly during build (rhbz#1023607) - -* Fri Aug 23 2013 Matej Stuchlik mstuchli@redhat.com - 3.3.2-6 -- Added fix for CVE-2013-4238 (rhbz#996399) - -* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-5 -- fix up indentation in arm patch - -* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-4 -- disable a test that fails on arm -- enable valgrind support on arm arches - -* Tue Jul 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-3 -- Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696). - -* Mon May 20 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-2 -- Add patch for CVE-2013-2099 (rhbz#963261). - -* Thu May 16 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-1 -- Updated to Python 3.3.2. -- Refreshed patches: 153 (gdb test noise) -- Dropped patches: 175 (configure -Wformat, fixed upstream), 182 (gdb -test threads) -- Synced patch numbers with python.spec. - -* Thu May 9 2013 David Malcolm dmalcolm@redhat.com - 3.3.1-4 -- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010) - -* Thu May 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-3 -- Add patch that enables building on ppc64p7 (replace the sed, so that -we get consistent with python2 spec and it's more obvious that we're doing it. - -* Wed Apr 24 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-2 -- Add fix for gdb tests failing on arm, rhbz#951802. - -* Tue Apr 09 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-1 -- Updated to Python 3.3.1. -- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips), -153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just -keeping few more downstream tests) -- Removed patches: 3 (audiotest.au made it to upstream tarball) -- Removed workaround for http://bugs.python.org/issue14774, discussed in -http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8. - -* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-10 -- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates - -* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-9 -- renumber patches to keep them in sync with python.spec - -* Fri Mar 15 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-8 -- Fix error in platform.platform() when non-ascii byte strings are decoded to - unicode (rhbz#922149) - -* Thu Mar 14 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-7 -- Fix up shared library extension (rhbz#889784) - -* Thu Mar 07 2013 Karsten Hopp karsten@redhat.com 3.3.0-6 -- add ppc64p7 build target, optimized for Power7 - -* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-5 -- add workaround for ENOPROTOOPT seen running selftests in Koji -(rhbz#913732) - -* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-4 -- remove config flag from /etc/rpm/macros.{python3|pybytecompile} - -* Mon Feb 11 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-3 -- add aarch64 (rhbz#909783) - -* Thu Nov 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-2 -- add BR on bluez-libs-devel (rhbz#879720) - -* Sat Sep 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-1 -- 3.3.0rc3 -> 3.3.0; drop alphatag - -* Mon Sep 24 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.6.rc3 -- 3.3.0rc2 -> 3.3.0rc3 - -* Mon Sep 10 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.5.rc2 -- 3.3.0rc1 -> 3.3.0rc2; refresh patch 55 - -* Mon Aug 27 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.4.rc1 -- 3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55 - -* Mon Aug 13 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.3.b2 -- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111, -134, 153, 160; regenenerate autotools patch; rework systemtap patch to work -correctly when LANG=C (patch 55); importlib.test was moved to -test.test_importlib upstream - -* Mon Aug 13 2012 Karsten Hopp karsten@redhat.com 3.3.0-0.2.b1 -- disable some failing checks on PPC* (rhbz#846849) - -* Fri Aug 3 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 -- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3 -- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream -patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from -configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326); -"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped -for stdlib (upstream issues 10645 and 12218); email/test moved to -test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add -_decimal and _lzma modules; make collections modules explicit in payload again -(upstream issue 11085); add _testbuffer module to tests subpackage (added in -upstream commit 3f9b3b6f7ff0); fix test failures (patches 160 and 161); -workaround erroneously shared _sysconfigdata.py upstream issue #14774; fix -distutils.sysconfig traceback (patch 162); add BuildRequires: xz-devel (for -_lzma module); skip some tests within test_socket (patch 163) - -* Sat Jul 21 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2.3-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Fri Jul 20 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 - -* Fri Jun 22 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-10 -- use macro for power64 (rhbz#834653) - -* Mon Jun 18 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-9 -- fix missing include in uid/gid handling patch (patch 157; rhbz#830405) - -* Wed May 30 2012 Bohuslav Kabrda bkabrda@redhat.com - 3.2.3-8 -- fix tapset for debug build - -* Tue May 15 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-7 -- update uid/gid handling to avoid int overflows seen with uid/gid -values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470) - -* Fri May 4 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-6 -- renumber autotools patch from 300 to 5000 -- specfile cleanups - -* Mon Apr 30 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-5 -- fix test_gdb.py (patch 156; rhbz#817072) - -* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-4 -- avoid allocating thunks in ctypes unless absolutely necessary, to avoid -generating SELinux denials on "import ctypes" and "import uuid" when embedding -Python within httpd (patch 155; rhbz#814391) - -* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-3 -- add explicit version requirements on expat to avoid linkage problems with -XML_SetHashSalt - -* Thu Apr 12 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-2 -- fix test_gdb (patch 153) - -* Wed Apr 11 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-1 -- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic -values), 149 (__pycache__ fix); add patch 152 (test_gdb regex) - -* Thu Feb 9 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-13 -- use newly installed python for byte compiling (now for real) - -* Sun Feb 5 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-12 -- use newly installed python for byte compiling (#787498) - -* Wed Jan 4 2012 Ville Skytt ville.skytta@iki.fi - 3.2.2-11 -- Build with $RPM_LD_FLAGS (#756863). -- Use xz-compressed source tarball. - -* Wed Dec 07 2011 Karsten Hopp karsten@redhat.com 3.2.2-10 -- disable rAssertAlmostEqual in test_cmath on PPC (#750811) - -* Mon Oct 17 2011 Rex Dieter rdieter@fedoraproject.org - 3.2.2-9 -- python3-devel missing autogenerated pkgconfig() provides (#746751) - -* Mon Oct 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-8 -- cherrypick fix for distutils not using __pycache__ when byte-compiling -files (rhbz#722578) - -* Fri Sep 30 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-7 -- re-enable gdbm (patch 148; rhbz#742242) - -* Fri Sep 16 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-6 -- add a sys._debugmallocstats() function (patch 147) - -* Wed Sep 14 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-5 -- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and -_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146) - -* Tue Sep 13 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-4 -- disable gdbm module to prepare for gdbm soname bump - -* Mon Sep 12 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-3 -- renumber and rename patches for consistency with python.spec (8 to 55, 106 -to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143) - -* Sat Sep 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-2 -- rewrite of "check", introducing downstream-only hooks for skipping specific -cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more -fine-grained manner than before; (patches 106, 133-142 sparsely, moving -patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141) - -* Tue Sep 6 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-1 -- 3.2.2 - -* Thu Sep 1 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-7 -- run selftests with "--verbose" -- disable parts of test_io on ppc (rhbz#732998) - -* Wed Aug 31 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-6 -- use "--findleaks --verbose3" when running test suite - -* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-5 -- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit -ppc to avoid aliasing violations (patch 130; rhbz#698726) - -* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-4 -- don't use --with-tsc on ppc64 debug builds (rhbz#698726) - -* Thu Aug 18 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-3 -- add %%python3_version to the rpm macros (rhbz#719082) - -* Mon Jul 11 2011 Dennis Gilmore dennis@ausil.us - 3.2.1-2 -- disable some tests on sparc arches - -* Mon Jul 11 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-1 -- 3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling -of static library build (due to Modules/_testembed; patch 6), autotool -intermediates (patch 300) - -* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-5 -- use the gdb hooks from the upstream tarball, rather than keeping our own copy - -* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-4 -- don't run test_openpty and test_pty in %%check - -* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-3 -- cleanup of BuildRequires; add comment headings to specfile sections - -* Tue Apr 19 2011 David Malcolm dmalcolm@redhat.com - 3.2-2 -- fix the libpython.stp systemtap tapset (rhbz#697730) - -* Mon Feb 21 2011 David Malcolm dmalcolm@redhat.com - 3.2-1 -- 3.2 -- drop alphatag -- regenerate autotool patch - -* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.13.rc3 -- add a /usr/bin/python3-debug symlink within the debug subpackage - -* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.12.rc3 -- 3.2rc3 -- regenerate autotool patch - -* Wed Feb 09 2011 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2-0.11.rc2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Jan 31 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.10.rc2 -- 3.2rc2 - -* Mon Jan 17 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.9.rc1 -- 3.2rc1 -- rework patch 6 (static lib removal) -- remove upstreamed patch 130 (ppc debug build) -- regenerate patch 300 (autotool intermediates) -- updated packaging to reflect upstream rewrite of "Demo" (issue 7962) -- added libpython3.so and 2to3-3.2 - -* Wed Jan 5 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.8.b2 -- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker -error with dynamic annotations (when configured using --with-valgrind) -- fix the ppc build of the debug configuration (patch 130; rhbz#661510) - -* Tue Jan 4 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.7.b2 -- add --with-valgrind to configuration (on architectures that support this) - -* Wed Dec 29 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.6.b2 -- work around test_subprocess failure seen in koji (patch 129) - -* Tue Dec 28 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.b2 -- 3.2b2 -- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs), -patch 8 (systemtap), patch 102 (lib64) -- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149), -patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar -fixed upstream) -- regenerate patch 300 (autotool intermediates) -- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127, -patch 128) -- stop using runtest.sh in %%check (dropped by upstream), replacing with -regrtest; fixup list of failing tests -- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros -- rework manifests of shared libraries to use "SOABI_" macros, reflecting -PEP 3149 -- drop itertools, operator and _collections modules from the manifests as py3k -commit r84058 moved these inside libpython; json/tests moved to test/json_tests -- move turtle code into the tkinter subpackage - -* Wed Nov 17 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.a1 -- fix sysconfig to not rely on the -devel subpackage (rhbz#653058) - -* Thu Sep 9 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.4.a1 -- move most of the content of the core package to the libs subpackage, given -that the libs aren't meaningfully usable without the standard libraries - -* Wed Sep 8 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.3.a1 -- Move test.support to core package (rhbz#596258) -- Add various missing __pycache__ directories to payload - -* Sun Aug 22 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.2-0.2.a1 -- Add __pycache__ directory for site-packages - -* Sun Aug 22 2010 Thomas Spura tomspur@fedoraproject.org - 3.2-0.1.a1 -- on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch) -- make find-provides-without-python-sonames.sh 64bit aware - -* Sat Aug 21 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.0.a1 -- 3.2a1; add alphatag -- rework %%files in the light of PEP 3147 (__pycache__) -- drop our configuration patch to Setup.dist (patch 0): setup.py should do a -better job of things, and the %%files explicitly lists our modules (r82746 -appears to break the old way of doing things). This leads to various modules -changing from "foomodule.so" to "foo.so". It also leads to the optimized build -dropping the _sha1, _sha256 and _sha512 modules, but these are provided by -_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for -testing/devel purposes) -- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase -- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat -plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983) -- add machinery for rebuilding "configure" and friends, using the correct -version of autoconf (patch 300) -- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125) -- "modulator" was removed upstream -- drop "-b" from patch applications affecting .py files to avoid littering the -installation tree - -* Thu Aug 19 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.1.2-13 -- Turn on computed-gotos. -- Fix for parallel make and graminit.c - -* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-12 -- rebuild - -* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-11 -- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to -a segfault running test_pyexpat.py (patch 110; upstream issue 9054; rhbz#610312) - -* Fri Jun 4 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-10 -- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819) -- reformat whitespace in audioop.c (patch 106) -- CVE-2010-1634: fix various integer overflow checks in the audioop -module (patch 107) -- CVE-2010-2089: further checks within the audioop module (patch 108) -- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 109) - -* Thu May 27 2010 Dan Hork <dan[at]danny.cz> - 3.1.2-9 -- reading the timestamp counter is available only on some arches (see Python/ceval.c) - -* Wed May 26 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-8 -- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os") -(patch 105) - -* Tue May 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-7 -- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options -(patch 104); enable them and the WITH_TSC option within the debug build - -* Mon May 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-6 -- build and install two different configurations of Python 3: debug and -standard, packaging the debug build in a new "python3-debug" subpackage -(patch 103) - -* Tue Apr 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-5 -- exclude test_http_cookies when running selftests, due to hang seen on -http://koji.fedoraproject.org/koji/taskinfo?taskID=2088463 (cancelled after -11 hours) -- update python-gdb.py from v5 to py3k version submitted upstream - -* Wed Mar 31 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-4 -- update python-gdb.py from v4 to v5 (improving performance and stability, -adding commands) - -* Thu Mar 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-3 -- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference -cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets -and exceptions) - -* Wed Mar 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-2 -- refresh gdb hooks to v3 (reworking how they are packaged) - -* Sun Mar 21 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-1 -- update to 3.1.2: http://www.python.org/download/releases/3.1.2/ -- drop upstreamed patch 2 (.pyc permissions handling) -- drop upstream patch 5 (fix for the test_tk and test_ttk_* selftests) -- drop upstreamed patch 200 (path-fixing script) - -* Sat Mar 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-28 -- fix typo in libpython.stp (rhbz:575336) - -* Fri Mar 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-27 -- add pyfuntop.stp example (source 7) -- convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for -consistency with python.spec - -* Mon Feb 15 2010 Thomas Spura tomspur@fedoraproject.org - 3.1.1-26 -- rebuild for new package of redhat-rpm-config (rhbz:564527) -- use 'install -p' when running 'make install' - -* Fri Feb 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-25 -- split configure options into multiple lines for easy of editing -- add systemtap static markers (wcohen, mjw, dmalcolm; patch 8), a systemtap -tapset defining "python.function.entry" and "python.function.return" to make -the markers easy to use (dmalcolm; source 5), and an example of using the -tapset to the docs (dmalcolm; source 6) (rhbz:545179) - -* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-24 -- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to -%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from -ldconfig (bug 562980), and which should also ensure it becomes part of the -debuginfo subpackage, rather than the libs subpackage -- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream -configure script, and to avoid fragile scripts that try to figure this out -dynamically (e.g. for the -gdb.py change) - -* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-23 -- add gdb hooks for easier debugging (Source 4) - -* Thu Jan 28 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-22 -- update python-3.1.1-config.patch to remove downstream customization of build -of pyexpat and elementtree modules -- add patch adapted from upstream (patch 7) to add support for building against -system expat; add --with-system-expat to "configure" invocation -- remove embedded copies of expat and zlib from source tree during "prep" - -* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-21 -- introduce %%{dynload_dir} macro -- explicitly list all lib-dynload files, rather than dynamically gathering the -payload into a temporary text file, so that we can be sure what we are -shipping -- introduce a macros.pybytecompile source file, to help with packaging python3 -modules (Source3; written by Toshio) -- rename "2to3-3" to "python3-2to3" to better reflect python 3 module packaging -plans - -* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-20 -- change python-3.1.1-config.patch to remove our downstream change to curses -configuration in Modules/Setup.dist, so that the curses modules are built using -setup.py with the downstream default (linking against libncursesw.so, rather -than libncurses.so), rather than within the Makefile; add a test to %%install -to verify the dso files that the curses module is linked against the correct -DSO (bug 539917; changes _cursesmodule.so -> _curses.so) - -* Fri Jan 22 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-19 -- add %%py3dir macro to macros.python3 (to be used during unified python 2/3 -builds for setting up the python3 copy of the source tree) - -* Wed Jan 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-18 -- move lib2to3 from -tools subpackage to main package (bug 556667) - -* Sun Jan 17 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-17 -- patch Makefile.pre.in to avoid building static library (patch 6, bug 556092) - -* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-16 -- use the %%{_isa} macro to ensure that the python-devel dependency on python -is for the correct multilib arch (#555943) -- delete bundled copy of libffi to make sure we use the system one - -* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-15 -- fix the URLs output by pydoc so they point at python.org's 3.1 build of the -docs, rather than the 2.6 build - -* Wed Jan 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-14 -- replace references to /usr with %%{_prefix}; replace references to -/usr/include with %%{_includedir} (Toshio) - -* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-13 -- fix permission on find-provides-without-python-sonames.sh from 775 to 755 - -* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-12 -- remove build-time requirements on tix and tk, since we already have -build-time requirements on the -devel subpackages for each of these (Thomas -Spura) -- replace usage of %%define with %%global (Thomas Spura) -- remove forcing of CC=gcc as this old workaround for bug 109268 appears to -longer be necessary -- move various test files from the "tools"/"tkinter" subpackages to the "test" -subpackage - -* Thu Jan 7 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-11 -- add %%check section (thanks to Thomas Spura) -- update patch 4 to use correct shebang line -- get rid of stray patch file from buildroot - -* Tue Nov 17 2009 Andrew McNabb amcnabb@mcnabbs.org - 3.1.1-10 -- switched a few instances of "find |xargs" to "find -exec" for consistency. -- made the description of __os_install_post more accurate. - -* Wed Nov 4 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-9 -- add macros.python3 to the -devel subpackage, containing common macros for use -when packaging python3 modules - -* Tue Nov 3 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-8 -- add a provides of "python(abi)" (see bug 532118) -- fix issues identified by a.badger in package review (bug 526126, comment 39): - - use "3" thoughout metadata, rather than "3.*" - - remove conditional around "pkg-config openssl" - - use standard cleanup of RPM_BUILD_ROOT - - replace hardcoded references to /usr with _prefix macro - - stop removing egg-info files - - use /usr/bin/python3.1 rather than /use/bin/env python3.1 when fixing -up shebang lines - - stop attempting to remove no-longer-present .cvsignore files - - move the post/postun sections above the "files" sections - -* Thu Oct 29 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-7 -- remove commented-away patch 51 (python-2.6-distutils_rpm.patch): the -O1 -flag is used by default in the upstream code -- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py -_init_posix(), so we include them in the core package, along with their parent -directories (bug 531901) - -* Tue Oct 27 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-6 -- reword description, based on suggestion by amcnabb -- fix the test_email and test_imp selftests (patch 3 and patch 4 respectively) -- fix the test_tk and test_ttk_* selftests (patch 5) -- fix up the specfile's handling of shebang/perms to avoid corrupting -test_httpservers.py (sed command suggested by amcnabb) - -* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-5 -- fixup importlib/_bootstrap.py so that it correctly handles being unable to -open .pyc files for writing (patch 2, upstream issue 7187) -- actually apply the rpath patch (patch 1) - -* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-4 -- update patch0's setup of the crypt module to link it against libcrypt -- update patch0 to comment "datetimemodule" back out, so that it is built -using setup.py (see Setup, option 3), thus linking it statically against -timemodule.c and thus avoiding a run-time "undefined symbol: -_PyTime_DoubleToTimet" failure on "import datetime" - -* Wed Oct 21 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-3 -- remove executable flag from various files that shouldn't have it -- fix end-of-line encodings -- fix a character encoding - -* Tue Oct 20 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-2 -- disable invocation of brp-python-bytecompile in postprocessing, since -it would be with the wrong version of python (adapted from ivazquez' -python3000 specfile) -- use a custom implementation of __find_provides in order to filter out bogus -provides lines for the various .so modules -- fixup distutils/unixccompiler.py to remove standard library path from rpath -(patch 1, was Patch0 in ivazquez' python3000 specfile) -- split out libraries into a -libs subpackage -- update summaries and descriptions, basing content on ivazquez' specfile -- fixup executable permissions on .py, .xpm and .xbm files, based on work in -ivazquez's specfile -- get rid of DOS batch files -- fixup permissions for shared libraries from non-standard 555 to standard 755 -- move /usr/bin/python*-config to the -devel subpackage -- mark various directories as being documentation - -* Thu Sep 24 2009 Andrew McNabb amcnabb@mcnabbs.org 3.1.1-1 -- Initial package for Python 3. - diff --git a/python38.rpmlintrc b/python38.rpmlintrc new file mode 100644 index 0000000..d59fe13 --- /dev/null +++ b/python38.rpmlintrc @@ -0,0 +1,75 @@ +# KNOWN BUGS: +# https://bugzilla.redhat.com/show_bug.cgi?id=1489816 +addFilter(r'crypto-policy-non-compliance-openssl') + + +# TESTS: +addFilter(r'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3.\d/test') + + +# OTHER DELIBERATES: +# chroot function +addFilter(r'missing-call-to-chdir-with-chroot') + +# intentionally unversioned and selfobsoleted +addFilter(r'unversioned-explicit-obsoletes python') +addFilter(r'self-obsoletion python3\d obsoletes python3\d') + +# intentionally hardcoded +addFilter(r'hardcoded-library-path in %{_prefix}/lib/(debug/%{_libdir}|python%{pybasever})') + +# intentional for our pythonXY package +addFilter(r'python3\d.[^:]+: (E|W): devel-file-in-non-devel-package') + +# we have non binary stuff, python files +addFilter(r'only-non-binary-in-usr-lib') + +# some devel files that are deliberately needed +addFilter(r'devel-file-in-non-devel-package /usr/include/python3.\dm/pyconfig-(32|64).h') +addFilter(r'devel-file-in-non-devel-package /usr/lib(64)?/python3.\d/distutils/tests/xxmodule.c') + + +# SORRY, NOT SORRY: +# manual pages +addFilter(r'no-manual-page-for-binary (idle|pydoc|pyvenv|2to3|python3-debug|pathfix|msgfmt|pygettext)') +addFilter(r'no-manual-page-for-binary python3.*-config$') +addFilter(r'no-manual-page-for-binary python3.\dd?m$') + +# missing documentation from subpackages +addFilter(r'^python3\d?-(debug|tkinter|test|idle).[^:]+: (E|W): no-documentation') + +# platform python is obsoleted, but not provided +addFilter(r'obsolete-not-provided platform-python') + + +# RPMLINT IMPERFECTIONS +# https://github.com/rpm-software-management/rpmlint/issues/123 +addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d (3.7), found 3393') +# https://github.com/rpm-software-management/rpmlint/pull/133 +addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d (3.7), found 3394') + +# https://bugzilla.redhat.com/show_bug.cgi?id=1550562 +# https://github.com/rpm-software-management/rpmlint/issues/128 +addFilter(r'python-bytecode-inconsistent-mtime .* 1970') + +# debugsource +addFilter(r'^python3\d?-debugsource.[^:]+: (E|W): no-documentation') + +# debuginfo +addFilter(r'^python3\d?-debuginfo.[^:]+: (E|W): useless-provides debuginfo(build-id)') + +# this is OK for F28+ +addFilter(r'library-without-ldconfig-post') + +# debug package contains devel and non-devel files +addFilter(r'python3\d?-debug.[^:]+: (E|W): (non-)?devel-file-in-(non-)?devel-package') + +# this goes to other subpackage, hence not actually dangling, the read error is bogus +addFilter(r'dangling-relative-symlink /usr/lib(64)?/pkgconfig/python-3.\ddm.pc python-3.\d.pc') +addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3.\ddm.pc [Errno 2]') + +# we need this macro to evaluate, even if the line starts with # +addFilter(r'macro-in-comment %{_pyconfig(32|64)_h}') + +# SPELLING ERRORS +addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ') diff --git a/python38.spec b/python38.spec new file mode 100644 index 0000000..1c2ee75 --- /dev/null +++ b/python38.spec @@ -0,0 +1,2673 @@ +# ================== +# Top-level metadata +# ================== + +%global pybasever 3.8 + +# pybasever without the dot: +%global pyshortver 38 + +Name: python%{pyshortver} +Summary: Version %{pybasever} of the Python interpreter +URL: https://www.python.org/ + +# WARNING When rebasing to a new Python version, +# remember to update the python3-docs package as well +%global general_version %{pybasever}.0 +%global prerel a1 +%global upstream_version %{general_version}%{?prerel} +Version: %{general_version}%{?prerel:~%{prerel}} +Release: 1%{?dist} +License: Python + + +# ================================== +# Conditionals controlling the build +# ================================== + +# Note that the bcond macros are named for the CLI option they create. +# "%%bcond_without" means "ENABLE by default and create a --without option" + + +# Flat package, i.e. python36, python37, python38 for tox etc. +# warning: changes some other defaults +# in Fedora, never turn this on for the python3 package +# and always keep it on for python37 etc. +# WARNING: This does not change the package name and summary above +%bcond_without flatpackage + +# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package +# Uses upstream bundled prebuilt wheels otherwise +%bcond_without rpmwheels + +# Expensive optimizations (mainly, profile-guided optimizations) +%ifarch %{ix86} x86_64 +%bcond_without optimizations +%else +# On some architectures, the optimized build takes tens of hours, possibly +# longer than Koji's 24-hour timeout. Disable optimizations here. +%bcond_with optimizations +%endif + +# Run the test suite in %%check +%bcond_without tests + +# Extra build for debugging the interpreter or C-API extensions +# (the -debug subpackages) +%if %{with flatpackage} +%bcond_with debug_build +%else +%bcond_without debug_build +%endif + +# Support for the GDB debugger +%bcond_without gdb_hooks + +# The dbm.gnu module (key-value database) +%bcond_without gdbm + +# Main interpreter loop optimization +%bcond_without computed_gotos + +# Support for the Valgrind debugger/profiler +%ifarch %{valgrind_arches} +%bcond_without valgrind +%else +%bcond_with valgrind +%endif + + +# Notes from bootstraping Python 3.7: +# https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython + + +# ===================== +# General global macros +# ===================== + +%global pylibdir %{_libdir}/python%{pybasever} +%global dynload_dir %{pylibdir}/lib-dynload + +# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac +# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/ +%global ABIFLAGS_optimized m +%global ABIFLAGS_debug dm + +%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized} +%global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug} + +%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}-%{_arch}-linux%{_gnu} +%global SOABI_debug cpython-%{pyshortver}%{ABIFLAGS_debug}-%{_arch}-linux%{_gnu} + +# All bytecode files are in a __pycache__ subdirectory, with a name +# reflecting the version of the bytecode. +# See PEP 3147: http://www.python.org/dev/peps/pep-3147/ +# For example, +# foo/bar.py +# has bytecode at: +# foo/__pycache__/bar.cpython-%%{pyshortver}.pyc +# foo/__pycache__/bar.cpython-%%{pyshortver}.opt-1.pyc +# foo/__pycache__/bar.cpython-%%{pyshortver}.opt-2.pyc +%global bytecode_suffixes .cpython-%{pyshortver}*.pyc + +# Python's configure script defines SOVERSION, and this is used in the Makefile +# to determine INSTSONAME, the name of the libpython DSO: +# LDLIBRARY='libpython$(VERSION).so' +# INSTSONAME="$LDLIBRARY".$SOVERSION +# We mirror this here in order to make it easier to add the -gdb.py hooks. +# (if these get out of sync, the payload of the libs subpackage will fail +# and halt the build) +%global py_SOVERSION 1.0 +%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION} +%global py_INSTSONAME_debug libpython%{LDVERSION_debug}.so.%{py_SOVERSION} + +# Disable automatic bytecompilation. The python3 binary is not yet be +# available in /usr/bin when Python is built. Also, the bytecompilation fails +# on files that test invalid syntax. +%undefine py_auto_byte_compile + +# For multilib support, files that are different between 32- and 64-bit arches +# need different filenames. Use "64" or "32" according to the word size. +# Currently, the best way to determine an architecture's word size happens to +# be checking %%{_lib}. +%if "%{_lib}" == "lib64" +%global wordsize 64 +%else +%global wordsize 32 +%endif + + +# ======================= +# Build-time requirements +# ======================= + +# (keep this list alphabetized) + +BuildRequires: autoconf +BuildRequires: bluez-libs-devel +BuildRequires: bzip2 +BuildRequires: bzip2-devel +BuildRequires: desktop-file-utils +BuildRequires: expat-devel + +BuildRequires: findutils +BuildRequires: gcc-c++ +%if %{with gdbm} +BuildRequires: gdbm-devel +%endif +BuildRequires: glibc-all-langpacks +BuildRequires: glibc-devel +BuildRequires: gmp-devel +BuildRequires: libappstream-glib +BuildRequires: libffi-devel +BuildRequires: libnsl2-devel +BuildRequires: libtirpc-devel +BuildRequires: libGL-devel +BuildRequires: libuuid-devel +BuildRequires: libX11-devel +BuildRequires: ncurses-devel + +BuildRequires: openssl-devel +BuildRequires: pkgconfig +BuildRequires: readline-devel +BuildRequires: sqlite-devel +BuildRequires: gdb + +BuildRequires: tar +BuildRequires: tcl-devel +BuildRequires: tix-devel +BuildRequires: tk-devel + +%if %{with valgrind} +BuildRequires: valgrind-devel +%endif + +BuildRequires: xz-devel +BuildRequires: zlib-devel + +BuildRequires: /usr/bin/dtrace + +# workaround http://bugs.python.org/issue19804 (test_uuid requires ifconfig) +BuildRequires: /usr/sbin/ifconfig + +%if %{with rpmwheels} +BuildRequires: python-setuptools-wheel +BuildRequires: python-pip-wheel +%endif + + +# ======================= +# Source code and patches +# ======================= + +Source: https://www.python.org/ftp/python/%%7Bgeneral_version%7D/Python-%%7Bupstream... + +# A simple script to check timestamps of bytecode files +# Run in check section with Python that is currently being built +# Originally written by bkabrda +Source8: check-pyc-timestamps.py + +# Desktop menu entry for idle3 +Source10: idle3.desktop + +# AppData file for idle3 +Source11: idle3.appdata.xml + +# 00001 # +# Fixup distutils/unixccompiler.py to remove standard library path from rpath: +# Was Patch0 in ivazquez' python3000 specfile: +Patch1: 00001-rpath.patch + +# 00102 # +# Change the various install paths to use /usr/lib64/ instead or /usr/lib +# Only used when "%%{_lib}" == "lib64" +# Not yet sent upstream. +Patch102: 00102-lib64.patch + +# 00111 # +# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build +# a libpythonMAJOR.MINOR.a +# See https://bugzilla.redhat.com/show_bug.cgi?id=556092 +# Downstream only: not appropriate for upstream +Patch111: 00111-no-static-lib.patch + +# 00132 # +# Add non-standard hooks to unittest for use in the "check" phase below, when +# running selftests within the build: +# @unittest._skipInRpmBuild(reason) +# for tests that hang or fail intermittently within the build environment, and: +# @unittest._expectedFailureInRpmBuild +# for tests that always fail within the build environment +# +# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the +# environment, which we set manually in the appropriate portion of the "check" +# phase below (and which potentially other python-* rpms could set, to reuse +# these unittest hooks in their own "check" phases) +Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch + +# 00160 # +# Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the +# header files in the build chroot, but may not be supported in the running +# kernel, hence we disable this test in an rpm build. +# Adding these was upstream issue http://bugs.python.org/issue10142 +# Not yet sent upstream +Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch + +# 00163 # +# Some tests within test_socket fail intermittently when run inside Koji; +# disable them using unittest._skipInRpmBuild +# Not yet sent upstream +Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch + +# 00178 # +# Don't duplicate various FLAGS in sysconfig values +# http://bugs.python.org/issue17679 +# Does not affect python2 AFAICS (different sysconfig values initialization) +Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch + +# 00189 # +# Instead of bundled wheels, use our RPM packaged wheels from +# /usr/share/python-wheels +Patch189: 00189-use-rpm-wheels.patch + +# 00205 # +# LIBPL variable in makefile takes LIBPL from configure.ac +# but the LIBPL variable defined there doesn't respect libdir macro +Patch205: 00205-make-libpl-respect-lib64.patch + +# 00251 +# Set values of prefix and exec_prefix in distutils install command +# to /usr/local if executable is /usr/bin/python* and RPM build +# is not detected to make pip and distutils install into separate location +# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe +Patch251: 00251-change-user-install-location.patch + +# 00274 # +# Upstream uses Debian-style architecture naming. Change to match Fedora. +Patch274: 00274-fix-arch-names.patch + +# 00316 # +# We remove the exe files from distutil's bdist_wininst +# So we mark the command as unsupported - and the tests are skipped +Patch316: 00316-mark-bdist_wininst-unsupported.patch + +# (New patches go here ^^^) +# +# When adding new patches to "python" and "python3" in Fedora, EL, etc., +# please try to keep the patch numbers in-sync between all specfiles. +# +# More information, and a patch number catalog, is at: +# +# https://fedoraproject.org/wiki/SIGs/Python/PythonPatches + + +# ========================================== +# Descriptions, and metadata for subpackages +# ========================================== + +# People might want to dnf install pythonX.Y instead of pythonXY; +# we enable this in both flat and nonflat package. +Provides: python%{pybasever} = %{version}-%{release} + +%if %{without flatpackage} + +# Packages with Python modules in standard locations automatically +# depend on python(abi). Provide that here. +Provides: python(abi) = %{pybasever} + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +# In order to support multiple Python interpreters for development purposes, +# packages with the naming scheme flatpackage (e.g. python35) exist for +# non-default versions of Python 3. +# For consistency, and to keep the upgrade path clean, we Provide/Obsolete +# these names here. +Provides: python%{pyshortver} = %{version}-%{release} +# Note that using Obsoletes without package version is not standard practice. +# Here we assert that *any* version of the system's default interpreter is +# preferable to an "extra" interpreter. For example, python3-3.6.1 will +# replace python36-3.6.2. +Obsoletes: python%{pyshortver} + +# Previously, this was required for our rewheel patch to work. +# This is technically no longer needed, but we keep it recommended +# for the developer experience. +Recommends: python3-setuptools +Recommends: python3-pip + +# This prevents ALL subpackages built from this spec to require +# /usr/bin/python3*. Granularity per subpackage is impossible. +# It's intended for the libs package not to drag in the interpreter, see +# https://bugzilla.redhat.com/show_bug.cgi?id=1547131 +# All others require %%{name} anyway. +%global __requires_exclude ^/usr/bin/python3 + + +# The description used both for the SRPM and the main `python3` subpackage: +%description +Python is an accessible, high-level, dynamically typed, interpreted programming +language, designed with an emphasis on code readability. +It includes an extensive standard library, and has a vast ecosystem of +third-party libraries. + +The %{name} package provides the "python3" executable: the reference +interpreter for the Python language, version 3. +The majority of its standard library is provided in the %{name}-libs package, +which should be installed automatically along with %{name}. +The remaining parts of the Python standard library are broken out into the +%{name}-tkinter and %{name}-test packages, which may need to be installed +separately. + +Documentation for Python is provided in the %{name}-docs package. + +Packages containing additional libraries for Python are generally named with +the "%{name}-" prefix. + + +%package libs +Summary: Python runtime libraries + +%if %{with rpmwheels} +Requires: python-setuptools-wheel +Requires: python-pip-wheel +%else +Provides: bundled(python3-pip) = 18.1 +Provides: bundled(python3-setuptools) = 40.6.2 +%endif + +# There are files in the standard library that have python shebang. +# We've filtered the automatic requirement out so libs are installable without +# the main package. This however makes it pulled in by default. +# See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 +Recommends: %{name}%{?_isa} = %{version}-%{release} + +%description libs +This package contains runtime libraries for use by Python: +- the majority of the Python standard library +- a dynamically linked library for use by applications that embed Python as + a scripting language, and by the main "python3" executable + + +%package devel +Summary: Libraries and header files needed for Python development +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +BuildRequires: python-rpm-macros +Requires: python-rpm-macros +Requires: python3-rpm-macros +Requires: python3-rpm-generators + +# This is not "API" (packages that need setuptools should still BuildRequire it) +# However some packages apparently can build both with and without setuptools +# producing egg-info as file or directory (depending on setuptools presence). +# Directory-to-file updates are problematic in RPM, so we ensure setuptools is +# installed when -devel is required. +# See https://bugzilla.redhat.com/show_bug.cgi?id=1623914 +# See https://fedoraproject.org/wiki/Packaging:Directory_Replacement +Requires: python3-setuptools + +# https://bugzilla.redhat.com/show_bug.cgi?id=1217376 +# https://bugzilla.redhat.com/show_bug.cgi?id=1496757 +# https://bugzilla.redhat.com/show_bug.cgi?id=1218294 +# TODO change to a specific subpackage once available (#1218294) +Requires: redhat-rpm-config + +Provides: %{name}-2to3 = %{version}-%{release} +Provides: 2to3 = %{version}-%{release} + +Conflicts: %{name} < %{version}-%{release} + +%description devel +This package contains the header files and configuration needed to compile +Python extension modules (typically written in C or C++), to embed Python +into other programs, and to make binary distributions for Python libraries. + +It also contains the necessary macros to build RPM packages with Python modules +and 2to3 tool, an automatic source converter from Python 2.X. + + +%package idle +Summary: A basic graphical development environment for Python +Requires: %{name} = %{version}-%{release} +Requires: %{name}-tkinter = %{version}-%{release} + +Provides: idle3 = %{version}-%{release} + +Provides: %{name}-tools = %{version}-%{release} +Provides: %{name}-tools%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-tools < %{version}-%{release} + +%description idle +IDLE is Pythons Integrated Development and Learning Environment. + +IDLE has the following features: Python shell window (interactive +interpreter) with colorizing of code input, output, and error messages; +multi-window text editor with multiple undo, Python colorizing, +smart indent, call tips, auto completion, and other features; +search within any window, replace within editor windows, and +search through multiple files (grep); debugger with persistent +breakpoints, stepping, and viewing of global and local namespaces; +configuration, browsers, and other dialogs. + + +%package tkinter +Summary: A GUI toolkit for Python +Requires: %{name} = %{version}-%{release} + +%description tkinter +The Tkinter (Tk interface) library is a graphical user interface toolkit for +the Python programming language. + + +%package test +Summary: The self-test suite for the main python3 package +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description test +The self-test suite for the Python interpreter. + +This is only useful to test Python itself. For testing general Python code, +you should use the unittest module from %{name}-libs, or a library such as +%{name}-pytest or %{name}-nose. + + +%if %{with debug_build} +%package debug +Summary: Debug version of the Python runtime + +# The debug build is an all-in-one package version of the regular build, and +# shares the same .py/.pyc files and directories as the regular build. Hence +# we depend on all of the subpackages of the regular build: +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-test%{?_isa} = %{version}-%{release} +Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} +Requires: %{name}-idle%{?_isa} = %{version}-%{release} + +%description debug +python3-debug provides a version of the Python runtime with numerous debugging +features enabled, aimed at advanced Python users such as developers of Python +extension modules. + +This version uses more memory and will be slower than the regular Python build, +but is useful for tracking down reference-counting issues and other bugs. + +The bytecode format is unchanged, so that .pyc files are compatible between +this and the standard version of Python, but the debugging features mean that +C/C++ extension modules are ABI-incompatible and must be built for each version +separately. + +The debug build shares installation directories with the standard Python +runtime, so that .py and .pyc files can be shared. +Compiled extension modules use a special ABI flag ("d") in the filename, +so extensions for both versions can co-exist in the same directory. +%endif # with debug_build + +%else # with flatpackage + +Requires: redhat-rpm-config + +# We'll not provide this, on purpose +# No package in Fedora shall ever depend on flatpackage via this +%global __requires_exclude ^python\(abi\) = 3\..$ +%global __provides_exclude ^python\(abi\) = 3\..$ + +%if %{with rpmwheels} +Requires: python-setuptools-wheel +Requires: python-pip-wheel +%else +Provides: bundled(python3-pip) = 18.1 +Provides: bundled(python3-setuptools) = 40.6.2 +%endif + +# The description for the flat package +%description +Python %{pybasever} package for developers. + +This package exists to allow developers to test their code against a newer +version of Python. This is not a full Python stack and if you wish to run +your applications with Python %{pybasever}, update your Fedora to a newer +version once Python %{pybasever} is stable. + +%endif # with flatpackage + +# ====================================================== +# The prep phase of the build: +# ====================================================== + +%prep +%setup -q -n Python-%{upstream_version} +# Remove all exe files to ensure we are not shipping prebuilt binaries +# note that those are only used to create Microsoft Windows installers +# and that functionality is broken on Linux anyway +find -name '*.exe' -print -delete + +# Remove bundled libraries to ensure that we're using the system copy. +rm -r Modules/expat + +# +# Apply patches: +# +%patch1 -p1 + +%if "%{_lib}" == "lib64" +%patch102 -p1 +%endif +%patch111 -p1 +%patch132 -p1 +%patch160 -p1 +%patch163 -p1 +%patch178 -p1 + +%if %{with rpmwheels} +%patch189 -p1 +rm Lib/ensurepip/_bundled/*.whl +%endif + +%patch205 -p1 +%patch251 -p1 +%patch274 -p1 +%patch316 -p1 + + +# Remove files that should be generated by the build +# (This is after patching, so that we can use patches directly from upstream) +rm configure pyconfig.h.in + + +# ====================================================== +# Configuring and building the code: +# ====================================================== + +%build + +# Regenerate the configure script and pyconfig.h.in +autoconf +autoheader + +# Remember the current directory (which has sources and the configure script), +# so we can refer to it after we "cd" elsewhere. +topdir=$(pwd) + +# Get proper option names from bconds +%if %{with computed_gotos} +%global computed_gotos_flag yes +%else +%global computed_gotos_flag no +%endif + +%if %{with optimizations} +%global optimizations_flag "--enable-optimizations" +%else +%global optimizations_flag "--disable-optimizations" +%endif + +# Set common compiler/linker flags +export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" +export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" +export CPPFLAGS="$(pkg-config --cflags-only-I libffi)" +export OPT="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv" +export LINKCC="gcc" +export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)" +export LDFLAGS="$RPM_LD_FLAGS -g $(pkg-config --libs-only-L openssl)" + +# We can build several different configurations of Python: regular and debug. +# Define a common function that does one build: +BuildPython() { + ConfName=$1 + ExtraConfigArgs=$2 + MoreCFlags=$3 + + # Each build is done in its own directory + ConfDir=build/$ConfName + echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName + mkdir -p $ConfDir + pushd $ConfDir + + # Normally, %%configure looks for the "configure" script in the current + # directory. + # Since we changed directories, we need to tell %%configure where to look. + %global _configure $topdir/configure + +%configure \ + --enable-ipv6 \ + --enable-shared \ + --with-computed-gotos=%{computed_gotos_flag} \ + --with-dbmliborder=gdbm:ndbm:bdb \ + --with-system-expat \ + --with-system-ffi \ + --enable-loadable-sqlite-extensions \ + --with-dtrace \ + --with-lto \ + --with-ssl-default-suites=openssl \ +%if %{with valgrind} + --with-valgrind \ +%endif + $ExtraConfigArgs \ + %{nil} + + # Invoke the build + make EXTRA_CFLAGS="$CFLAGS $MoreCFlags" %{?_smp_mflags} + + popd + echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfName +} + +# Call the above to build each configuration. + +%if %{with debug_build} +BuildPython debug \ + "--without-ensurepip --with-pydebug" \ + "-Og" +%endif # with debug_build + +BuildPython optimized \ + "--without-ensurepip %{optimizations_flag}" \ + "" + +# ====================================================== +# Installing the built code: +# ====================================================== + +%install + +# As in %%build, remember the current directory +topdir=$(pwd) + +# We install a collection of hooks for gdb that make it easier to debug +# executables linked against libpython3* (such as /usr/bin/python3 itself) +# +# These hooks are implemented in Python itself (though they are for the version +# of python that gdb is linked with) +# +# gdb-archer looks for them in the same path as the ELF file or its .debug +# file, with a -gdb.py suffix. +# We put them next to the debug file, because ldconfig would complain if +# it found non-library files directly in /usr/lib/ +# (see https://bugzilla.redhat.com/show_bug.cgi?id=562980) +# +# We'll put these files in the debuginfo package by installing them to e.g.: +# /usr/lib/debug/usr/lib/libpython3.2.so.1.0.debug-gdb.py +# (note that the debug path is /usr/lib/debug for both 32/64 bit) +# +# See https://fedoraproject.org/wiki/Features/EasierPythonDebugging for more +# information + +%if %{with gdb_hooks} +DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir} +mkdir -p %{buildroot}$DirHoldingGdbPy +%endif # with gdb_hooks + +# Multilib support for pyconfig.h +# 32- and 64-bit versions of pyconfig.h are different. For multilib support +# (making it possible to install 32- and 64-bit versions simultaneously), +# we need to install them under different filenames, and to make the common +# "pyconfig.h" include the right file based on architecture. +# See https://bugzilla.redhat.com/show_bug.cgi?id=192747 +# Filanames are defined here: +%global _pyconfig32_h pyconfig-32.h +%global _pyconfig64_h pyconfig-64.h +%global _pyconfig_h pyconfig-%{wordsize}.h + +# Use a common function to do an install for all our configurations: +InstallPython() { + + ConfName=$1 + PyInstSoName=$2 + MoreCFlags=$3 + LDVersion=$4 + + # Switch to the directory with this configuration's built files + ConfDir=build/$ConfName + echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName + mkdir -p $ConfDir + pushd $ConfDir + + make \ + DESTDIR=%{buildroot} \ + INSTALL="install -p" \ + EXTRA_CFLAGS="$MoreCFlags" \ + install + + popd + +%if %{with gdb_hooks} + # See comment on $DirHoldingGdbPy above + PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName-%{version}-%{release}.%{_arch}.debug-gdb.py + cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy +%endif # with gdb_hooks + + # Rename the -devel script that differs on different arches to arch specific name + mv %{buildroot}%{_bindir}/python${LDVersion}-{,`uname -m`-}config + echo -e '#!/bin/sh\nexec `dirname $0`/python'${LDVersion}'-`uname -m`-config "$@"' > \ + %{buildroot}%{_bindir}/python${LDVersion}-config + echo '[ $? -eq 127 ] && echo "Could not find python'${LDVersion}'-`uname -m`-config. Look around to see available arches." >&2' >> \ + %{buildroot}%{_bindir}/python${LDVersion}-config + chmod +x %{buildroot}%{_bindir}/python${LDVersion}-config + + # Make python3-devel multilib-ready + mv %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h \ + %{buildroot}%{_includedir}/python${LDVersion}/%{_pyconfig_h} + cat > %{buildroot}%{_includedir}/python${LDVersion}/pyconfig.h << EOF +#include <bits/wordsize.h> + +#if __WORDSIZE == 32 +#include "%{_pyconfig32_h}" +#elif __WORDSIZE == 64 +#include "%{_pyconfig64_h}" +#else +#error "Unknown word size" +#endif +EOF + + echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName +} + +# Install the "debug" build first; any common files will be overridden with +# later builds +%if %{with debug_build} +InstallPython debug \ + %{py_INSTSONAME_debug} \ + -O0 \ + %{LDVERSION_debug} +%endif # with debug_build + +# Now the optimized build: +InstallPython optimized \ + %{py_INSTSONAME_optimized} \ + "" \ + %{LDVERSION_optimized} + +# Install directories for additional packages +install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__ +%if "%{_lib}" == "lib64" +# The 64-bit version needs to create "site-packages" in /usr/lib/ (for +# pure-Python modules) as well as in /usr/lib64/ (for packages with extension +# modules). +# Note that rpmlint will complain about hardcoded library path; +# this is intentional. +install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__ +%endif + +%if %{without flatpackage} +# add idle3 to menu +install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png +install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png +install -D -m 0644 Lib/idlelib/Icons/idle_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/idle3.png +desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE10} + +# Install and validate appdata file +mkdir -p %{buildroot}%{_metainfodir} +cp -a %{SOURCE11} %{buildroot}%{_metainfodir} +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml +%endif + +# Make sure distutils looks at the right pyconfig.h file +# See https://bugzilla.redhat.com/show_bug.cgi?id=201434 +# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate +# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py +# when python starts up (see https://bugzilla.redhat.com/show_bug.cgi?id=653058) +# +# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h +# variants: +sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \ + %{buildroot}%{pylibdir}/distutils/sysconfig.py \ + %{buildroot}%{pylibdir}/sysconfig.py + +# Install pathfix.py to bindir +# See https://github.com/fedora-python/python-rpm-porting/issues/24 +cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/ + +# Install i18n tools to bindir +# They are also in python2, so we version them +# https://bugzilla.redhat.com/show_bug.cgi?id=1571474 +for tool in pygettext msgfmt; do + cp -p Tools/i18n/${tool}.py %{buildroot}%{_bindir}/${tool}%{pybasever}.py + ln -s ${tool}%{pybasever}.py %{buildroot}%{_bindir}/${tool}3.py +done + +# Switch all shebangs to refer to the specific Python version. +# This currently only covers files matching ^[a-zA-Z0-9_]+.py$, +# so handle files named using other naming scheme separately. +LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \ + Tools/scripts/pathfix.py \ + -i "%{_bindir}/python%{pybasever}" -pn \ + %{buildroot} \ + %{buildroot}%{_bindir}/*%{pybasever}.py \ + %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py} + +# Remove tests for python3-tools which was removed in +# https://bugzilla.redhat.com/show_bug.cgi?id=1312030 +rm -rf %{buildroot}%{pylibdir}/test/test_tools + +# Remove shebang lines from .py files that aren't executable, and +# remove executability from .py files that don't have a shebang line: +find %{buildroot} -name *.py \ + ( ( ! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} ; \ + -print -exec sed -i '1d' {} ; ) -o ( \ + -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} ; \ + -exec chmod a-x {} ; ) ) + +# Get rid of DOS batch files: +find %{buildroot} -name *.bat -exec rm {} ; + +# Get rid of backup files: +find %{buildroot}/ -name "*~" -exec rm -f {} ; +find . -name "*~" -exec rm -f {} ; + +# Get rid of a stray copy of the license: +rm %{buildroot}%{pylibdir}/LICENSE.txt + +# Do bytecompilation with the newly installed interpreter. +# This is similar to the script in macros.pybytecompile +# compile *.pyc +find %{buildroot} -type f -a -name "*.py" -print0 | \ + LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ + PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ + 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:]]' || : + +# Since we have pathfix.py in bindir, this is created, but we don't want it +rm -rf %{buildroot}%{_bindir}/__pycache__ + +# Fixup permissions for shared libraries from non-standard 555 to standard 755: +find %{buildroot} -perm 555 -exec chmod 755 {} ; + +# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to +# avoid the user having to know the precise version and ABI flags. +# See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748 +%if %{with debug_build} && %{without flatpackage} +ln -s \ + %{_bindir}/python%{LDVERSION_debug} \ + %{buildroot}%{_bindir}/python3-debug +%endif + +# There's 2to3-X.X executable and 2to3 soft link to it. +# No reason to have both, so keep only 2to3 as an executable. +# See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 +mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3 + +%if %{with flatpackage} +# Remove stuff that would conflict with python3 package +rm %{buildroot}%{_bindir}/python3 +rm %{buildroot}%{_bindir}/pydoc3 +rm %{buildroot}%{_bindir}/pathfix.py +rm %{buildroot}%{_bindir}/pygettext3.py +rm %{buildroot}%{_bindir}/msgfmt3.py +rm %{buildroot}%{_bindir}/idle3 +rm %{buildroot}%{_bindir}/python3-* +rm %{buildroot}%{_bindir}/2to3 +rm %{buildroot}%{_libdir}/libpython3.so +rm %{buildroot}%{_mandir}/man1/python3.1* +rm %{buildroot}%{_libdir}/pkgconfig/python3.pc +%endif + + +# ====================================================== +# Checks for packaging issues +# ====================================================== + +%check + +# first of all, check timestamps of bytecode files +find %{buildroot} -type f -a -name "*.py" -print0 | \ + LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ + PYTHONPATH="%{buildroot}%{_libdir}/python%{pybasever} %{buildroot}%{_libdir}/python%{pybasever}/site-packages" \ + xargs -0 %{buildroot}%{_bindir}/python%{pybasever} %{SOURCE8} + +# Ensure that the curses module was linked against libncursesw.so, rather than +# libncurses.so +# See https://bugzilla.redhat.com/show_bug.cgi?id=539917 +ldd %{buildroot}/%{dynload_dir}/_curses*.so \ + | grep curses \ + | grep libncurses.so && (echo "_curses.so linked against libncurses.so" ; exit 1) + +# Ensure that the debug modules are linked against the debug libpython, and +# likewise for the optimized modules and libpython: +for Module in %{buildroot}/%{dynload_dir}/*.so ; do + case $Module in + *.%{SOABI_debug}) + ldd $Module | grep %{py_INSTSONAME_optimized} && + (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1) + + ;; + *.%{SOABI_optimized}) + ldd $Module | grep %{py_INSTSONAME_debug} && + (echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1) + ;; + esac +done + + +# ====================================================== +# Running the upstream test suite +# ====================================================== + +topdir=$(pwd) +CheckPython() { + ConfName=$1 + ConfDir=$(pwd)/build/$ConfName + + # Fedora sets TLSv1 as explicit minimum version. + # Python's test suite assumes that the minimum protocol version is set to + # a magic marker. We workaround the test problem by setting: + export OPENSSL_CONF=/non-existing-file + # https://bugzilla.redhat.com/show_bug.cgi?id=1618753 + + echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName + + # Note that we're running the tests using the version of the code in the + # builddir, not in the buildroot. + + # Show some info, helpful for debugging test failures + LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.pythoninfo + + # Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the + # our non-standard decorators take effect on the relevant tests: + # @unittest._skipInRpmBuild(reason) + # @unittest._expectedFailureInRpmBuild + WITHIN_PYTHON_RPM_BUILD= \ + LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ + -wW --slowest -j0 \ + -x test_distutils \ + -x test_bdist_rpm \ + -x test_gdb \ + %ifarch %{mips64} + -x test_ctypes \ + %endif + %ifarch ppc64le + -x test_buffer \ + %endif + + echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName + +} + +%if %{with tests} + +# Check each of the configurations: +%if %{with debug_build} +CheckPython debug +%endif # with debug_build +CheckPython optimized + +%endif # with tests + + +%files +%license LICENSE +%doc README.rst + +%if %{without flatpackage} +%{_bindir}/pydoc* +%{_bindir}/python3 +%else +%{_bindir}/pydoc%{pybasever} +%endif + +%{_bindir}/python%{pybasever} +%{_bindir}/python%{pybasever}m +%{_mandir}/*/* + + +%if %{without flatpackage} +%files libs +%license LICENSE +%doc README.rst +%endif + +%dir %{pylibdir} +%dir %{dynload_dir} + +%{pylibdir}/lib2to3 +%if %{without flatpackage} +%exclude %{pylibdir}/lib2to3/tests +%endif + +%dir %{pylibdir}/unittest/ +%dir %{pylibdir}/unittest/__pycache__/ +%{pylibdir}/unittest/*.py +%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/asyncio/ +%dir %{pylibdir}/asyncio/__pycache__/ +%{pylibdir}/asyncio/*.py +%{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/venv/ +%dir %{pylibdir}/venv/__pycache__/ +%{pylibdir}/venv/*.py +%{pylibdir}/venv/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/venv/scripts + +%{pylibdir}/wsgiref +%{pylibdir}/xmlrpc + +%dir %{pylibdir}/ensurepip/ +%dir %{pylibdir}/ensurepip/__pycache__/ +%{pylibdir}/ensurepip/*.py +%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes} + +%if %{with rpmwheels} +%exclude %{pylibdir}/ensurepip/_bundled +%else +%dir %{pylibdir}/ensurepip/_bundled +%{pylibdir}/ensurepip/_bundled/*.whl +%endif + +# The majority of the test module lives in the test subpackage +# However test.support is in libs - it contains stuff used when testing your code +# https://bugzilla.redhat.com/show_bug.cgi?id=596258 +%if %{without flatpackage} +%dir %{pylibdir}/test/ +%dir %{pylibdir}/test/__pycache__/ +%dir %{pylibdir}/test/support/ +%dir %{pylibdir}/test/support/__pycache__/ +%{pylibdir}/test/__init__.py +%{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} +%{pylibdir}/test/support/*.py +%{pylibdir}/test/support/__pycache__/*%{bytecode_suffixes} +%endif + +%dir %{pylibdir}/concurrent/ +%dir %{pylibdir}/concurrent/__pycache__/ +%{pylibdir}/concurrent/*.py +%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/concurrent/futures/ +%dir %{pylibdir}/concurrent/futures/__pycache__/ +%{pylibdir}/concurrent/futures/*.py +%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes} + +%{pylibdir}/pydoc_data + +%{dynload_dir}/_blake2.%{SOABI_optimized}.so +%{dynload_dir}/_md5.%{SOABI_optimized}.so +%{dynload_dir}/_sha1.%{SOABI_optimized}.so +%{dynload_dir}/_sha256.%{SOABI_optimized}.so +%{dynload_dir}/_sha3.%{SOABI_optimized}.so +%{dynload_dir}/_sha512.%{SOABI_optimized}.so + +%{dynload_dir}/_asyncio.%{SOABI_optimized}.so +%{dynload_dir}/_bisect.%{SOABI_optimized}.so +%{dynload_dir}/_bz2.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so +%{dynload_dir}/_contextvars.%{SOABI_optimized}.so +%{dynload_dir}/_crypt.%{SOABI_optimized}.so +%{dynload_dir}/_csv.%{SOABI_optimized}.so +%{dynload_dir}/_ctypes.%{SOABI_optimized}.so +%{dynload_dir}/_curses.%{SOABI_optimized}.so +%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so +%{dynload_dir}/_dbm.%{SOABI_optimized}.so +%{dynload_dir}/_decimal.%{SOABI_optimized}.so +%{dynload_dir}/_elementtree.%{SOABI_optimized}.so +%if %{with gdbm} +%{dynload_dir}/_gdbm.%{SOABI_optimized}.so +%endif +%{dynload_dir}/_hashlib.%{SOABI_optimized}.so +%{dynload_dir}/_heapq.%{SOABI_optimized}.so +%{dynload_dir}/_json.%{SOABI_optimized}.so +%{dynload_dir}/_lsprof.%{SOABI_optimized}.so +%{dynload_dir}/_lzma.%{SOABI_optimized}.so +%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so +%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so +%{dynload_dir}/_opcode.%{SOABI_optimized}.so +%{dynload_dir}/_pickle.%{SOABI_optimized}.so +%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so +%{dynload_dir}/_queue.%{SOABI_optimized}.so +%{dynload_dir}/_random.%{SOABI_optimized}.so +%{dynload_dir}/_socket.%{SOABI_optimized}.so +%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so +%{dynload_dir}/_ssl.%{SOABI_optimized}.so +%{dynload_dir}/_struct.%{SOABI_optimized}.so +%{dynload_dir}/array.%{SOABI_optimized}.so +%{dynload_dir}/audioop.%{SOABI_optimized}.so +%{dynload_dir}/binascii.%{SOABI_optimized}.so +%{dynload_dir}/cmath.%{SOABI_optimized}.so +%{dynload_dir}/_datetime.%{SOABI_optimized}.so +%{dynload_dir}/fcntl.%{SOABI_optimized}.so +%{dynload_dir}/grp.%{SOABI_optimized}.so +%{dynload_dir}/math.%{SOABI_optimized}.so +%{dynload_dir}/mmap.%{SOABI_optimized}.so +%{dynload_dir}/nis.%{SOABI_optimized}.so +%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so +%{dynload_dir}/parser.%{SOABI_optimized}.so +%{dynload_dir}/_posixshmem.%{SOABI_optimized}.so +%{dynload_dir}/pyexpat.%{SOABI_optimized}.so +%{dynload_dir}/readline.%{SOABI_optimized}.so +%{dynload_dir}/resource.%{SOABI_optimized}.so +%{dynload_dir}/select.%{SOABI_optimized}.so +%{dynload_dir}/spwd.%{SOABI_optimized}.so +%{dynload_dir}/syslog.%{SOABI_optimized}.so +%{dynload_dir}/termios.%{SOABI_optimized}.so +%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so +%{dynload_dir}/unicodedata.%{SOABI_optimized}.so +%{dynload_dir}/_uuid.%{SOABI_optimized}.so +%{dynload_dir}/xxlimited.%{SOABI_optimized}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so +%{dynload_dir}/zlib.%{SOABI_optimized}.so + +%dir %{pylibdir}/site-packages/ +%dir %{pylibdir}/site-packages/__pycache__/ +%{pylibdir}/site-packages/README.txt +%{pylibdir}/*.py +%dir %{pylibdir}/__pycache__/ +%{pylibdir}/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/collections/ +%dir %{pylibdir}/collections/__pycache__/ +%{pylibdir}/collections/*.py +%{pylibdir}/collections/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/ctypes/ +%dir %{pylibdir}/ctypes/__pycache__/ +%{pylibdir}/ctypes/*.py +%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/ctypes/macholib + +%{pylibdir}/curses + +%dir %{pylibdir}/dbm/ +%dir %{pylibdir}/dbm/__pycache__/ +%{pylibdir}/dbm/*.py +%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/distutils/ +%dir %{pylibdir}/distutils/__pycache__/ +%{pylibdir}/distutils/*.py +%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/distutils/README +%{pylibdir}/distutils/command + +%dir %{pylibdir}/email/ +%dir %{pylibdir}/email/__pycache__/ +%{pylibdir}/email/*.py +%{pylibdir}/email/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/email/mime +%doc %{pylibdir}/email/architecture.rst + +%{pylibdir}/encodings + +%{pylibdir}/html +%{pylibdir}/http + +%dir %{pylibdir}/importlib/ +%dir %{pylibdir}/importlib/__pycache__/ +%{pylibdir}/importlib/*.py +%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/json/ +%dir %{pylibdir}/json/__pycache__/ +%{pylibdir}/json/*.py +%{pylibdir}/json/__pycache__/*%{bytecode_suffixes} + +%{pylibdir}/logging +%{pylibdir}/multiprocessing + +%dir %{pylibdir}/sqlite3/ +%dir %{pylibdir}/sqlite3/__pycache__/ +%{pylibdir}/sqlite3/*.py +%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes} + +%if %{without flatpackage} +%exclude %{pylibdir}/turtle.py +%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} +%endif + +%{pylibdir}/urllib +%{pylibdir}/xml + +%if "%{_lib}" == "lib64" +%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever} +%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages +%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages/__pycache__/ +%endif + +# "Makefile" and the config-32/64.h file are needed by +# distutils/sysconfig.py:_init_posix(), so we include them in the core +# package, along with their parent directories (bug 531901): +%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/ +%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile +%dir %{_includedir}/python%{LDVERSION_optimized}/ +%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} + +%{_libdir}/%{py_INSTSONAME_optimized} +%if %{without flatpackage} +%{_libdir}/libpython3.so +%endif + + +%if %{without flatpackage} +%files devel +%{_bindir}/2to3 +%endif + +%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/* +%if %{without flatpackage} +%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile +%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} +%endif +%{_includedir}/python%{LDVERSION_optimized}/*.h +%{_includedir}/python%{LDVERSION_optimized}/internal/ +%{_includedir}/python%{LDVERSION_optimized}/cpython/ +%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit + +%if %{without flatpackage} +%{_bindir}/python3-config +%{_libdir}/pkgconfig/python3.pc +%{_bindir}/pathfix.py +%{_bindir}/pygettext3.py +%{_bindir}/msgfmt3.py +%endif + +%{_bindir}/pygettext%{pybasever}.py +%{_bindir}/msgfmt%{pybasever}.py + +%{_bindir}/python%{pybasever}-config +%{_bindir}/python%{LDVERSION_optimized}-config +%{_bindir}/python%{LDVERSION_optimized}-*-config +%{_libdir}/libpython%{LDVERSION_optimized}.so +%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc +%{_libdir}/pkgconfig/python-%{pybasever}.pc + + +%if %{without flatpackage} +%files idle + +%{_bindir}/idle* +%else +%{_bindir}/idle%{pybasever} +%endif + +%{pylibdir}/idlelib + +%if %{without flatpackage} +%{_metainfodir}/idle3.appdata.xml +%{_datadir}/applications/idle3.desktop +%{_datadir}/icons/hicolor/*/apps/idle3.* +%endif + +%if %{without flatpackage} +%files tkinter +%endif + +%{pylibdir}/tkinter +%if %{without flatpackage} +%exclude %{pylibdir}/tkinter/test +%endif +%{dynload_dir}/_tkinter.%{SOABI_optimized}.so +%{pylibdir}/turtle.py +%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} +%dir %{pylibdir}/turtledemo +%{pylibdir}/turtledemo/*.py +%{pylibdir}/turtledemo/*.cfg +%dir %{pylibdir}/turtledemo/__pycache__/ +%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes} + + +%if %{without flatpackage} +%files test +%endif + +%{pylibdir}/ctypes/test +%{pylibdir}/distutils/tests +%{pylibdir}/sqlite3/test +%{pylibdir}/test +%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so +%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so +%{dynload_dir}/_testcapi.%{SOABI_optimized}.so +%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so +%{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so +%{pylibdir}/lib2to3/tests +%{pylibdir}/tkinter/test +%{pylibdir}/unittest/test + +# stuff already owned by the libs subpackage +# test requires libs, so we are safe not owning those dirs +%if %{without flatpackage} +%exclude %dir %{pylibdir}/test/ +%exclude %dir %{pylibdir}/test/__pycache__/ +%exclude %{pylibdir}/test/__init__.py +%exclude %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} +%exclude %{pylibdir}/test/support/ +%endif + +# We don't bother splitting the debug build out into further subpackages: +# if you need it, you're probably a developer. + +# Hence the manifest is the combination of analogous files in the manifests of +# all of the other subpackages + +%if %{with debug_build} +%if %{without flatpackage} +%files debug +%{_bindir}/python3-debug +%endif + +# Analog of the core subpackage's files: +%{_bindir}/python%{LDVERSION_debug} + +# Analog of the -libs subpackage's files: +# ...with debug builds of the built-in "extension" modules: + +%{dynload_dir}/_blake2.%{SOABI_debug}.so +%{dynload_dir}/_md5.%{SOABI_debug}.so +%{dynload_dir}/_sha1.%{SOABI_debug}.so +%{dynload_dir}/_sha256.%{SOABI_debug}.so +%{dynload_dir}/_sha3.%{SOABI_debug}.so +%{dynload_dir}/_sha512.%{SOABI_debug}.so + +%{dynload_dir}/_asyncio.%{SOABI_debug}.so +%{dynload_dir}/_bisect.%{SOABI_debug}.so +%{dynload_dir}/_bz2.%{SOABI_debug}.so +%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so +%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so +%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so +%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so +%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so +%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so +%{dynload_dir}/_contextvars.%{SOABI_debug}.so +%{dynload_dir}/_crypt.%{SOABI_debug}.so +%{dynload_dir}/_csv.%{SOABI_debug}.so +%{dynload_dir}/_ctypes.%{SOABI_debug}.so +%{dynload_dir}/_curses.%{SOABI_debug}.so +%{dynload_dir}/_curses_panel.%{SOABI_debug}.so +%{dynload_dir}/_dbm.%{SOABI_debug}.so +%{dynload_dir}/_decimal.%{SOABI_debug}.so +%{dynload_dir}/_elementtree.%{SOABI_debug}.so +%if %{with gdbm} +%{dynload_dir}/_gdbm.%{SOABI_debug}.so +%endif +%{dynload_dir}/_hashlib.%{SOABI_debug}.so +%{dynload_dir}/_heapq.%{SOABI_debug}.so +%{dynload_dir}/_json.%{SOABI_debug}.so +%{dynload_dir}/_lsprof.%{SOABI_debug}.so +%{dynload_dir}/_lzma.%{SOABI_debug}.so +%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so +%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so +%{dynload_dir}/_opcode.%{SOABI_debug}.so +%{dynload_dir}/_pickle.%{SOABI_debug}.so +%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so +%{dynload_dir}/_queue.%{SOABI_debug}.so +%{dynload_dir}/_random.%{SOABI_debug}.so +%{dynload_dir}/_socket.%{SOABI_debug}.so +%{dynload_dir}/_sqlite3.%{SOABI_debug}.so +%{dynload_dir}/_ssl.%{SOABI_debug}.so +%{dynload_dir}/_struct.%{SOABI_debug}.so +%{dynload_dir}/array.%{SOABI_debug}.so +%{dynload_dir}/audioop.%{SOABI_debug}.so +%{dynload_dir}/binascii.%{SOABI_debug}.so +%{dynload_dir}/cmath.%{SOABI_debug}.so +%{dynload_dir}/_datetime.%{SOABI_debug}.so +%{dynload_dir}/fcntl.%{SOABI_debug}.so +%{dynload_dir}/grp.%{SOABI_debug}.so +%{dynload_dir}/math.%{SOABI_debug}.so +%{dynload_dir}/mmap.%{SOABI_debug}.so +%{dynload_dir}/nis.%{SOABI_debug}.so +%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so +%{dynload_dir}/parser.%{SOABI_debug}.so +%{dynload_dir}/_posixshmem.%{SOABI_debug}.so +%{dynload_dir}/pyexpat.%{SOABI_debug}.so +%{dynload_dir}/readline.%{SOABI_debug}.so +%{dynload_dir}/resource.%{SOABI_debug}.so +%{dynload_dir}/select.%{SOABI_debug}.so +%{dynload_dir}/spwd.%{SOABI_debug}.so +%{dynload_dir}/syslog.%{SOABI_debug}.so +%{dynload_dir}/termios.%{SOABI_debug}.so +%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so +%{dynload_dir}/unicodedata.%{SOABI_debug}.so +%{dynload_dir}/_uuid.%{SOABI_debug}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so +%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so +%{dynload_dir}/zlib.%{SOABI_debug}.so + +# No need to split things out the "Makefile" and the config-32/64.h file as we +# do for the regular build above (bug 531901), since they're all in one package +# now; they're listed below, under "-devel": + +%{_libdir}/%{py_INSTSONAME_debug} + +# Analog of the -devel subpackage's files: +%{pylibdir}/config-%{LDVERSION_debug}-%{_arch}-linux%{_gnu} +%{_includedir}/python%{LDVERSION_debug} +%{_bindir}/python%{LDVERSION_debug}-config +%{_bindir}/python%{LDVERSION_debug}-*-config +%{_libdir}/libpython%{LDVERSION_debug}.so +%{_libdir}/libpython%{LDVERSION_debug}.so.1.0 +%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc + +# Analog of the -tools subpackage's files: +# None for now; we could build precanned versions that have the appropriate +# shebang if needed + +# Analog of the tkinter subpackage's files: +%{dynload_dir}/_tkinter.%{SOABI_debug}.so + +# Analog of the -test subpackage's files: +%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so +%{dynload_dir}/_testbuffer.%{SOABI_debug}.so +%{dynload_dir}/_testcapi.%{SOABI_debug}.so +%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so + +%endif # with debug_build + +# We put the debug-gdb.py file inside /usr/lib/debug to avoid noise from ldconfig +# See https://bugzilla.redhat.com/show_bug.cgi?id=562980 +# +# The /usr/lib/rpm/redhat/macros defines %%__debug_package to use +# debugfiles.list, and it appears that everything below /usr/lib/debug and +# (/usr/src/debug) gets added to this file (via LISTFILES) in +# /usr/lib/rpm/find-debuginfo.sh +# +# Hence by installing it below /usr/lib/debug we ensure it is added to the +# -debuginfo subpackage +# (if it doesn't, then the rpmbuild ought to fail since the debug-gdb.py +# payload file would be unpackaged) + +# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1476593 +%undefine _debuginfo_subpackages + +# ====================================================== +# Finally, the changelog: +# ====================================================== + +%changelog +* Tue Feb 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-1 +- Update to 3.8.0a1 + +* Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 3.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 16 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-4 +- Security fix for CVE-2019-5010 (#1666519, #1666522) + +* Mon Jan 14 2019 Bjrn Esser besser82@fedoraproject.org - 3.7.2-3 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Fri Jan 04 2019 Miro Hronok mhroncok@redhat.com - 3.7.2-2 +- No longer revert upstream commit 3b699932e5ac3e7 +- This was a dirty workaround for (#1644936) + +* Tue Dec 25 2018 Miro Hronok mhroncok@redhat.com - 3.7.2-1 +- Update to 3.7.2 + +* Fri Dec 07 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-5 +- Make sure we don't ship any exe files (not needed an prebuilt) + +* Wed Nov 21 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-4 +- Make sure the entire test.support module is in python3-libs (#1651245) + +* Tue Nov 06 2018 Victor Stinner vstinner@redhat.com - 3.7.1-3 +- Verify the value of '-s' when execute the CLI of cProfile (rhbz#1160640) + +* Sun Nov 04 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-2 +- Temporarily revert upstream commit 3b699932e5ac3e7 +- This is dirty workaround for (#1644936) + +* Mon Oct 22 2018 Miro Hronok mhroncok@redhat.com - 3.7.1-1 +- Update to 3.7.1 + +* Thu Sep 27 2018 Petr Viktorin pviktori@redhat.com - 3.7.0-10 +- Compile the debug build with -Og rather than -O0 + +* Thu Aug 30 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-9 +- Require python3-setuptools from python3-devel to prevent packaging errors (#1623914) + +* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-8 +- Add /usr/bin/pygettext3.py and msgfmt3.py to python3-devel +Resolves: rhbz#1571474 + +* Fri Aug 17 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-7 +- Backport TLS 1.3 related fixes to fix FTBFS +Resolves: rhbz#1609291 + +* Wed Aug 15 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-6 +- Use RPM built wheels of pip and setuptools in ensurepip instead of our rewheel patch + +* Fri Aug 10 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-5 +- Fix wrong requirement on gdbm + +* Fri Jul 20 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-4 +- Allow to call Py_Main() after Py_Initialize() +Resolves: rhbz#1595421 + +* Sat Jul 14 2018 Fedora Release Engineering releng@fedoraproject.org - 3.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jul 12 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.7.0-2 +- Rebuild for new gdbm + +* Wed Jun 27 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-1 +- Update to 3.7.0 final + +* Wed Jun 13 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.21.rc1 +- Finish bootstrapping, enable rewheel, tests, optimizations + +* Tue Jun 12 2018 Miro Hronok mhroncok@redhat.com - 3.7.0-0.20.rc1 +- Update to 3.7.0rc1 +- Bootstrap, disable rewheel, tests, optimizations + +* Mon Apr 23 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-4 +- Fix multiprocessing regression on newer glibcs +- Enable test_multiprocessing_fork(server) and _spawn again +Resolves: rhbz#1569933 + +* Thu Apr 19 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-3 +- Skip test_multiprocessing_fork(server) and _spawn for now + +* Wed Apr 18 2018 Miro Hronok mhroncok@redhat.com - 3.6.5-2 +- Add flatpackage conditionals + +* Thu Mar 29 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.5-1 +- Update to 3.6.5 + +* Sat Mar 24 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-20 +- Fix broken macro invocation and broken building of C Python extensions +Resolves: rhbz#1560103 + +* Fri Mar 16 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-19 +- Add -n option for pathfix.py +Resolves: rhbz#1546990 + +* Thu Mar 15 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-18 +- Fix the py_byte_compile macro to work on Python 2 +- Remove the pybytecompile macro file from the flat package +Resolves: rhbz#1484993 + +* Tue Mar 13 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-17 +- Do not send IP addresses in SNI TLS extension + +* Sat Feb 24 2018 Florian Weimer fweimer@redhat.com - 3.6.4-16 +- Rebuild with new LDFLAGS from redhat-rpm-config + +* Wed Feb 21 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-15 +- Filter out automatic /usr/bin/python3.X requirement, + recommend the main package from libs instead +Resolves: rhbz#1547131 + +* Thu Feb 15 2018 Iryna Shcherbina ishcherb@redhat.com - 3.6.4-14 +- Remove the python3-tools package (#rhbz 1312030) +- Move /usr/bin/2to3 to python3-devel +- Move /usr/bin/idle and idlelib to python3-idle +- Provide python3-tools from python3-idle + +* Fri Feb 09 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-13 +- Escape macros in %%changelog + +* Fri Feb 02 2018 Michal Cyprian mcyprian@redhat.com - 3.6.4-12 +- Remove sys.executable check from change-user-install-location patch +Resolves: rhbz#1532287 + +* Thu Feb 01 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-11 +- Define TLS cipher suite on build time. + +* Wed Jan 31 2018 Tomas Orsava torsava@redhat.com - 3.6.4-10 +- Disable test_gdb for all arches and test_buffer for ppc64le in anticipation + of the F28 mass rebuild +- Re-enable these tests after the mass rebuild when they can be properly + addressed + +* Tue Jan 23 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-9 +- Restore the PyExc_RecursionErrorInst public symbol + +* Tue Jan 23 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-8 +- Add patch to explicitly link _ctypes module with -ldl (#1537489) +- Refactored patch for libxcrypt +- Re-enable strict symbol checks in the link editor + +* Mon Jan 22 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-7 +- Add patch for libxcrypt +- Disable strict symbol checks in the link editor + +* Sat Jan 20 2018 Bjrn Esser besser82@fedoraproject.org - 3.6.4-6 +- Rebuilt for switch to libxcrypt + +* Fri Jan 19 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-5 +- Fix localeconv() encoding for LC_NUMERIC + +* Thu Jan 18 2018 Igor Gnatenko ignatenkobrain@fedoraproject.org - 3.6.4-4 +- R: gdbm-devel R: gdbm for python3-libs + +* Wed Jan 17 2018 Miro Hronok mhroncok@redhat.com - 3.6.4-3 +- Require large enough gdbm (fixup for previous bump) + +* Tue Jan 16 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-2 +- Rebuild for reverted gdbm 1.13 on Fedora 27 + +* Mon Jan 15 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.4-1 +- Update to version 3.6.4 + +* Fri Jan 12 2018 Charalampos Stratakis cstratak@redhat.com - 3.6.3-5 +- Fix the compilation of the nis module. + +* Tue Nov 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-4 +- Raise the release of platform-python obsoletes for better maintainability + +* Wed Nov 15 2017 Miro Hronok mhroncok@redhat.com - 3.6.3-3 +- Obsolete platform-python and it's subpackages + +* Mon Oct 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-2 +- Fix memory corruption due to allocator mix +Resolves: rhbz#1498207 + +* Fri Oct 06 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.3-1 +- Update to Python 3.6.3 + +* Fri Sep 29 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-19 +- Move pathfix.py to bindir, https://github.com/fedora-python/python-rpm-porting/issues/24 +- Make the -devel package require redhat-rpm-config +Resolves: rhbz#1496757 + +* Wed Sep 13 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-18 +- Fix /usr/bin/env dependency from python3-tools +Resolves: rhbz#1482118 + +* Wed Sep 06 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-17 +- Include `-g` in the flags sent to the linker (LDFLAGS) +Resolves: rhbz#1483222 + +* Tue Sep 05 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-16 +- Specfile cleanup +- Make the main description also applicable to the SRPM +- Add audiotest.au to the test package + +* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-15 +- Remove %%{pylibdir}/Tools/scripts/2to3 + +* Fri Sep 01 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-14 +- Expat >= 2.1.0 is everywhere, remove explicit requires +- Conditionalize systemtap-devel BuildRequires +- For consistency, require /usr/sbin/ifconfig instead of net-tools + +* Mon Aug 28 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-13 +- Rename patch files to be consistent +- Run autotools to generate the configure script before building +- Merge lib64 patches (104 into 102) +- Skip test_bdist_rpm using test config rather than a patch (removes patch 137) +- Remove patches 157 and 186, which had test changes left over after upstreaming +- Remove patch 188, a temporary workaround for hashlib tests +- Merge patches 180, 206, 243, 5001 (architecture naming) into new patch 274 +- Move python2-tools conflicts to tools subpackage (it was wrongly in tkinter) + +* Mon Aug 28 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-12 +- Use python3 style of calling super() without arguments in rpath + patch to prevent recursion in UnixCCompiler subclasses +Resolves: rhbz#1458122 + +* Mon Aug 21 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-11 +- Add bcond for --without optimizations +- Reword package descriptions +- Remove Group declarations +- Skip failing test_float_with_comma + +* Mon Aug 21 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-10 +- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack + +* Wed Aug 16 2017 Petr Viktorin pviktori@redhat.com - 3.6.2-9 +- Use bconds for configuring the build +- Reorganize the initial sections + +* Wed Aug 16 2017 Miro Hronok mhroncok@redhat.com - 3.6.2-8 +- Have /usr/bin/2to3 (rhbz#1111275) +- Provide 2to3 and idle3, list them in summary and description (rhbz#1076401) + +* Fri Aug 11 2017 Michal Cyprian mcyprian@redhat.com - 3.6.2-7 +- Revert "Add --executable option to install.py command" + This enhancement is currently not needed and it can possibly + collide with `pip --editable`option + +* Mon Aug 07 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.2-6 +- Fix the "urllib FTP protocol stream injection" vulnerability +Resolves: rhbz#1478916 + +* Tue Aug 01 2017 Tomas Orsava torsava@redhat.com - 3.6.2-5 +- Dropped BuildRequires on db4-devel which was useful for Python 2 (module + bsddb), however, no longer needod for Python 3 +- Tested building Python 3 with and without the dependency, all tests pass and + filelists of resulting RPMs are identical + +* Sun Jul 30 2017 Florian Weimer fweimer@redhat.com - 3.6.2-4 +- Do not generate debuginfo subpackages (#1476593) +- Rebuild with binutils fix for ppc64le (#1475636) + +* Thu Jul 27 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 25 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-2 +- Make test_asyncio to not depend on the current SIGHUP signal handler. + +* Tue Jul 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.2-1 +- Update to Python 3.6.2 + +* Tue Jun 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-10 +- Update to the latest upstream implementation of PEP 538 + +* Mon Jun 26 2017 Michal Cyprian mcyprian@redhat.com - 3.6.1-9 +- Make pip and distutils in user environment install into separate location + +* Fri Jun 23 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-8 +- Fix test_alpn_protocols from test_ssl +- Do not require rebundled setuptools dependencies + +* Tue May 16 2017 Tomas Orsava torsava@redhat.com - 3.6.1-7 +- Added a dependency to the devel subpackage on python3-rpm-generators which + have been excised out of rpm-build +- Updated notes on bootstrapping Python on top of this specfile accordingly +- Involves: rhbz#1410631, rhbz#1444925 + +* Tue May 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-6 +- Enable profile guided optimizations for x86_64 and i686 architectures +- Update to a newer implementation of PEP 538 +- Update description to reflect that Python 3 is now the default Python + +* Fri May 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-5 +- Update PEP 538 to the latest upstream implementation + +* Tue Apr 18 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-4 +- Enable link time optimizations +- Move windows executables to the devel subpackage (rhbz#1426257) + +* Thu Apr 13 2017 Tomas Orsava torsava@redhat.com - 3.6.1-3 +- Rename python3.Xdm-config script from -debug to be arch specific +Resolves: rhbz#1179073 + +* Wed Apr 05 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.1-2 +- Install the Makefile in its proper location (rhbz#1438219) + +* Wed Mar 22 2017 Iryna Shcherbina ishcherb@redhat.com - 3.6.1-1 +- Update to version 3.6.1 final + +* Tue Mar 21 2017 Tomas Orsava torsava@redhat.com - 3.6.1-0.2.rc1 +- Fix syntax error in %%py_byte_compile macro (rhbz#1433569) + +* Thu Mar 16 2017 Iryna Shcherbina ishcherb@redaht.com - 3.6.1-0.1.rc1 +- Update to Python 3.6.1 release candidate 1 +- Add patch 264 to skip a known test failure on aarch64 + +* Fri Mar 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-21 +- Use proper command line parsing in _testembed +- Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale + https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale + +* Mon Feb 27 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-20 +- Add desktop entry and appdata.xml file for IDLE 3 (rhbz#1392049) + +* Fri Feb 24 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-19 +- Revert "Set values of prefix and exec_prefix to /usr/local for + /usr/bin/python* executables..." to prevent build failures + of packages using alternate build tools + +* Tue Feb 21 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-18 +- Set values of prefix and exec_prefix to /usr/local for + /usr/bin/python* executables +- Use new %%_module_build macro + +* Fri Feb 17 2017 Michal Cyprian mcyprian@redhat.com - 3.6.0-13 +- Add --executable option to install.py command + +* Wed Feb 15 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-12 +- BuildRequire the new dependencies of setuptools when rewheel mode is enabled +in order for the virtualenvs to work properly + +* Sat Feb 11 2017 Fedora Release Engineering releng@fedoraproject.org - 3.6.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 01 2017 Stephen Gallagher sgallagh@redhat.com - 3.6.0-10 +- Add missing %%license macro + +* Thu Jan 26 2017 Tomas Orsava torsava@redhat.com - 3.6.0-9 +- Modify the runtime dependency of python3-libs on system-python-libs again, + because previous attempt didn't work properly with dnf resolving mechanism + +* Wed Jan 25 2017 Tomas Orsava torsava@redhat.com - 3.6.0-8 +- Modify the runtime dependency of python3-libs on system-python-libs to use + just the version and release number, but not the dist tag due to Modularity + +* Mon Jan 16 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-7 +- Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275) +- Skip test_aead_aes_gcm during rpmbuild + +* Thu Jan 12 2017 Igor Gnatenko ignatenko@redhat.com - 3.6.0-6 +- Rebuild for readline 7.x + +* Tue Jan 10 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-5 +- Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644) + +* Mon Jan 09 2017 Charalampos Stratakis cstratak@redhat.com - 3.6.0-4 +- Define HAVE_LONG_LONG as 1 for backwards compatibility + +* Thu Jan 05 2017 Miro Hronok mhroncok@redhat.com - 3.6.0-3 +- Don't blow up on EL7 kernel (random generator) (rhbz#1410175) + +* Tue Dec 27 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-1 +- Update to Python 3.6.0 final + +* Fri Dec 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.6.rc1 +- Enable rewheel + +* Wed Dec 07 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.5.rc1 +- Update to Python 3.6.0 release candidate 1 + +* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.6.0-0.4.b4 +- Update to Python 3.6.0 beta 4 + +* Mon Dec 05 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-7 +- Set to work with pip version 9.0.1 + +* Wed Oct 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-6 +- Use proper patch numbering and base upstream branch for +porting ssl and hashlib modules to OpenSSL 1.1.0 +- Drop hashlib patch for now +- Add riscv64 arch to 64bit and no-valgrind arches + +* Tue Oct 11 2016 Tom Mrz tmraz@redhat.com - 3.5.2-5 +- Make it build with OpenSSL-1.1.0 based on upstream patch + +* Wed Sep 14 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-4 +- Obsolete and Provide python35 package + +* Mon Sep 12 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.2-3 +- Update %%py_byte_compile macro +- Remove unused configure flags (rhbz#1374357) + +* Fri Sep 09 2016 Tomas Orsava torsava@redhat.com - 3.5.2-2 +- Updated .pyc 'bytecompilation with the newly installed interpreter' to also + recompile optimized .pyc files +- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo + files are no more +- Resolves rhbz#1373635 + +* Mon Aug 15 2016 Tomas Orsava torsava@redhat.com - 3.5.2-1 +- Rebased to version 3.5.2 +- Set to work with pip version 8.1.2 +- Removed patches 207, 237, 241 as fixes are already contained in Python 3.5.2 +- Removed arch or environment specific patches 194, 196, 203, and 208 + as test builds indicate they are no longer needed +- Updated patches 102, 146, and 242 to work with the new Python codebase +- Removed patches 200, 201, 5000 which weren't even being applied + +* Tue Aug 09 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-15 +- Fix for CVE-2016-1000110 HTTPoxy attack +- SPEC file cleanup + +* Mon Aug 01 2016 Michal Toman mtoman@fedoraproject.org - 3.5.1-14 +- Build properly on MIPS + +* Tue Jul 19 2016 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.5.1-13 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Pac... + +* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-12 +- Refactor patch for properly fixing CVE-2016-5636 + +* Fri Jul 08 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-11 +- Fix test_pyexpat failure with Expat version of 2.2.0 + +* Fri Jul 08 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-10 +- Move xml module to system-python-libs + +* Thu Jun 16 2016 Tomas Orsava torsava@redhat.com - 3.5.1-9 +- Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack +- Raise an error when STARTTLS fails +- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647 +- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345 +- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394 + +* Mon Jun 13 2016 Charalampos Stratakis cstratak@redhat.com - 3.5.1-8 +- Added patch for fixing possible integer overflow and heap corruption in zipimporter.get_data() + +* Fri Mar 04 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-7 +- Move distutils to system-python-libs + +* Wed Feb 24 2016 Robert Kuska rkuska@redhat.com - 3.5.1-6 +- Provide python3-enum34 + +* Fri Feb 19 2016 Miro Hronok mhroncok@redhat.com - 3.5.1-5 +- Provide System Python packages and macros + +* Thu Feb 04 2016 Fedora Release Engineering releng@fedoraproject.org - 3.5.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 13 2016 Orion Poplwski orion@cora.nwra.com - 3.5.1-2 +- Drop python3 macros, require python/python3-rpm-macros + +* Mon Dec 14 2015 Robert Kuska rkuska@redhat.com - 3.5.1-1 +- Update to 3.5.1 +- Removed patch 199 and 207 (upstream) + +* Sun Nov 15 2015 Robert Kuska rkuska@redhat.com - 3.5.0-5 +- Remove versioned libpython from devel package + +* Fri Nov 13 2015 Than Ngo than@redhat.com 3.5.0-4 +- add correct arch for ppc64/ppc64le to fix build failure + +* Wed Nov 11 2015 Robert Kuska rkuska@redhat.com - 3.5.0-3 +- Hide the private _Py_atomic_xxx symbols from public header + +* Wed Oct 14 2015 Robert Kuska rkuska@redhat.com - 3.5.0-2 +- Rebuild with wheel set to 1 + +* Tue Sep 15 2015 Matej Stuchlik mstuchli@redhat.com - 3.5.0-1 +- Update to 3.5.0 + +* Mon Jun 29 2015 Thomas Spura tomspur@fedoraproject.org - 3.4.3-4 +- python3-devel: Require python-macros for version independant macros such as + python_provide. See fpc#281 and fpc#534. + +* Thu Jun 18 2015 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-4 +- Use 1024bit DH key in test_ssl +- Use -O0 when compiling -debug build +- Update pip version variable to the version we actually ship + +* Wed Jun 17 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-3 +- Make relocating Python by changing _prefix actually work +Resolves: rhbz#1231801 + +* Mon May 4 2015 Peter Robinson pbrobinson@fedoraproject.org 3.4.3-2 +- Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches + +* Thu Mar 12 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.3-1 +- Updated to 3.4.3 +- BuildPython now accepts additional build options +- Temporarily disabled test_gdb on arm (rhbz#1196181) + +* Wed Feb 25 2015 Matej Stuchlik mstuchli@redhat.com - 3.4.2-7 +- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64 + (http://bugs.python.org/issue23433) + +* Sat Feb 21 2015 Till Maas opensource@till.name - 3.4.2-6 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-ind... + +* Tue Feb 17 2015 Ville Skytt ville.skytta@iki.fi - 3.4.2-5 +- Own systemtap dirs (#710733) + +* Mon Jan 12 2015 Dan Hork <dan[at]danny.cz> - 3.4.2-4 +- build with valgrind on ppc64le +- disable test_gdb on s390(x) until rhbz#1181034 is resolved + +* Tue Dec 16 2014 Robert Kuska rkuska@redhat.com - 3.4.2-3 +- New patches: 170 (gc asserts), 200 (gettext headers), + 201 (gdbm memory leak) + +* Thu Dec 11 2014 Robert Kuska rkuska@redhat.com - 3.4.2-2 +- OpenSSL disabled SSLv3 in SSLv23 method + +* Thu Nov 13 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.2-1 +- Update to 3.4.2 +- Refreshed patches: 156 (gdb autoload) +- Removed: 195 (Werror declaration), 197 (CVE-2014-4650) + +* Mon Nov 03 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-16 +- Fix CVE-2014-4650 - CGIHTTPServer URL handling +Resolves: rhbz#1113529 + +* Sun Sep 07 2014 Karsten Hopp karsten@redhat.com 3.4.1-15 +- exclude test_gdb on ppc* (rhbz#1132488) + +* Thu Aug 21 2014 Slavek Kabrda bkabrda@redhat.com - 3.4.1-14 +- Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1 + +* Sun Aug 17 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 8 2014 Peter Robinson pbrobinson@fedoraproject.org 3.4.1-12 +- aarch64 has valgrind, just list those that don't support it + +* Sun Jun 08 2014 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Jun 04 2014 Karsten Hopp karsten@redhat.com 3.4.1-10 +- bump release and rebuild to link with the correct tcl/tk libs on ppcle + +* Tue Jun 03 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-9 +- Change paths to bundled projects in rewheel patch + +* Fri May 30 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-8 +- In config script, use uname -m to write the arch + +* Thu May 29 2014 Dan Hork <dan[at]danny.cz> - 3.4.1-7 +- update the arch list where valgrind exists - %%power64 includes also + ppc64le which is not supported yet + +* Thu May 29 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-6 +- Forward arguments to the arch specific config script +Resolves: rhbz#1102683 + +* Wed May 28 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-5 +- Rename python3.Xm-config script to arch specific. +Resolves: rhbz#1091815 + +* Tue May 27 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.1-4 +- Use python3-*, not python-* runtime requires on setuptools and pip +- rebuild for tcl-8.6 + +* Tue May 27 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-3 +- Update the rewheel module + +* Mon May 26 2014 Miro Hronok mhroncok@redhat.com - 3.4.1-2 +- Fix multilib dependencies. +Resolves: rhbz#1091815 + +* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.1-1 +- Update to Python 3.4.1 + +* Sun May 25 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-8 +- Fix test_gdb failure on ppc64le +Resolves: rhbz#1095355 + +* Thu May 22 2014 Miro Hronok mhroncok@redhat.com - 3.4.0-7 +- Add macro %%python3_version_nodots + +* Sun May 18 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-6 +- Disable test_faulthandler, test_gdb on aarch64 +Resolves: rhbz#1045193 + +* Fri May 16 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-5 +- Don't add Werror=declaration-after-statement for extension + modules through setup.py (PyBT#21121) + +* Mon May 12 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-4 +- Add setuptools and pip to Requires + +* Tue Apr 29 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-3 +- Point __os_install_post to correct brp-* files + +* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-2 +- Temporarily disable tests requiring SIGHUP (rhbz#1088233) + +* Tue Apr 15 2014 Matej Stuchlik mstuchli@redhat.com - 3.4.0-1 +- Update to Python 3.4 final +- Add patch adding the rewheel module +- Merge patches from master + +* Wed Jan 08 2014 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b2 +- Update to Python 3.4 beta 2. +- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise) +- Dropped patches: 114 (statvfs constants), 177 (platform unicode) + +* Mon Nov 25 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.b1 +- Update to Python 3.4 beta 1. +- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT +ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips), +157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port) +- Removed patch 00187 (remove pthread atfork; upstreamed) + +* Mon Nov 04 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.4.0-0.1.a4 +- Update to Python 3.4 alpha 4. +- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib), +114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in +test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise), +157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise +from py_compile) +- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in +Koji), 142 (the mock issue that caused this is fixed) +- Added patch 187 (remove thread atfork) - will be in next version +- Refreshed script for checking pyc and pyo timestamps with new ignored files. +- The fips patch is disabled for now until upstream makes a final decision +what to do with sha3 implementation for 3.4.0. + +* Wed Oct 30 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-7 +- Bytecompile all *.py files properly during build (rhbz#1023607) + +* Fri Aug 23 2013 Matej Stuchlik mstuchli@redhat.com - 3.3.2-6 +- Added fix for CVE-2013-4238 (rhbz#996399) + +* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-5 +- fix up indentation in arm patch + +* Fri Jul 26 2013 Dennis Gilmore dennis@ausil.us - 3.3.2-4 +- disable a test that fails on arm +- enable valgrind support on arm arches + +* Tue Jul 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-3 +- Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696). + +* Mon May 20 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-2 +- Add patch for CVE-2013-2099 (rhbz#963261). + +* Thu May 16 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.2-1 +- Updated to Python 3.3.2. +- Refreshed patches: 153 (gdb test noise) +- Dropped patches: 175 (configure -Wformat, fixed upstream), 182 (gdb +test threads) +- Synced patch numbers with python.spec. + +* Thu May 9 2013 David Malcolm dmalcolm@redhat.com - 3.3.1-4 +- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010) + +* Thu May 02 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-3 +- Add patch that enables building on ppc64p7 (replace the sed, so that +we get consistent with python2 spec and it's more obvious that we're doing it. + +* Wed Apr 24 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-2 +- Add fix for gdb tests failing on arm, rhbz#951802. + +* Tue Apr 09 2013 Bohuslav Kabrda bkabrda@redhat.com - 3.3.1-1 +- Updated to Python 3.3.1. +- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips), +153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just +keeping few more downstream tests) +- Removed patches: 3 (audiotest.au made it to upstream tarball) +- Removed workaround for http://bugs.python.org/issue14774, discussed in +http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8. + +* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-10 +- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates + +* Mon Mar 25 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-9 +- renumber patches to keep them in sync with python.spec + +* Fri Mar 15 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-8 +- Fix error in platform.platform() when non-ascii byte strings are decoded to + unicode (rhbz#922149) + +* Thu Mar 14 2013 Toshio Kuratomi toshio@fedoraproject.org - 3.3.0-7 +- Fix up shared library extension (rhbz#889784) + +* Thu Mar 07 2013 Karsten Hopp karsten@redhat.com 3.3.0-6 +- add ppc64p7 build target, optimized for Power7 + +* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-5 +- add workaround for ENOPROTOOPT seen running selftests in Koji +(rhbz#913732) + +* Mon Mar 4 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-4 +- remove config flag from /etc/rpm/macros.{python3|pybytecompile} + +* Mon Feb 11 2013 David Malcolm dmalcolm@redhat.com - 3.3.0-3 +- add aarch64 (rhbz#909783) + +* Thu Nov 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-2 +- add BR on bluez-libs-devel (rhbz#879720) + +* Sat Sep 29 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-1 +- 3.3.0rc3 -> 3.3.0; drop alphatag + +* Mon Sep 24 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.6.rc3 +- 3.3.0rc2 -> 3.3.0rc3 + +* Mon Sep 10 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.5.rc2 +- 3.3.0rc1 -> 3.3.0rc2; refresh patch 55 + +* Mon Aug 27 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.4.rc1 +- 3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55 + +* Mon Aug 13 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.3.b2 +- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111, +134, 153, 160; regenenerate autotools patch; rework systemtap patch to work +correctly when LANG=C (patch 55); importlib.test was moved to +test.test_importlib upstream + +* Mon Aug 13 2012 Karsten Hopp karsten@redhat.com 3.3.0-0.2.b1 +- disable some failing checks on PPC* (rhbz#846849) + +* Fri Aug 3 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 +- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3 +- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream +patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from +configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326); +"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped +for stdlib (upstream issues 10645 and 12218); email/test moved to +test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add +_decimal and _lzma modules; make collections modules explicit in payload again +(upstream issue 11085); add _testbuffer module to tests subpackage (added in +upstream commit 3f9b3b6f7ff0); fix test failures (patches 160 and 161); +workaround erroneously shared _sysconfigdata.py upstream issue #14774; fix +distutils.sysconfig traceback (patch 162); add BuildRequires: xz-devel (for +_lzma module); skip some tests within test_socket (patch 163) + +* Sat Jul 21 2012 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2.3-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jul 20 2012 David Malcolm dmalcolm@redhat.com - 3.3.0-0.1.b1 + +* Fri Jun 22 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-10 +- use macro for power64 (rhbz#834653) + +* Mon Jun 18 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-9 +- fix missing include in uid/gid handling patch (patch 157; rhbz#830405) + +* Wed May 30 2012 Bohuslav Kabrda bkabrda@redhat.com - 3.2.3-8 +- fix tapset for debug build + +* Tue May 15 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-7 +- update uid/gid handling to avoid int overflows seen with uid/gid +values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470) + +* Fri May 4 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-6 +- renumber autotools patch from 300 to 5000 +- specfile cleanups + +* Mon Apr 30 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-5 +- fix test_gdb.py (patch 156; rhbz#817072) + +* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-4 +- avoid allocating thunks in ctypes unless absolutely necessary, to avoid +generating SELinux denials on "import ctypes" and "import uuid" when embedding +Python within httpd (patch 155; rhbz#814391) + +* Fri Apr 20 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-3 +- add explicit version requirements on expat to avoid linkage problems with +XML_SetHashSalt + +* Thu Apr 12 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-2 +- fix test_gdb (patch 153) + +* Wed Apr 11 2012 David Malcolm dmalcolm@redhat.com - 3.2.3-1 +- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic +values), 149 (__pycache__ fix); add patch 152 (test_gdb regex) + +* Thu Feb 9 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-13 +- use newly installed python for byte compiling (now for real) + +* Sun Feb 5 2012 Thomas Spura tomspur@fedoraproject.org - 3.2.2-12 +- use newly installed python for byte compiling (#787498) + +* Wed Jan 4 2012 Ville Skytt ville.skytta@iki.fi - 3.2.2-11 +- Build with $RPM_LD_FLAGS (#756863). +- Use xz-compressed source tarball. + +* Wed Dec 07 2011 Karsten Hopp karsten@redhat.com 3.2.2-10 +- disable rAssertAlmostEqual in test_cmath on PPC (#750811) + +* Mon Oct 17 2011 Rex Dieter rdieter@fedoraproject.org - 3.2.2-9 +- python3-devel missing autogenerated pkgconfig() provides (#746751) + +* Mon Oct 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-8 +- cherrypick fix for distutils not using __pycache__ when byte-compiling +files (rhbz#722578) + +* Fri Sep 30 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-7 +- re-enable gdbm (patch 148; rhbz#742242) + +* Fri Sep 16 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-6 +- add a sys._debugmallocstats() function (patch 147) + +* Wed Sep 14 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-5 +- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and +_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146) + +* Tue Sep 13 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-4 +- disable gdbm module to prepare for gdbm soname bump + +* Mon Sep 12 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-3 +- renumber and rename patches for consistency with python.spec (8 to 55, 106 +to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143) + +* Sat Sep 10 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-2 +- rewrite of "check", introducing downstream-only hooks for skipping specific +cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more +fine-grained manner than before; (patches 106, 133-142 sparsely, moving +patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141) + +* Tue Sep 6 2011 David Malcolm dmalcolm@redhat.com - 3.2.2-1 +- 3.2.2 + +* Thu Sep 1 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-7 +- run selftests with "--verbose" +- disable parts of test_io on ppc (rhbz#732998) + +* Wed Aug 31 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-6 +- use "--findleaks --verbose3" when running test suite + +* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-5 +- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit +ppc to avoid aliasing violations (patch 130; rhbz#698726) + +* Tue Aug 23 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-4 +- don't use --with-tsc on ppc64 debug builds (rhbz#698726) + +* Thu Aug 18 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-3 +- add %%python3_version to the rpm macros (rhbz#719082) + +* Mon Jul 11 2011 Dennis Gilmore dennis@ausil.us - 3.2.1-2 +- disable some tests on sparc arches + +* Mon Jul 11 2011 David Malcolm dmalcolm@redhat.com - 3.2.1-1 +- 3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling +of static library build (due to Modules/_testembed; patch 6), autotool +intermediates (patch 300) + +* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-5 +- use the gdb hooks from the upstream tarball, rather than keeping our own copy + +* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-4 +- don't run test_openpty and test_pty in %%check + +* Fri Jul 8 2011 David Malcolm dmalcolm@redhat.com - 3.2-3 +- cleanup of BuildRequires; add comment headings to specfile sections + +* Tue Apr 19 2011 David Malcolm dmalcolm@redhat.com - 3.2-2 +- fix the libpython.stp systemtap tapset (rhbz#697730) + +* Mon Feb 21 2011 David Malcolm dmalcolm@redhat.com - 3.2-1 +- 3.2 +- drop alphatag +- regenerate autotool patch + +* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.13.rc3 +- add a /usr/bin/python3-debug symlink within the debug subpackage + +* Mon Feb 14 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.12.rc3 +- 3.2rc3 +- regenerate autotool patch + +* Wed Feb 09 2011 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.2-0.11.rc2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 31 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.10.rc2 +- 3.2rc2 + +* Mon Jan 17 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.9.rc1 +- 3.2rc1 +- rework patch 6 (static lib removal) +- remove upstreamed patch 130 (ppc debug build) +- regenerate patch 300 (autotool intermediates) +- updated packaging to reflect upstream rewrite of "Demo" (issue 7962) +- added libpython3.so and 2to3-3.2 + +* Wed Jan 5 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.8.b2 +- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker +error with dynamic annotations (when configured using --with-valgrind) +- fix the ppc build of the debug configuration (patch 130; rhbz#661510) + +* Tue Jan 4 2011 David Malcolm dmalcolm@redhat.com - 3.2-0.7.b2 +- add --with-valgrind to configuration (on architectures that support this) + +* Wed Dec 29 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.6.b2 +- work around test_subprocess failure seen in koji (patch 129) + +* Tue Dec 28 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.b2 +- 3.2b2 +- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs), +patch 8 (systemtap), patch 102 (lib64) +- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149), +patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar +fixed upstream) +- regenerate patch 300 (autotool intermediates) +- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127, +patch 128) +- stop using runtest.sh in %%check (dropped by upstream), replacing with +regrtest; fixup list of failing tests +- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros +- rework manifests of shared libraries to use "SOABI_" macros, reflecting +PEP 3149 +- drop itertools, operator and _collections modules from the manifests as py3k +commit r84058 moved these inside libpython; json/tests moved to test/json_tests +- move turtle code into the tkinter subpackage + +* Wed Nov 17 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.5.a1 +- fix sysconfig to not rely on the -devel subpackage (rhbz#653058) + +* Thu Sep 9 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.4.a1 +- move most of the content of the core package to the libs subpackage, given +that the libs aren't meaningfully usable without the standard libraries + +* Wed Sep 8 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.3.a1 +- Move test.support to core package (rhbz#596258) +- Add various missing __pycache__ directories to payload + +* Sun Aug 22 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.2-0.2.a1 +- Add __pycache__ directory for site-packages + +* Sun Aug 22 2010 Thomas Spura tomspur@fedoraproject.org - 3.2-0.1.a1 +- on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch) +- make find-provides-without-python-sonames.sh 64bit aware + +* Sat Aug 21 2010 David Malcolm dmalcolm@redhat.com - 3.2-0.0.a1 +- 3.2a1; add alphatag +- rework %%files in the light of PEP 3147 (__pycache__) +- drop our configuration patch to Setup.dist (patch 0): setup.py should do a +better job of things, and the %%files explicitly lists our modules (r82746 +appears to break the old way of doing things). This leads to various modules +changing from "foomodule.so" to "foo.so". It also leads to the optimized build +dropping the _sha1, _sha256 and _sha512 modules, but these are provided by +_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for +testing/devel purposes) +- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase +- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat +plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983) +- add machinery for rebuilding "configure" and friends, using the correct +version of autoconf (patch 300) +- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125) +- "modulator" was removed upstream +- drop "-b" from patch applications affecting .py files to avoid littering the +installation tree + +* Thu Aug 19 2010 Toshio Kuratomi toshio@fedoraproject.org - 3.1.2-13 +- Turn on computed-gotos. +- Fix for parallel make and graminit.c + +* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-12 +- rebuild + +* Fri Jul 2 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-11 +- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to +a segfault running test_pyexpat.py (patch 110; upstream issue 9054; rhbz#610312) + +* Fri Jun 4 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-10 +- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819) +- reformat whitespace in audioop.c (patch 106) +- CVE-2010-1634: fix various integer overflow checks in the audioop +module (patch 107) +- CVE-2010-2089: further checks within the audioop module (patch 108) +- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 109) + +* Thu May 27 2010 Dan Hork <dan[at]danny.cz> - 3.1.2-9 +- reading the timestamp counter is available only on some arches (see Python/ceval.c) + +* Wed May 26 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-8 +- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os") +(patch 105) + +* Tue May 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-7 +- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options +(patch 104); enable them and the WITH_TSC option within the debug build + +* Mon May 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-6 +- build and install two different configurations of Python 3: debug and +standard, packaging the debug build in a new "python3-debug" subpackage +(patch 103) + +* Tue Apr 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-5 +- exclude test_http_cookies when running selftests, due to hang seen on +http://koji.fedoraproject.org/koji/taskinfo?taskID=2088463 (cancelled after +11 hours) +- update python-gdb.py from v5 to py3k version submitted upstream + +* Wed Mar 31 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-4 +- update python-gdb.py from v4 to v5 (improving performance and stability, +adding commands) + +* Thu Mar 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-3 +- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference +cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets +and exceptions) + +* Wed Mar 24 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-2 +- refresh gdb hooks to v3 (reworking how they are packaged) + +* Sun Mar 21 2010 David Malcolm dmalcolm@redhat.com - 3.1.2-1 +- update to 3.1.2: http://www.python.org/download/releases/3.1.2/ +- drop upstreamed patch 2 (.pyc permissions handling) +- drop upstream patch 5 (fix for the test_tk and test_ttk_* selftests) +- drop upstreamed patch 200 (path-fixing script) + +* Sat Mar 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-28 +- fix typo in libpython.stp (rhbz:575336) + +* Fri Mar 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-27 +- add pyfuntop.stp example (source 7) +- convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for +consistency with python.spec + +* Mon Feb 15 2010 Thomas Spura tomspur@fedoraproject.org - 3.1.1-26 +- rebuild for new package of redhat-rpm-config (rhbz:564527) +- use 'install -p' when running 'make install' + +* Fri Feb 12 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-25 +- split configure options into multiple lines for easy of editing +- add systemtap static markers (wcohen, mjw, dmalcolm; patch 8), a systemtap +tapset defining "python.function.entry" and "python.function.return" to make +the markers easy to use (dmalcolm; source 5), and an example of using the +tapset to the docs (dmalcolm; source 6) (rhbz:545179) + +* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-24 +- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to +%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from +ldconfig (bug 562980), and which should also ensure it becomes part of the +debuginfo subpackage, rather than the libs subpackage +- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream +configure script, and to avoid fragile scripts that try to figure this out +dynamically (e.g. for the -gdb.py change) + +* Mon Feb 8 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-23 +- add gdb hooks for easier debugging (Source 4) + +* Thu Jan 28 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-22 +- update python-3.1.1-config.patch to remove downstream customization of build +of pyexpat and elementtree modules +- add patch adapted from upstream (patch 7) to add support for building against +system expat; add --with-system-expat to "configure" invocation +- remove embedded copies of expat and zlib from source tree during "prep" + +* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-21 +- introduce %%{dynload_dir} macro +- explicitly list all lib-dynload files, rather than dynamically gathering the +payload into a temporary text file, so that we can be sure what we are +shipping +- introduce a macros.pybytecompile source file, to help with packaging python3 +modules (Source3; written by Toshio) +- rename "2to3-3" to "python3-2to3" to better reflect python 3 module packaging +plans + +* Mon Jan 25 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-20 +- change python-3.1.1-config.patch to remove our downstream change to curses +configuration in Modules/Setup.dist, so that the curses modules are built using +setup.py with the downstream default (linking against libncursesw.so, rather +than libncurses.so), rather than within the Makefile; add a test to %%install +to verify the dso files that the curses module is linked against the correct +DSO (bug 539917; changes _cursesmodule.so -> _curses.so) + +* Fri Jan 22 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-19 +- add %%py3dir macro to macros.python3 (to be used during unified python 2/3 +builds for setting up the python3 copy of the source tree) + +* Wed Jan 20 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-18 +- move lib2to3 from -tools subpackage to main package (bug 556667) + +* Sun Jan 17 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-17 +- patch Makefile.pre.in to avoid building static library (patch 6, bug 556092) + +* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-16 +- use the %%{_isa} macro to ensure that the python-devel dependency on python +is for the correct multilib arch (#555943) +- delete bundled copy of libffi to make sure we use the system one + +* Fri Jan 15 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-15 +- fix the URLs output by pydoc so they point at python.org's 3.1 build of the +docs, rather than the 2.6 build + +* Wed Jan 13 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-14 +- replace references to /usr with %%{_prefix}; replace references to +/usr/include with %%{_includedir} (Toshio) + +* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-13 +- fix permission on find-provides-without-python-sonames.sh from 775 to 755 + +* Mon Jan 11 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-12 +- remove build-time requirements on tix and tk, since we already have +build-time requirements on the -devel subpackages for each of these (Thomas +Spura) +- replace usage of %%define with %%global (Thomas Spura) +- remove forcing of CC=gcc as this old workaround for bug 109268 appears to +longer be necessary +- move various test files from the "tools"/"tkinter" subpackages to the "test" +subpackage + +* Thu Jan 7 2010 David Malcolm dmalcolm@redhat.com - 3.1.1-11 +- add %%check section (thanks to Thomas Spura) +- update patch 4 to use correct shebang line +- get rid of stray patch file from buildroot + +* Tue Nov 17 2009 Andrew McNabb amcnabb@mcnabbs.org - 3.1.1-10 +- switched a few instances of "find |xargs" to "find -exec" for consistency. +- made the description of __os_install_post more accurate. + +* Wed Nov 4 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-9 +- add macros.python3 to the -devel subpackage, containing common macros for use +when packaging python3 modules + +* Tue Nov 3 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-8 +- add a provides of "python(abi)" (see bug 532118) +- fix issues identified by a.badger in package review (bug 526126, comment 39): + - use "3" thoughout metadata, rather than "3.*" + - remove conditional around "pkg-config openssl" + - use standard cleanup of RPM_BUILD_ROOT + - replace hardcoded references to /usr with _prefix macro + - stop removing egg-info files + - use /usr/bin/python3.1 rather than /use/bin/env python3.1 when fixing +up shebang lines + - stop attempting to remove no-longer-present .cvsignore files + - move the post/postun sections above the "files" sections + +* Thu Oct 29 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-7 +- remove commented-away patch 51 (python-2.6-distutils_rpm.patch): the -O1 +flag is used by default in the upstream code +- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py +_init_posix(), so we include them in the core package, along with their parent +directories (bug 531901) + +* Tue Oct 27 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-6 +- reword description, based on suggestion by amcnabb +- fix the test_email and test_imp selftests (patch 3 and patch 4 respectively) +- fix the test_tk and test_ttk_* selftests (patch 5) +- fix up the specfile's handling of shebang/perms to avoid corrupting +test_httpservers.py (sed command suggested by amcnabb) + +* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-5 +- fixup importlib/_bootstrap.py so that it correctly handles being unable to +open .pyc files for writing (patch 2, upstream issue 7187) +- actually apply the rpath patch (patch 1) + +* Thu Oct 22 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-4 +- update patch0's setup of the crypt module to link it against libcrypt +- update patch0 to comment "datetimemodule" back out, so that it is built +using setup.py (see Setup, option 3), thus linking it statically against +timemodule.c and thus avoiding a run-time "undefined symbol: +_PyTime_DoubleToTimet" failure on "import datetime" + +* Wed Oct 21 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-3 +- remove executable flag from various files that shouldn't have it +- fix end-of-line encodings +- fix a character encoding + +* Tue Oct 20 2009 David Malcolm dmalcolm@redhat.com - 3.1.1-2 +- disable invocation of brp-python-bytecompile in postprocessing, since +it would be with the wrong version of python (adapted from ivazquez' +python3000 specfile) +- use a custom implementation of __find_provides in order to filter out bogus +provides lines for the various .so modules +- fixup distutils/unixccompiler.py to remove standard library path from rpath +(patch 1, was Patch0 in ivazquez' python3000 specfile) +- split out libraries into a -libs subpackage +- update summaries and descriptions, basing content on ivazquez' specfile +- fixup executable permissions on .py, .xpm and .xbm files, based on work in +ivazquez's specfile +- get rid of DOS batch files +- fixup permissions for shared libraries from non-standard 555 to standard 755 +- move /usr/bin/python*-config to the -devel subpackage +- mark various directories as being documentation + +* Thu Sep 24 2009 Andrew McNabb amcnabb@mcnabbs.org 3.1.1-1 +- Initial package for Python 3. +
commit d051c04cb17c3265311ff2aa70260e714afa8fcc Author: Miro Hronok miro@hroncok.cz Date: Tue Feb 5 12:33:45 2019 +0100
Drop obsoletes for platform-python
diff --git a/python3.spec b/python3.spec index ca2d3e3..bb6d0a9 100644 --- a/python3.spec +++ b/python3.spec @@ -329,13 +329,6 @@ Provides: python%{pyshortver} = %{version}-%{release} # replace python36-3.6.2. Obsoletes: python%{pyshortver}
-# Shall be removed in Fedora 31 -# The release is bumped to 20, so we can do f27 platform-python updates -# If the release in f27 ever goes >= 20, raise it here -# If platform-python is ever reintroduced, make it higher version than this: -%global platpyver 3.6.2-20 -Obsoletes: platform-python < %{platpyver} - # Previously, this was required for our rewheel patch to work. # This is technically no longer needed, but we keep it recommended # for the developer experience. @@ -388,10 +381,6 @@ Provides: bundled(python3-setuptools) = 40.6.2 # See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 Recommends: %{name}%{?_isa} = %{version}-%{release}
-# Shall be removed in Fedora 31 -Obsoletes: platform-python-libs < %{platpyver} -Obsoletes: platform-python-libs-devel < %{platpyver} - %description libs This package contains runtime libraries for use by Python: - the majority of the Python standard library @@ -428,9 +417,6 @@ Provides: 2to3 = %{version}-%{release}
Conflicts: %{name} < %{version}-%{release}
-# Shall be removed in Fedora 31 -Obsoletes: platform-python-devel < %{platpyver} - %description devel This package contains the header files and configuration needed to compile Python extension modules (typically written in C or C++), to embed Python @@ -451,9 +437,6 @@ Provides: %{name}-tools = %{version}-%{release} Provides: %{name}-tools%{?_isa} = %{version}-%{release} Obsoletes: %{name}-tools < %{version}-%{release}
-# Shall be removed in Fedora 31 -Obsoletes: platform-python-tools < %{platpyver} - %description idle IDLE is Pythons Integrated Development and Learning Environment.
@@ -471,9 +454,6 @@ configuration, browsers, and other dialogs. Summary: A GUI toolkit for Python Requires: %{name} = %{version}-%{release}
-# Shall be removed in Fedora 31 -Obsoletes: platform-python-tkinter < %{platpyver} - %description tkinter The Tkinter (Tk interface) library is a graphical user interface toolkit for the Python programming language. @@ -484,9 +464,6 @@ Summary: The self-test suite for the main python3 package Requires: %{name} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-# Shall be removed in Fedora 31 -Obsoletes: platform-python-test < %{platpyver} - %description test The self-test suite for the Python interpreter.
commit 1fb3c04b752501b90fca0c90b67d0fa1050909e7 Author: Miro Hronok miro@hroncok.cz Date: Tue Feb 5 01:40:25 2019 +0100
Update to 3.8.0a1
Uses tilde for prerelease information, https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_versi...
Patches rebased: 111, 132
Patches merged upstream: 155, 170 (differently), 317
/usr/bin/pyvenv is no more
diff --git a/00111-no-static-lib.patch b/00111-no-static-lib.patch index 4cce364..3d667e9 100644 --- a/00111-no-static-lib.patch +++ b/00111-no-static-lib.patch @@ -1,17 +1,17 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in -index 0db0dd0..bd8f769 100644 +index f8ff1ce..f297d05 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -574,7 +574,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c +@@ -573,7 +573,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
# Build the interpreter -$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) +$(BUILDPYTHON): Programs/python.o $(LDLIBRARY) $(PY3LIBRARY) - $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) + $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
platform: $(BUILDPYTHON) pybuilddir.txt -@@ -622,12 +622,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -621,12 +621,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
@@ -21,19 +21,19 @@ index 0db0dd0..bd8f769 100644 - -rm -f $@ - $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS) - - libpython$(LDVERSION).so: $(LIBRARY_OBJS) + libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS) if test $(INSTSONAME) != $(LDLIBRARY); then \ - $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ -@@ -715,7 +709,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist - echo "-----------------------------------------------"; \ - fi + $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \ +@@ -704,7 +698,7 @@ Makefile Modules/config.c: Makefile.pre \ + @echo "The Makefile was updated, you may need to re-run make." +
-Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) +Programs/_testembed: Programs/_testembed.o $(LDLIBRARY) $(PY3LIBRARY) - $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) + $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
############################################################################ -@@ -1483,17 +1477,6 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1545,17 +1539,6 @@ libainstall: @DEF_MAKE_RULE@ python-config else true; \ fi; \ done diff --git a/00132-add-rpmbuild-hooks-to-unittest.patch b/00132-add-rpmbuild-hooks-to-unittest.patch index 77dc6ec..b187c6a 100644 --- a/00132-add-rpmbuild-hooks-to-unittest.patch +++ b/00132-add-rpmbuild-hooks-to-unittest.patch @@ -1,6 +1,20 @@ -diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/case.py ---- Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400 -+++ Python-3.2.2/Lib/unittest/case.py 2011-09-09 06:35:16.365568382 -0400 +diff --git a/Lib/unittest/__init__.py b/Lib/unittest/__init__.py +index 5ff1bf3..4d63954 100644 +--- a/Lib/unittest/__init__.py ++++ b/Lib/unittest/__init__.py +@@ -58,7 +58,7 @@ __unittest = True + + from .result import TestResult + from .case import (addModuleCleanup, TestCase, FunctionTestCase, SkipTest, skip, +- skipIf, skipUnless, expectedFailure) ++ skipIf, skipUnless, expectedFailure, _skipInRpmBuild) + from .suite import BaseTestSuite, TestSuite + from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames, + findTestCases) +diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py +index a157ae8..64f912c 100644 +--- a/Lib/unittest/case.py ++++ b/Lib/unittest/case.py @@ -3,6 +3,7 @@ import sys import functools @@ -9,7 +23,8 @@ diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python import logging import pprint import re -@@ -101,5 +102,21 @@ def expectedFailure(func): +@@ -158,6 +159,22 @@ class _BaseTestCaseContext: + msg = self.test_case._formatMessage(self.msg, standardMsg) raise self.test_case.failureException(msg)
+# Non-standard/downstream-only hooks for handling issues with specific test @@ -31,16 +46,3 @@ diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python class _AssertRaisesBaseContext(_BaseTestCaseContext):
def __init__(self, expected, test_case, expected_regex=None): -diff -up Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/__init__.py ---- Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400 -+++ Python-3.2.2/Lib/unittest/__init__.py 2011-09-09 06:35:16.366568382 -0400 -@@ -57,7 +57,8 @@ __unittest = True - - from .result import TestResult - from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf, -- skipUnless, expectedFailure) -+ skipUnless, expectedFailure, -+ _skipInRpmBuild) - from .suite import BaseTestSuite, TestSuite - from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames, - findTestCases) diff --git a/00155-avoid-ctypes-thunks.patch b/00155-avoid-ctypes-thunks.patch deleted file mode 100644 index f03890e..0000000 --- a/00155-avoid-ctypes-thunks.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up Python-3.2.3/Lib/ctypes/__init__.py.rhbz814391 Python-3.2.3/Lib/ctypes/__init__.py ---- Python-3.2.3/Lib/ctypes/__init__.py.rhbz814391 2012-04-20 15:12:49.017867692 -0400 -+++ Python-3.2.3/Lib/ctypes/__init__.py 2012-04-20 15:15:09.501111408 -0400 -@@ -275,11 +275,6 @@ def _reset_cache(): - # _SimpleCData.c_char_p_from_param - POINTER(c_char).from_param = c_char_p.from_param - _pointer_type_cache[None] = c_void_p -- # XXX for whatever reasons, creating the first instance of a callback -- # function is needed for the unittests on Win64 to succeed. This MAY -- # be a compiler bug, since the problem occurs only when _ctypes is -- # compiled with the MS SDK compiler. Or an uninitialized variable? -- CFUNCTYPE(c_int)(lambda: None) - - def create_unicode_buffer(init, size=None): - """create_unicode_buffer(aString) -> character array diff --git a/00170-gc-assertions.patch b/00170-gc-assertions.patch deleted file mode 100644 index fb3ad85..0000000 --- a/00170-gc-assertions.patch +++ /dev/null @@ -1,311 +0,0 @@ -diff --git a/Include/object.h b/Include/object.h -index c772dea..5729797 100644 ---- a/Include/object.h -+++ b/Include/object.h -@@ -1098,6 +1098,49 @@ PyAPI_FUNC(void) - _PyObject_DebugTypeStats(FILE *out); - #endif /* ifndef Py_LIMITED_API */ - -+/* -+ Define a pair of assertion macros. -+ -+ These work like the regular C assert(), in that they will abort the -+ process with a message on stderr if the given condition fails to hold, -+ but compile away to nothing if NDEBUG is defined. -+ -+ However, before aborting, Python will also try to call _PyObject_Dump() on -+ the given object. This may be of use when investigating bugs in which a -+ particular object is corrupt (e.g. buggy a tp_visit method in an extension -+ module breaking the garbage collector), to help locate the broken objects. -+ -+ The WITH_MSG variant allows you to supply an additional message that Python -+ will attempt to print to stderr, after the object dump. -+*/ -+#ifdef NDEBUG -+/* No debugging: compile away the assertions: */ -+#define PyObject_ASSERT_WITH_MSG(obj, expr, msg) ((void)0) -+#else -+/* With debugging: generate checks: */ -+#define PyObject_ASSERT_WITH_MSG(obj, expr, msg) \ -+ ((expr) \ -+ ? (void)(0) \ -+ : _PyObject_AssertFailed((obj), \ -+ (msg), \ -+ (__STRING(expr)), \ -+ (__FILE__), \ -+ (__LINE__), \ -+ (__PRETTY_FUNCTION__))) -+#endif -+ -+#define PyObject_ASSERT(obj, expr) \ -+ PyObject_ASSERT_WITH_MSG(obj, expr, NULL) -+ -+/* -+ Declare and define the entrypoint even when NDEBUG is defined, to avoid -+ causing compiler/linker errors when building extensions without NDEBUG -+ against a Python built with NDEBUG defined -+*/ -+PyAPI_FUNC(void) _PyObject_AssertFailed(PyObject *, const char *, -+ const char *, const char *, int, -+ const char *); -+ - #ifdef __cplusplus - } - #endif -diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py -index 8d806db..dc8bb16 100644 ---- a/Lib/test/test_gc.py -+++ b/Lib/test/test_gc.py -@@ -1,10 +1,12 @@ - import unittest - from test.support import (verbose, refcount_test, run_unittest, - strip_python_stderr, cpython_only, start_threads, -- temp_dir, requires_type_collecting, TESTFN, unlink) -+ temp_dir, requires_type_collecting, TESTFN, unlink, -+ import_module) - from test.support.script_helper import assert_python_ok, make_script - - import sys -+import sysconfig - import time - import gc - import weakref -@@ -46,6 +48,8 @@ class GC_Detector(object): - # gc collects it. - self.wr = weakref.ref(C1055820(666), it_happened) - -+BUILD_WITH_NDEBUG = ('-DNDEBUG' in sysconfig.get_config_vars()['PY_CFLAGS']) -+ - @with_tp_del - class Uncollectable(object): - """Create a reference cycle with multiple __del__ methods. -@@ -878,6 +882,50 @@ class GCCallbackTests(unittest.TestCase): - self.assertEqual(len(gc.garbage), 0) - - -+ @unittest.skipIf(BUILD_WITH_NDEBUG, -+ 'built with -NDEBUG') -+ def test_refcount_errors(self): -+ self.preclean() -+ # Verify the "handling" of objects with broken refcounts -+ import_module("ctypes") #skip if not supported -+ -+ import subprocess -+ code = '''if 1: -+ a = [] -+ b = [a] -+ -+ # Simulate the refcount of "a" being too low (compared to the -+ # references held on it by live data), but keeping it above zero -+ # (to avoid deallocating it): -+ import ctypes -+ ctypes.pythonapi.Py_DecRef(ctypes.py_object(a)) -+ -+ # The garbage collector should now have a fatal error when it reaches -+ # the broken object: -+ import gc -+ gc.collect() -+ ''' -+ p = subprocess.Popen([sys.executable, "-c", code], -+ stdout=subprocess.PIPE, -+ stderr=subprocess.PIPE) -+ stdout, stderr = p.communicate() -+ p.stdout.close() -+ p.stderr.close() -+ # Verify that stderr has a useful error message: -+ self.assertRegex(stderr, -+ b'Modules/gcmodule.c:[0-9]+: visit_decref: Assertion "((gc)->gc.gc_refs >> (1)) != 0" failed.') -+ self.assertRegex(stderr, -+ b'refcount was too small') -+ self.assertRegex(stderr, -+ b'object : []') -+ self.assertRegex(stderr, -+ b'type : list') -+ self.assertRegex(stderr, -+ b'refcount: 1') -+ self.assertRegex(stderr, -+ b'address : 0x[0-9a-f]+') -+ -+ - class GCTogglingTests(unittest.TestCase): - def setUp(self): - gc.enable() -diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c -index 4d701cb..388dd78 100644 ---- a/Modules/gcmodule.c -+++ b/Modules/gcmodule.c -@@ -239,7 +239,8 @@ update_refs(PyGC_Head *containers) - { - PyGC_Head *gc = containers->gc.gc_next; - for (; gc != containers; gc = gc->gc.gc_next) { -- assert(_PyGCHead_REFS(gc) == GC_REACHABLE); -+ PyObject_ASSERT(FROM_GC(gc), -+ _PyGCHead_REFS(gc) == GC_REACHABLE); - _PyGCHead_SET_REFS(gc, Py_REFCNT(FROM_GC(gc))); - /* Python's cyclic gc should never see an incoming refcount - * of 0: if something decref'ed to 0, it should have been -@@ -259,7 +260,8 @@ update_refs(PyGC_Head *containers) - * so serious that maybe this should be a release-build - * check instead of an assert? - */ -- assert(_PyGCHead_REFS(gc) != 0); -+ PyObject_ASSERT(FROM_GC(gc), -+ _PyGCHead_REFS(gc) != 0); - } - } - -@@ -274,7 +276,9 @@ visit_decref(PyObject *op, void *data) - * generation being collected, which can be recognized - * because only they have positive gc_refs. - */ -- assert(_PyGCHead_REFS(gc) != 0); /* else refcount was too small */ -+ PyObject_ASSERT_WITH_MSG(FROM_GC(gc), -+ _PyGCHead_REFS(gc) != 0, -+ "refcount was too small"); /* else refcount was too small */ - if (_PyGCHead_REFS(gc) > 0) - _PyGCHead_DECREF(gc); - } -@@ -334,9 +338,10 @@ visit_reachable(PyObject *op, PyGC_Head *reachable) - * If gc_refs == GC_UNTRACKED, it must be ignored. - */ - else { -- assert(gc_refs > 0 -- || gc_refs == GC_REACHABLE -- || gc_refs == GC_UNTRACKED); -+ PyObject_ASSERT(FROM_GC(gc), -+ gc_refs > 0 -+ || gc_refs == GC_REACHABLE -+ || gc_refs == GC_UNTRACKED); - } - } - return 0; -@@ -378,7 +383,7 @@ move_unreachable(PyGC_Head *young, PyGC_Head *unreachable) - */ - PyObject *op = FROM_GC(gc); - traverseproc traverse = Py_TYPE(op)->tp_traverse; -- assert(_PyGCHead_REFS(gc) > 0); -+ PyObject_ASSERT(op, _PyGCHead_REFS(gc) > 0); - _PyGCHead_SET_REFS(gc, GC_REACHABLE); - (void) traverse(op, - (visitproc)visit_reachable, -@@ -441,7 +446,7 @@ move_legacy_finalizers(PyGC_Head *unreachable, PyGC_Head *finalizers) - for (gc = unreachable->gc.gc_next; gc != unreachable; gc = next) { - PyObject *op = FROM_GC(gc); - -- assert(IS_TENTATIVELY_UNREACHABLE(op)); -+ PyObject_ASSERT(op, IS_TENTATIVELY_UNREACHABLE(op)); - next = gc->gc.gc_next; - - if (has_legacy_finalizer(op)) { -@@ -517,7 +522,7 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old) - PyWeakReference **wrlist; - - op = FROM_GC(gc); -- assert(IS_TENTATIVELY_UNREACHABLE(op)); -+ PyObject_ASSERT(op, IS_TENTATIVELY_UNREACHABLE(op)); - next = gc->gc.gc_next; - - if (! PyType_SUPPORTS_WEAKREFS(Py_TYPE(op))) -@@ -538,9 +543,9 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old) - * the callback pointer intact. Obscure: it also - * changes *wrlist. - */ -- assert(wr->wr_object == op); -+ PyObject_ASSERT(wr->wr_object, wr->wr_object == op); - _PyWeakref_ClearRef(wr); -- assert(wr->wr_object == Py_None); -+ PyObject_ASSERT(wr->wr_object, wr->wr_object == Py_None); - if (wr->wr_callback == NULL) - continue; /* no callback */ - -@@ -574,7 +579,7 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old) - */ - if (IS_TENTATIVELY_UNREACHABLE(wr)) - continue; -- assert(IS_REACHABLE(wr)); -+ PyObject_ASSERT(op, IS_REACHABLE(wr)); - - /* Create a new reference so that wr can't go away - * before we can process it again. -@@ -583,7 +588,8 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old) - - /* Move wr to wrcb_to_call, for the next pass. */ - wrasgc = AS_GC(wr); -- assert(wrasgc != next); /* wrasgc is reachable, but -+ PyObject_ASSERT(op, wrasgc != next); -+ /* wrasgc is reachable, but - next isn't, so they can't - be the same */ - gc_list_move(wrasgc, &wrcb_to_call); -@@ -599,11 +605,11 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old) - - gc = wrcb_to_call.gc.gc_next; - op = FROM_GC(gc); -- assert(IS_REACHABLE(op)); -- assert(PyWeakref_Check(op)); -+ PyObject_ASSERT(op, IS_REACHABLE(op)); -+ PyObject_ASSERT(op, PyWeakref_Check(op)); - wr = (PyWeakReference *)op; - callback = wr->wr_callback; -- assert(callback != NULL); -+ PyObject_ASSERT(op, callback != NULL); - - /* copy-paste of weakrefobject.c's handle_callback() */ - temp = PyObject_CallFunctionObjArgs(callback, wr, NULL); -@@ -717,12 +723,14 @@ check_garbage(PyGC_Head *collectable) - for (gc = collectable->gc.gc_next; gc != collectable; - gc = gc->gc.gc_next) { - _PyGCHead_SET_REFS(gc, Py_REFCNT(FROM_GC(gc))); -- assert(_PyGCHead_REFS(gc) != 0); -+ PyObject_ASSERT(FROM_GC(gc), -+ _PyGCHead_REFS(gc) != 0); - } - subtract_refs(collectable); - for (gc = collectable->gc.gc_next; gc != collectable; - gc = gc->gc.gc_next) { -- assert(_PyGCHead_REFS(gc) >= 0); -+ PyObject_ASSERT(FROM_GC(gc), -+ _PyGCHead_REFS(gc) >= 0); - if (_PyGCHead_REFS(gc) != 0) - return -1; - } -diff --git a/Objects/object.c b/Objects/object.c -index 220aa90..f6c7161 100644 ---- a/Objects/object.c -+++ b/Objects/object.c -@@ -2177,6 +2177,35 @@ _PyTrash_thread_destroy_chain(void) - --tstate->trash_delete_nesting; - } - -+PyAPI_FUNC(void) -+_PyObject_AssertFailed(PyObject *obj, const char *msg, const char *expr, -+ const char *file, int line, const char *function) -+{ -+ fprintf(stderr, -+ "%s:%d: %s: Assertion "%s" failed.\n", -+ file, line, function, expr); -+ if (msg) { -+ fprintf(stderr, "%s\n", msg); -+ } -+ -+ fflush(stderr); -+ -+ if (obj) { -+ /* This might succeed or fail, but we're about to abort, so at least -+ try to provide any extra info we can: */ -+ _PyObject_Dump(obj); -+ } -+ else { -+ fprintf(stderr, "NULL object\n"); -+ } -+ -+ fflush(stdout); -+ fflush(stderr); -+ -+ /* Terminate the process: */ -+ abort(); -+} -+ - #ifndef Py_TRACE_REFS - /* For Py_LIMITED_API, we need an out-of-line version of _Py_Dealloc. - Define this here, so we can undefine the macro. */ diff --git a/00317-CVE-2019-5010.patch b/00317-CVE-2019-5010.patch deleted file mode 100644 index 62e931e..0000000 --- a/00317-CVE-2019-5010.patch +++ /dev/null @@ -1,111 +0,0 @@ -From c660debb97f4f422255a82fef2d77804552c043a Mon Sep 17 00:00:00 2001 -From: Christian Heimes christian@python.org -Date: Tue, 15 Jan 2019 18:16:30 +0100 -Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser - -CVE-2019-5010, Fix a NULL pointer deref in ssl module. The cert parser did -not handle CRL distribution points with empty DP or URI correctly. A -malicious or buggy certificate can result into segfault. - -Signed-off-by: Christian Heimes christian@python.org ---- - Lib/test/talos-2019-0758.pem | 22 +++++++++++++++++++ - Lib/test/test_ssl.py | 22 +++++++++++++++++++ - .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ - Modules/_ssl.c | 4 ++++ - 4 files changed, 51 insertions(+) - create mode 100644 Lib/test/talos-2019-0758.pem - create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst - -diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem -new file mode 100644 -index 000000000000..13b95a77fd8a ---- /dev/null -+++ b/Lib/test/talos-2019-0758.pem -@@ -0,0 +1,22 @@ -+-----BEGIN CERTIFICATE----- -+MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO -+BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 -+MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh -+bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB -+J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES -+V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD -+5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C -+1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP -+WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF -+j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp -+HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io -+UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 -+2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu -+bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG -+SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p -+t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr -+t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit -+p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV -+Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ -+10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== -+-----END CERTIFICATE----- -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index 7f6b93148f45..1fc657f4d867 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -115,6 +115,7 @@ def data_file(*name): - BADKEY = data_file("badkey.pem") - NOKIACERT = data_file("nokia.pem") - NULLBYTECERT = data_file("nullbytecert.pem") -+TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") - - DHFILE = data_file("ffdh3072.pem") - BYTES_DHFILE = os.fsencode(DHFILE) -@@ -348,6 +349,27 @@ def test_parse_cert(self): - self.assertEqual(p['crlDistributionPoints'], - ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) - -+ def test_parse_cert_CVE_2019_5010(self): -+ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) -+ if support.verbose: -+ sys.stdout.write("\n" + pprint.pformat(p) + "\n") -+ self.assertEqual( -+ p, -+ { -+ 'issuer': ( -+ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), -+ 'notAfter': 'Jun 14 18:00:58 2028 GMT', -+ 'notBefore': 'Jun 18 18:00:58 2018 GMT', -+ 'serialNumber': '02', -+ 'subject': ((('countryName', 'UK'),), -+ (('commonName', -+ 'codenomicon-vm-2.test.lal.cisco.com'),)), -+ 'subjectAltName': ( -+ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), -+ 'version': 3 -+ } -+ ) -+ - def test_parse_cert_CVE_2013_4238(self): - p = ssl._ssl._test_decode_cert(NULLBYTECERT) - if support.verbose: -diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst -new file mode 100644 -index 000000000000..dffe347eec84 ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst -@@ -0,0 +1,3 @@ -+[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did -+not handle CRL distribution points with empty DP or URI correctly. A -+malicious or buggy certificate can result into segfault. -diff --git a/Modules/_ssl.c b/Modules/_ssl.c -index 4e3352d9e661..0e720e268d93 100644 ---- a/Modules/_ssl.c -+++ b/Modules/_ssl.c -@@ -1515,6 +1515,10 @@ _get_crl_dp(X509 *certificate) { - STACK_OF(GENERAL_NAME) *gns; - - dp = sk_DIST_POINT_value(dps, i); -+ if (dp->distpoint == NULL) { -+ /* Ignore empty DP value, CVE-2019-5010 */ -+ continue; -+ } - gns = dp->distpoint->name.fullname; - - for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { diff --git a/python3.spec b/python3.spec index b910bd2..ca2d3e3 100644 --- a/python3.spec +++ b/python3.spec @@ -2,10 +2,10 @@ # Top-level metadata # ==================
-%global pybasever 3.7 +%global pybasever 3.8
# pybasever without the dot: -%global pyshortver 37 +%global pyshortver 38
Name: python3 Summary: Interpreter of the Python programming language @@ -13,8 +13,11 @@ URL: https://www.python.org/
# WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well -Version: %{pybasever}.2 -Release: 5%{?dist} +%global general_version %{pybasever}.0 +%global prerel a1 +%global upstream_version %{general_version}%{?prerel} +Version: %{general_version}%{?prerel:~%{prerel}} +Release: 1%{?dist} License: Python
@@ -197,7 +200,7 @@ BuildRequires: python-pip-wheel # Source code and patches # =======================
-Source: https://www.python.org/ftp/python/%%7Bversion%7D/Python-%%7Bversion%7D%%7B?p... +Source: https://www.python.org/ftp/python/%%7Bgeneral_version%7D/Python-%%7Bupstream...
# A simple script to check timestamps of bytecode files # Run in check section with Python that is currently being built @@ -242,13 +245,6 @@ Patch111: 00111-no-static-lib.patch # these unittest hooks in their own "check" phases) Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
-# 00155 # -# Avoid allocating thunks in ctypes unless absolutely necessary, to avoid -# generating SELinux denials on "import ctypes" and "import uuid" when -# embedding Python within httpd -# See https://bugzilla.redhat.com/show_bug.cgi?id=814391 -Patch155: 00155-avoid-ctypes-thunks.patch - # 00160 # # Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the # header files in the build chroot, but may not be supported in the running @@ -263,16 +259,6 @@ Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch # Not yet sent upstream Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch
-# 00170 # -# In debug builds, try to print repr() when a C-level assert fails in the -# garbage collector (typically indicating a reference-counting error -# somewhere else e.g in an extension module) -# The new macros/functions within gcmodule.c are hidden to avoid exposing -# them within the extension API. -# Sent upstream: http://bugs.python.org/issue9263 -# See https://bugzilla.redhat.com/show_bug.cgi?id=614680 -Patch170: 00170-gc-assertions.patch - # 00178 # # Don't duplicate various FLAGS in sysconfig values # http://bugs.python.org/issue17679 @@ -305,11 +291,6 @@ Patch274: 00274-fix-arch-names.patch # So we mark the command as unsupported - and the tests are skipped Patch316: 00316-mark-bdist_wininst-unsupported.patch
-# 00317 # -# Security fix for CVE-2019-5010: Fix segfault in ssl's cert parser -# Fixed upstream https://bugs.python.org/issue35746 -Patch317: 00317-CVE-2019-5010.patch - # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -580,7 +561,7 @@ version once Python %{pybasever} is stable. # ======================================================
%prep -%setup -q -n Python-%{version}%{?prerel} +%setup -q -n Python-%{upstream_version} # Remove all exe files to ensure we are not shipping prebuilt binaries # note that those are only used to create Microsoft Windows installers # and that functionality is broken on Linux anyway @@ -599,10 +580,8 @@ rm -r Modules/expat %endif %patch111 -p1 %patch132 -p1 -%patch155 -p1 %patch160 -p1 %patch163 -p1 -%patch170 -p1 %patch178 -p1
%if %{with rpmwheels} @@ -614,7 +593,6 @@ rm Lib/ensurepip/_bundled/*.whl %patch251 -p1 %patch274 -p1 %patch316 -p1 -%patch317 -p1
# Remove files that should be generated by the build @@ -942,7 +920,6 @@ rm %{buildroot}%{_bindir}/pygettext3.py rm %{buildroot}%{_bindir}/msgfmt3.py rm %{buildroot}%{_bindir}/idle3 rm %{buildroot}%{_bindir}/python3-* -rm %{buildroot}%{_bindir}/pyvenv rm %{buildroot}%{_bindir}/2to3 rm %{buildroot}%{_libdir}/libpython3.so rm %{buildroot}%{_mandir}/man1/python3.1* @@ -1048,14 +1025,12 @@ CheckPython optimized %if %{without flatpackage} %{_bindir}/pydoc* %{_bindir}/python3 -%{_bindir}/pyvenv %else %{_bindir}/pydoc%{pybasever} %endif
%{_bindir}/python%{pybasever} %{_bindir}/python%{pybasever}m -%{_bindir}/pyvenv-%{pybasever} %{_mandir}/*/*
@@ -1186,6 +1161,7 @@ CheckPython optimized %{dynload_dir}/nis.%{SOABI_optimized}.so %{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so %{dynload_dir}/parser.%{SOABI_optimized}.so +%{dynload_dir}/_posixshmem.%{SOABI_optimized}.so %{dynload_dir}/pyexpat.%{SOABI_optimized}.so %{dynload_dir}/readline.%{SOABI_optimized}.so %{dynload_dir}/resource.%{SOABI_optimized}.so @@ -1197,6 +1173,7 @@ CheckPython optimized %{dynload_dir}/unicodedata.%{SOABI_optimized}.so %{dynload_dir}/_uuid.%{SOABI_optimized}.so %{dynload_dir}/xxlimited.%{SOABI_optimized}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so %{dynload_dir}/zlib.%{SOABI_optimized}.so
%dir %{pylibdir}/site-packages/ @@ -1301,6 +1278,7 @@ CheckPython optimized %endif %{_includedir}/python%{LDVERSION_optimized}/*.h %{_includedir}/python%{LDVERSION_optimized}/internal/ +%{_includedir}/python%{LDVERSION_optimized}/cpython/ %doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
%if %{without flatpackage} @@ -1457,6 +1435,7 @@ CheckPython optimized %{dynload_dir}/nis.%{SOABI_debug}.so %{dynload_dir}/ossaudiodev.%{SOABI_debug}.so %{dynload_dir}/parser.%{SOABI_debug}.so +%{dynload_dir}/_posixshmem.%{SOABI_debug}.so %{dynload_dir}/pyexpat.%{SOABI_debug}.so %{dynload_dir}/readline.%{SOABI_debug}.so %{dynload_dir}/resource.%{SOABI_debug}.so @@ -1467,6 +1446,7 @@ CheckPython optimized %{dynload_dir}/_testmultiphase.%{SOABI_debug}.so %{dynload_dir}/unicodedata.%{SOABI_debug}.so %{dynload_dir}/_uuid.%{SOABI_debug}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so %{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so %{dynload_dir}/zlib.%{SOABI_debug}.so
@@ -1521,6 +1501,9 @@ CheckPython optimized # ======================================================
%changelog +* Tue Feb 05 2019 Miro Hronok mhroncok@redhat.com - 3.8.0~a1-1 +- Update to 3.8.0a1 + * Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 3.7.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
diff --git a/sources b/sources index 64dca46..8f72af4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.7.2.tar.xz) = 6cd2d6d8455558783b99d55985cd7b22d67b98f41a09b4fdd96f680a630a4e035220d2b903f8c59ed513aa5ffe6730fa947ddb55bb72ce36f0e945ef8af5d971 +SHA512 (Python-3.8.0a1.tar.xz) = 81e0aea4cf37f432d72464579f1b97db574496fa7105c7b2e02caed2e27d95288f21605666e80b60a01c66afb115714004b4a219b31ce21c8f732828b70b24e2
arch-excludes@lists.fedoraproject.org