6e8c2f
# ======================================================
6e8c2f
# Conditionals and other variables controlling the build
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%{!?__python_ver:%global __python_ver EMPTY}
6e8c2f
#global __python_ver 27
6e8c2f
%global unicode ucs4
6e8c2f
6e8c2f
%if "%{__python_ver}" != "EMPTY"
6e8c2f
%global main_python 0
6e8c2f
%global python python%{__python_ver}
6e8c2f
%global tkinter tkinter%{__python_ver}
6e8c2f
%else
6e8c2f
%global main_python 1
6e8c2f
%global python python
6e8c2f
%global tkinter tkinter
6e8c2f
%endif
6e8c2f
6e8c2f
%global pybasever 2.7
6e8c2f
%global pylibdir %{_libdir}/python%{pybasever}
6e8c2f
%global tools_dir %{pylibdir}/Tools
6e8c2f
%global demo_dir %{pylibdir}/Demo
6e8c2f
%global doc_tools_dir %{pylibdir}/Doc/tools
6e8c2f
%global dynload_dir %{pylibdir}/lib-dynload
6e8c2f
%global site_packages %{pylibdir}/site-packages
6e8c2f
6e8c2f
# Python's configure script defines SOVERSION, and this is used in the Makefile
6e8c2f
# to determine INSTSONAME, the name of the libpython DSO:
6e8c2f
#   LDLIBRARY='libpython$(VERSION).so'
6e8c2f
#   INSTSONAME="$LDLIBRARY".$SOVERSION
6e8c2f
# We mirror this here in order to make it easier to add the -gdb.py hooks.
6e8c2f
# (if these get out of sync, the payload of the libs subpackage will fail
6e8c2f
# and halt the build)
6e8c2f
%global py_SOVERSION 1.0
6e8c2f
%global py_INSTSONAME_optimized libpython%{pybasever}.so.%{py_SOVERSION}
6e8c2f
%global py_INSTSONAME_debug     libpython%{pybasever}_d.so.%{py_SOVERSION}
6e8c2f
6e8c2f
%global with_debug_build 1
6e8c2f
6e8c2f
# Disabled for now:
6e8c2f
%global with_huntrleaks 0
6e8c2f
6e8c2f
%global with_gdb_hooks 1
6e8c2f
6e8c2f
%global with_systemtap 1
6e8c2f
6e8c2f
# some arches don't have valgrind so we need to disable its support on them
9a62d8
%ifarch %{ix86} x86_64 ppc %{power64} s390x aarch64
6e8c2f
%global with_valgrind 1
6e8c2f
%else
6e8c2f
%global with_valgrind 0
6e8c2f
%endif
6e8c2f
6e8c2f
%global with_gdbm 1
6e8c2f
6e8c2f
# Turn this to 0 to turn off the "check" phase:
6e8c2f
%global run_selftest_suite 1
6e8c2f
6e8c2f
# Some of the files below /usr/lib/pythonMAJOR.MINOR/test  (e.g. bad_coding.py)
6e8c2f
# are deliberately invalid, leading to SyntaxError exceptions if they get
6e8c2f
# byte-compiled.
6e8c2f
#
6e8c2f
# These errors are ignored by the normal python build, and aren't normally a
6e8c2f
# problem in the buildroots since /usr/bin/python isn't present.
6e8c2f
# 
6e8c2f
# However, for the case where we're rebuilding the python srpm on a machine
6e8c2f
# that does have python installed we need to set this to avoid
6e8c2f
# brp-python-bytecompile treating these as fatal errors:
6e8c2f
#
6e8c2f
%global _python_bytecompile_errors_terminate_build 0
6e8c2f
6e8c2f
# We need to get a newer configure generated out of configure.in for the following
6e8c2f
# patches:
6e8c2f
#   patch 4 (CFLAGS)
6e8c2f
#   patch 52 (valgrind)
6e8c2f
#   patch 55 (systemtap)
6e8c2f
#   patch 145 (linux2)
6e8c2f
# 
6e8c2f
# For patch 55 (systemtap), we need to get a new header for configure to use
6e8c2f
#
6e8c2f
# configure.in requires autoconf-2.65, but the version in Fedora is currently
6e8c2f
# autoconf-2.66
6e8c2f
#
6e8c2f
# For now, we'll generate a patch to the generated configure script and
6e8c2f
# pyconfig.h.in on a machine that has a local copy of autoconf 2.65
6e8c2f
#
6e8c2f
# Instructions on obtaining such a copy can be seen at
6e8c2f
#   http://bugs.python.org/issue7997
6e8c2f
#
6e8c2f
# To make it easy to regenerate the patch, this specfile can be run in two
6e8c2f
# ways:
6e8c2f
# (i) regenerate_autotooling_patch  0 : the normal approach: prep the
6e8c2f
# source tree using a pre-generated patch to the "configure" script, and do a
6e8c2f
# full build
6e8c2f
# (ii) regenerate_autotooling_patch 1 : intended to be run on a developer's
6e8c2f
# workstation: prep the source tree without patching configure, then rerun a
6e8c2f
# local copy of autoconf-2.65, regenerate the patch, then exit, without doing
6e8c2f
# the rest of the build
6e8c2f
%global regenerate_autotooling_patch 0
6e8c2f
6e8c2f
6e8c2f
# ==================
6e8c2f
# Top-level metadata
6e8c2f
# ==================
6e8c2f
Summary: An interpreted, interactive, object-oriented programming language
6e8c2f
Name: %{python}
6e8c2f
# Remember to also rebase python-docs when changing this:
6e8c2f
Version: 2.7.5
f63228
Release: 34%{?dist}
6e8c2f
License: Python
6e8c2f
Group: Development/Languages
6e8c2f
Requires: %{python}-libs%{?_isa} = %{version}-%{release}
6e8c2f
Provides: python-abi = %{pybasever}
6e8c2f
Provides: python(abi) = %{pybasever}
6e8c2f
6e8c2f
6e8c2f
# =======================
6e8c2f
# Build-time requirements
6e8c2f
# =======================
6e8c2f
6e8c2f
# (keep this list alphabetized)
6e8c2f
6e8c2f
BuildRequires: autoconf
6e8c2f
BuildRequires: bluez-libs-devel
6e8c2f
BuildRequires: bzip2
6e8c2f
BuildRequires: bzip2-devel
6e8c2f
6e8c2f
# expat 2.1.0 added the symbol XML_SetHashSalt without bumping SONAME.  We use
6e8c2f
# it (in pyexpat) in order to enable the fix in Python-2.7.3 for CVE-2012-0876:
6e8c2f
BuildRequires: expat-devel >= 2.1.0
6e8c2f
6e8c2f
BuildRequires: findutils
6e8c2f
BuildRequires: gcc-c++
6e8c2f
%if %{with_gdbm}
6e8c2f
BuildRequires: gdbm-devel
6e8c2f
%endif
6e8c2f
BuildRequires: glibc-devel
6e8c2f
BuildRequires: gmp-devel
6e8c2f
BuildRequires: libdb-devel
6e8c2f
BuildRequires: libffi-devel
6e8c2f
BuildRequires: libGL-devel
6e8c2f
BuildRequires: libX11-devel
6e8c2f
BuildRequires: ncurses-devel
6e8c2f
BuildRequires: openssl-devel
6e8c2f
BuildRequires: pkgconfig
6e8c2f
BuildRequires: readline-devel
6e8c2f
BuildRequires: sqlite-devel
6e8c2f
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
BuildRequires: systemtap-sdt-devel
6e8c2f
# (this introduces a circular dependency, in that systemtap-sdt-devel's
6e8c2f
# /usr/bin/dtrace is a python script)
6e8c2f
%global tapsetdir      /usr/share/systemtap/tapset
6e8c2f
%endif # with_systemtap
6e8c2f
6e8c2f
BuildRequires: tar
6e8c2f
BuildRequires: tcl-devel
6e8c2f
BuildRequires: tix-devel
6e8c2f
BuildRequires: tk-devel
6e8c2f
6e8c2f
%if 0%{?with_valgrind}
6e8c2f
BuildRequires: valgrind-devel
6e8c2f
%endif
6e8c2f
6e8c2f
BuildRequires: zlib-devel
6e8c2f
6e8c2f
6e8c2f
6e8c2f
# =======================
6e8c2f
# Source code and patches
6e8c2f
# =======================
6e8c2f
6e8c2f
Source: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
6e8c2f
6e8c2f
# Work around bug 562906 until it's fixed in rpm-build by providing a fixed
6e8c2f
# version of pythondeps.sh:
6e8c2f
Source2: pythondeps.sh
6e8c2f
%global __python_requires %{SOURCE2}
6e8c2f
6e8c2f
# Systemtap tapset to make it easier to use the systemtap static probes
6e8c2f
# (actually a template; LIBRARY_PATH will get fixed up during install)
6e8c2f
# Written by dmalcolm; not yet sent upstream
6e8c2f
Source3: libpython.stp
6e8c2f
6e8c2f
6e8c2f
# Example systemtap script using the tapset
6e8c2f
# Written by wcohen, mjw, dmalcolm; not yet sent upstream
6e8c2f
Source4: systemtap-example.stp
6e8c2f
6e8c2f
# Another example systemtap script that uses the tapset
6e8c2f
# Written by dmalcolm; not yet sent upstream
6e8c2f
Source5: pyfuntop.stp
6e8c2f
6e8c2f
# Supply various useful macros for building python 2 modules:
6e8c2f
#  __python2, python2_sitelib, python2_sitearch, python2_version
6e8c2f
Source6: macros.python2
6e8c2f
6e8c2f
Source7: pynche
6e8c2f
f63228
# Configuration file to change ssl verification settings globally
f63228
# Downstream only see Patch224
f63228
Source8: cert-verification.cfg
f63228
f63228
# configuration for systemd's tmpfiles
f63228
Source9: python.conf
f63228
6e8c2f
# Modules/Setup.dist is ultimately used by the "makesetup" script to construct
6e8c2f
# the Makefile and config.c
6e8c2f
#
6e8c2f
# Upstream leaves many things disabled by default, to try to make it easy as
6e8c2f
# possible to build the code on as many platforms as possible.
6e8c2f
#
6e8c2f
# TODO: many modules can also now be built by setup.py after the python binary
6e8c2f
# has been built; need to assess if we should instead build things there
6e8c2f
#
6e8c2f
# We patch it downstream as follows:
6e8c2f
#   - various modules are built by default by upstream as static libraries;
6e8c2f
#   we built them as shared libraries
6e8c2f
#   - build the "readline" module (appears to also be handled by setup.py now)
6e8c2f
#   - enable the build of the following modules:
6e8c2f
#     - array arraymodule.c	# array objects
6e8c2f
#     - cmath cmathmodule.c # -lm # complex math library functions
6e8c2f
#     - math mathmodule.c # -lm # math library functions, e.g. sin()
6e8c2f
#     - _struct _struct.c	# binary structure packing/unpacking
6e8c2f
#     - time timemodule.c # -lm # time operations and variables
6e8c2f
#     - operator operator.c	# operator.add() and similar goodies
6e8c2f
#     - _weakref _weakref.c	# basic weak reference support
6e8c2f
#     - _testcapi _testcapimodule.c    # Python C API test module
6e8c2f
#     - _random _randommodule.c	# Random number generator
6e8c2f
#     - _collections _collectionsmodule.c # Container types
6e8c2f
#     - itertools itertoolsmodule.c
6e8c2f
#     - strop stropmodule.c
6e8c2f
#     - _functools _functoolsmodule.c
6e8c2f
#     - _bisect _bisectmodule.c	# Bisection algorithms
6e8c2f
#     - unicodedata unicodedata.c    # static Unicode character database
6e8c2f
#     - _locale _localemodule.c
6e8c2f
#     - fcntl fcntlmodule.c	# fcntl(2) and ioctl(2)
6e8c2f
#     - spwd spwdmodule.c		# spwd(3) 
6e8c2f
#     - grp grpmodule.c		# grp(3)
6e8c2f
#     - select selectmodule.c	# select(2); not on ancient System V
6e8c2f
#     - mmap mmapmodule.c  # Memory-mapped files
6e8c2f
#     - _csv _csv.c  # CSV file helper
6e8c2f
#     - _socket socketmodule.c  # Socket module helper for socket(2)
6e8c2f
#     - _ssl _ssl.c
6e8c2f
#     - crypt cryptmodule.c -lcrypt	# crypt(3)
6e8c2f
#     - nis nismodule.c -lnsl	# Sun yellow pages -- not everywhere
6e8c2f
#     - termios termios.c	# Steen Lumholt's termios module
6e8c2f
#     - resource resource.c	# Jeremy Hylton's rlimit interface
6e8c2f
#     - audioop audioop.c	# Operations on audio samples
6e8c2f
#     - imageop imageop.c	# Operations on images
6e8c2f
#     - _md5 md5module.c md5.c
6e8c2f
#     - _sha shamodule.c
6e8c2f
#     - _sha256 sha256module.c
6e8c2f
#     - _sha512 sha512module.c
6e8c2f
#     - linuxaudiodev linuxaudiodev.c
6e8c2f
#     - timing timingmodule.c
6e8c2f
#     - _tkinter _tkinter.c tkappinit.c
6e8c2f
#     - dl dlmodule.c
6e8c2f
#     - gdbm gdbmmodule.c
6e8c2f
#     - _bsddb _bsddb.c
6e8c2f
#     - binascii binascii.c
6e8c2f
#     - parser parsermodule.c
6e8c2f
#     - cStringIO cStringIO.c
6e8c2f
#     - cPickle cPickle.c
6e8c2f
#     - zlib zlibmodule.c
6e8c2f
#     - _multibytecodec cjkcodecs/multibytecodec.c
6e8c2f
#     - _codecs_cn cjkcodecs/_codecs_cn.c
6e8c2f
#     - _codecs_hk cjkcodecs/_codecs_hk.c
6e8c2f
#     - _codecs_iso2022 cjkcodecs/_codecs_iso2022.c
6e8c2f
#     - _codecs_jp cjkcodecs/_codecs_jp.c
6e8c2f
#     - _codecs_kr cjkcodecs/_codecs_kr.c
6e8c2f
#     - _codecs_tw cjkcodecs/_codecs_tw.c
6e8c2f
Patch0: python-2.7.1-config.patch
6e8c2f
6e8c2f
# Removes the "-g" option from "pydoc", for some reason; I believe
6e8c2f
# (dmalcolm 2010-01-29) that this was introduced in this change:
6e8c2f
# - fix pydoc (#68082)
6e8c2f
# in 2.2.1-12 as a response to the -g option needing TkInter installed
6e8c2f
# (Red Hat Linux 8)
6e8c2f
# Not upstream
6e8c2f
Patch1: 00001-pydocnogui.patch
6e8c2f
6e8c2f
# Add $(CFLAGS) to the linker arguments when linking the "python" binary
6e8c2f
# since some architectures (sparc64) need this (rhbz:199373).
6e8c2f
# Not yet filed upstream
6e8c2f
Patch4: python-2.5-cflags.patch
6e8c2f
6e8c2f
# Work around a bug in Python' gettext module relating to the "Plural-Forms"
6e8c2f
# header (rhbz:252136)
6e8c2f
# Related to upstream issues:
6e8c2f
#   http://bugs.python.org/issue1448060 and http://bugs.python.org/issue1475523
6e8c2f
# though the proposed upstream patches are, alas, different
6e8c2f
Patch6: python-2.5.1-plural-fix.patch
6e8c2f
6e8c2f
# This patch was listed in the changelog as: 
6e8c2f
#  * Fri Sep 14 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-11
6e8c2f
#  - fix encoding of sqlite .py files to work around weird encoding problem 
6e8c2f
#  in Turkish (#283331)
6e8c2f
# A traceback attached to rhbz 244016 shows the problem most clearly: a
6e8c2f
# traceback on attempting to import the sqlite module, with:
6e8c2f
#   "SyntaxError: encoding problem: with BOM (__init__.py, line 1)"
6e8c2f
# This seems to come from Parser/tokenizer.c:check_coding_spec
6e8c2f
# Our patch changes two source files within sqlite3, removing the
6e8c2f
# "coding: ISO-8859-1" specs and character E4 = U+00E4 = 
6e8c2f
# LATIN SMALL LETTER A WITH DIAERESIS from in ghaering's surname. 
6e8c2f
#
6e8c2f
# It may be that the conversion of "ISO-8859-1" to "iso-8859-1" is thwarted
6e8c2f
# by the implementation of "tolower" in the Turkish locale; see:
6e8c2f
#   https://bugzilla.redhat.com/show_bug.cgi?id=191096#c9
6e8c2f
# 
6e8c2f
# TODO: Not yet sent upstream, and appears to me (dmalcolm 2010-01-29) that
6e8c2f
# it may be papering over a symptom
6e8c2f
Patch7: python-2.5.1-sqlite-encoding.patch
6e8c2f
6e8c2f
# FIXME: Lib/ctypes/util.py posix implementation defines a function
6e8c2f
# _get_soname(f).  Upstreams's implementation of this uses objdump to read the
6e8c2f
# SONAME from a library; we avoid this, apparently to minimize space
6e8c2f
# requirements on the live CD:
6e8c2f
# (rhbz:307221)
6e8c2f
Patch10: python-2.7rc1-binutils-no-dep.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.3:
6e8c2f
#  Patch11: python-2.7rc1-codec-ascii-tolower.patch
6e8c2f
6e8c2f
# Add various constants to the socketmodule (rhbz#436560):
6e8c2f
# TODO: these patches were added in 2.5.1-22 and 2.5.1-24 but appear not to
6e8c2f
# have been sent upstream yet:
6e8c2f
Patch13: python-2.7rc1-socketmodule-constants.patch
6e8c2f
Patch14: python-2.7rc1-socketmodule-constants2.patch
6e8c2f
6e8c2f
# Remove an "-rpath $(LIBDIR)" argument from the linkage args in configure.in:
6e8c2f
# FIXME: is this for OSF, not Linux?
6e8c2f
Patch16: python-2.6-rpath.patch
6e8c2f
6e8c2f
# Fixup distutils/unixccompiler.py to remove standard library path from rpath:
6e8c2f
# Adapted from Patch0 in ivazquez' python3000 specfile, removing usage of
6e8c2f
# super() as it's an old-style class
6e8c2f
Patch17: python-2.6.4-distutils-rpath.patch
6e8c2f
6e8c2f
# 00055 #
6e8c2f
# Systemtap support: add statically-defined probe points
6e8c2f
# Patch based on upstream bug: http://bugs.python.org/issue4111
6e8c2f
# fixed up by mjw and wcohen for 2.6.2, then fixed up by dmalcolm for 2.6.4
6e8c2f
# then rewritten by mjw (attachment 390110 of rhbz 545179), then reformatted
6e8c2f
# for 2.7rc1 by dmalcolm:
6e8c2f
Patch55: 00055-systemtap.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.4
6e8c2f
#  Patch101: 00101-lib64-regex.patch
6e8c2f
6e8c2f
# Only used when "%{_lib}" == "lib64"
6e8c2f
# Fixup various paths throughout the build and in distutils from "lib" to "lib64",
6e8c2f
# and add the /usr/lib64/pythonMAJOR.MINOR/site-packages to sitedirs, in front of
6e8c2f
# /usr/lib/pythonMAJOR.MINOR/site-packages
6e8c2f
# Not upstream
6e8c2f
Patch102: python-2.7.3-lib64.patch
6e8c2f
6e8c2f
# Python 2.7 split out much of the path-handling from distutils/sysconfig.py to
6e8c2f
# a new sysconfig.py (in r77704).
6e8c2f
# We need to make equivalent changes to that new file to ensure that the stdlib
6e8c2f
# and platform-specific code go to /usr/lib64 not /usr/lib, on 64-bit archs:
6e8c2f
Patch103: python-2.7-lib64-sysconfig.patch
6e8c2f
6e8c2f
# 00104 #
6e8c2f
# Only used when "%{_lib}" == "lib64"
6e8c2f
# Another lib64 fix, for distutils/tests/test_install.py; not upstream:
6e8c2f
Patch104: 00104-lib64-fix-for-test_install.patch
6e8c2f
6e8c2f
# 00111 #
6e8c2f
# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
6e8c2f
# a libpythonMAJOR.MINOR.a (bug 550692):
6e8c2f
# Downstream only: not appropriate for upstream
6e8c2f
Patch111: 00111-no-static-lib.patch
6e8c2f
6e8c2f
# 00112 #
6e8c2f
# Patch to support building both optimized vs debug stacks DSO ABIs, sharing
6e8c2f
# the same .py and .pyc files, using "_d.so" to signify a debug build of an
6e8c2f
# extension module.
6e8c2f
#
6e8c2f
# Based on Debian's patch for the same, 
6e8c2f
#  http://patch-tracker.debian.org/patch/series/view/python2.6/2.6.5-2/debug-build.dpatch
6e8c2f
# 
6e8c2f
# (which was itself based on the upstream Windows build), but with some
6e8c2f
# changes:
6e8c2f
#
6e8c2f
#   * Debian's patch to dynload_shlib.c looks for module_d.so, then module.so,
6e8c2f
# but this can potentially find a module built against the wrong DSO ABI.  We
6e8c2f
# instead search for just module_d.so in a debug build
6e8c2f
#
6e8c2f
#   * We remove this change from configure.in's build of the Makefile:
6e8c2f
#   SO=$DEBUG_EXT.so
6e8c2f
# so that sysconfig.py:customize_compiler stays with shared_lib_extension='.so'
6e8c2f
# on debug builds, so that UnixCCompiler.find_library_file can find system
6e8c2f
# libraries (otherwise "make sharedlibs" fails to find system libraries,
6e8c2f
# erroneously looking e.g. for "libffi_d.so" rather than "libffi.so")
6e8c2f
#
6e8c2f
#   * We change Lib/distutils/command/build_ext.py:build_ext.get_ext_filename
6e8c2f
# to add the _d there, when building an extension.  This way, "make sharedlibs"
6e8c2f
# can build ctypes, by finding the sysmtem libffi.so (rather than failing to
6e8c2f
# find "libffi_d.so"), and builds the module as _ctypes_d.so
6e8c2f
#   
6e8c2f
#   * Similarly, update build_ext:get_libraries handling of Py_ENABLE_SHARED by
6e8c2f
# appending "_d" to the python library's name for the debug configuration
6e8c2f
#
6e8c2f
#   * We modify Modules/makesetup to add the "_d" to the generated Makefile
6e8c2f
# rules for the various Modules/*.so targets
6e8c2f
#
6e8c2f
# This may introduce issues when building an extension that links directly
6e8c2f
# against another extension (e.g. users of NumPy?), but seems more robust when
6e8c2f
# searching for external libraries
6e8c2f
#
6e8c2f
#   * We don't change Lib/distutils/command/build.py: build.build_purelib to
6e8c2f
# embed plat_specifier, leaving it as is, as pure python builds should be
6e8c2f
# unaffected by these differences (we'll be sharing the .py and .pyc files)
6e8c2f
#
6e8c2f
#   * We introduce DEBUG_SUFFIX as well as DEBUG_EXT:
6e8c2f
#     - DEBUG_EXT is used by ELF files (names and SONAMEs); it will be "_d" for
6e8c2f
# a debug build
6e8c2f
#     - DEBUG_SUFFIX is used by filesystem paths; it will be "-debug" for a
6e8c2f
# debug build
6e8c2f
#
6e8c2f
#   Both will be empty in an optimized build.  "_d" contains characters that
6e8c2f
# are valid ELF metadata, but this leads to various ugly filesystem paths (such
6e8c2f
# as the include path), and DEBUG_SUFFIX allows these paths to have more natural
6e8c2f
# names.  Changing this requires changes elsewhere in the distutils code.
6e8c2f
#
6e8c2f
#   * We add DEBUG_SUFFIX to PYTHON in the Makefile, so that the two
6e8c2f
# configurations build parallel-installable binaries with different names
6e8c2f
# ("python-debug" vs "python").
6e8c2f
#
6e8c2f
#   * Similarly, we add DEBUG_SUFFIX within python-config and
6e8c2f
#  python$(VERSION)-config, so that the two configuration get different paths
6e8c2f
#  for these.
6e8c2f
#
6e8c2f
#  See also patch 130 below
6e8c2f
#
6e8c2f
Patch112: python-2.7.3-debug-build.patch
6e8c2f
6e8c2f
6e8c2f
# 00113 #
6e8c2f
# Add configure-time support for the COUNT_ALLOCS and CALL_PROFILE options
6e8c2f
# described at http://svn.python.org/projects/python/trunk/Misc/SpecialBuilds.txt
6e8c2f
# so that if they are enabled, they will be in that build's pyconfig.h, so that
6e8c2f
# extension modules will reliably use them
6e8c2f
# Not yet sent upstream
6e8c2f
Patch113: 00113-more-configuration-flags.patch
6e8c2f
6e8c2f
# 00114 #
6e8c2f
# Add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os")
6e8c2f
# (rhbz:553020); partially upstream as http://bugs.python.org/issue7647
6e8c2f
# Not yet sent upstream
6e8c2f
Patch114: 00114-statvfs-f_flag-constants.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.3:
6e8c2f
#  Patch115: make-pydoc-more-robust-001.patch
6e8c2f
6e8c2f
# Upstream r79310 removed the "Modules" directory from sys.path when Python is
6e8c2f
# running from the build directory on POSIX to fix a unit test (issue #8205).
6e8c2f
# This seems to have broken the compileall.py done in "make install": it cannot
6e8c2f
# find shared library extension modules at this point in the build (sys.path
6e8c2f
# does not contain DESTDIR/usr/lib(64)/python-2.7/lib-dynload for some reason),
6e8c2f
# leading to the build failing with:
6e8c2f
# Traceback (most recent call last):
6e8c2f
#   File "/home/david/rpmbuild/BUILDROOT/python-2.7-0.1.rc2.fc14.x86_64/usr/lib64/python2.7/compileall.py", line 17, in <module>
6e8c2f
#     import struct
6e8c2f
#   File "/home/david/rpmbuild/BUILDROOT/python-2.7-0.1.rc2.fc14.x86_64/usr/lib64/python2.7/struct.py", line 1, in <module>
6e8c2f
#    from _struct import *
6e8c2f
# ImportError: No module named _struct
6e8c2f
# This patch adds the build Modules directory to build path.
6e8c2f
Patch121: 00121-add-Modules-to-build-path.patch
6e8c2f
6e8c2f
# 00125 #
6e8c2f
# COUNT_ALLOCS is useful for debugging, but the upstream behaviour of always
6e8c2f
# emitting debug info to stdout on exit is too verbose and makes it harder to
6e8c2f
# use the debug build.  Add a "PYTHONDUMPCOUNTS" environment variable which
6e8c2f
# must be set to enable the output on exit
6e8c2f
# Not yet sent upstream
6e8c2f
Patch125: 00125-less-verbose-COUNT_ALLOCS.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.5
6e8c2f
#  Patch126: fix-dbm_contains-on-64bit-bigendian.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.5
6e8c2f
#  Patch127: fix-test_structmember-on-64bit-bigendian.patch
6e8c2f
6e8c2f
# 2.7.1 (in r84230) added a test to test_abc which fails if python is
6e8c2f
# configured with COUNT_ALLOCS, which is the case for our debug build
6e8c2f
# (the COUNT_ALLOCS instrumentation keeps "C" alive).
6e8c2f
# Not yet sent upstream
6e8c2f
Patch128: python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch
6e8c2f
6e8c2f
# 00130 #
6e8c2f
# Add "--extension-suffix" option to python-config and python-debug-config
6e8c2f
# (rhbz#732808)
6e8c2f
#
6e8c2f
# This is adapted from 3.2's PEP-3149 support.
6e8c2f
#
6e8c2f
# Fedora's debug build has some non-standard features (see also patch 112
6e8c2f
# above), though largely shared with Debian/Ubuntu and Windows
6e8c2f
#
6e8c2f
# In particular, SO in the Makefile is currently always just ".so" for our
6e8c2f
# python 2 optimized builds, but for python 2 debug it should be '_d.so', to
6e8c2f
# distinguish the debug vs optimized ABI, following the pattern in the above
6e8c2f
# patch.
6e8c2f
#
6e8c2f
# Not yet sent upstream
6e8c2f
Patch130: python-2.7.2-add-extension-suffix-to-python-config.patch
6e8c2f
6e8c2f
# 00131 #
6e8c2f
# The four tests in test_io built on top of check_interrupted_write_retry
6e8c2f
# fail when built in Koji, for ppc and ppc64; for some reason, the SIGALRM
6e8c2f
# handlers are never called, and the call to write runs to completion
6e8c2f
# (rhbz#732998)
6e8c2f
Patch131: 00131-disable-tests-in-test_io.patch
6e8c2f
6e8c2f
# 00132 #
6e8c2f
# Add non-standard hooks to unittest for use in the "check" phase below, when
6e8c2f
# running selftests within the build:
6e8c2f
#   @unittest._skipInRpmBuild(reason)
6e8c2f
# for tests that hang or fail intermittently within the build environment, and:
6e8c2f
#   @unittest._expectedFailureInRpmBuild
6e8c2f
# for tests that always fail within the build environment
6e8c2f
#
6e8c2f
# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the
6e8c2f
# environment, which we set manually in the appropriate portion of the "check"
6e8c2f
# phase below (and which potentially other python-* rpms could set, to reuse
6e8c2f
# these unittest hooks in their own "check" phases)
6e8c2f
Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
6e8c2f
6e8c2f
# 00133 #
6e8c2f
# "dl" is deprecated, and test_dl doesn't work on 64-bit builds:
6e8c2f
Patch133: 00133-skip-test_dl.patch
6e8c2f
6e8c2f
# 00134 #
6e8c2f
# Fix a failure in test_sys.py when configured with COUNT_ALLOCS enabled
6e8c2f
# Not yet sent upstream
6e8c2f
Patch134: 00134-fix-COUNT_ALLOCS-failure-in-test_sys.patch
6e8c2f
6e8c2f
# 00135 #
6e8c2f
# Skip "test_callback_in_cycle_resurrection" in a debug build, where it fails:
6e8c2f
# Not yet sent upstream
6e8c2f
Patch135: 00135-skip-test-within-test_weakref-in-debug-build.patch
6e8c2f
6e8c2f
# 00136 #
6e8c2f
# Some tests try to seek on sys.stdin, but don't work as expected when run
6e8c2f
# within Koji/mock; skip them within the rpm build:
6e8c2f
Patch136: 00136-skip-tests-of-seeking-stdin-in-rpmbuild.patch
6e8c2f
6e8c2f
# 00137 #
6e8c2f
# Some tests within distutils fail when run in an rpmbuild:
6e8c2f
Patch137: 00137-skip-distutils-tests-that-fail-in-rpmbuild.patch
6e8c2f
6e8c2f
# 00138 #
6e8c2f
# Fixup some tests within distutils to work with how debug builds are set up:
6e8c2f
Patch138: 00138-fix-distutils-tests-in-debug-build.patch
6e8c2f
6e8c2f
# 00139 #
6e8c2f
# ARM-specific: skip known failure in test_float:
6e8c2f
#  http://bugs.python.org/issue8265 (rhbz#706253)
6e8c2f
Patch139: 00139-skip-test_float-known-failure-on-arm.patch
6e8c2f
6e8c2f
# 00140 #
6e8c2f
# Sparc-specific: skip known failure in test_ctypes:
6e8c2f
#  http://bugs.python.org/issue8314 (rhbz#711584)
6e8c2f
# which appears to be a libffi bug
6e8c2f
Patch140: 00140-skip-test_ctypes-known-failure-on-sparc.patch
6e8c2f
6e8c2f
# 00141 #
6e8c2f
# Fix test_gc's test_newinstance case when configured with COUNT_ALLOCS:
6e8c2f
# Not yet sent upstream
6e8c2f
Patch141: 00141-fix-test_gc_with_COUNT_ALLOCS.patch
6e8c2f
6e8c2f
# 00142 #
6e8c2f
# Some pty tests fail when run in mock (rhbz#714627):
6e8c2f
Patch142: 00142-skip-failing-pty-tests-in-rpmbuild.patch
6e8c2f
6e8c2f
# 00143 #
6e8c2f
# Fix the --with-tsc option on ppc64, and rework it on 32-bit ppc to avoid
6e8c2f
# aliasing violations (rhbz#698726)
6e8c2f
# Sent upstream as http://bugs.python.org/issue12872
6e8c2f
Patch143: 00143-tsc-on-ppc.patch
6e8c2f
6e8c2f
# 00144 #
6e8c2f
# (Optionally) disable the gdbm module:
6e8c2f
Patch144: 00144-no-gdbm.patch
6e8c2f
6e8c2f
# 00145 #
6e8c2f
# Upstream as of Python 2.7.3:
6e8c2f
#  Patch145: 00145-force-sys-platform-to-be-linux2.patch
6e8c2f
6e8c2f
# 00146 #
6e8c2f
# Support OpenSSL FIPS mode (e.g. when OPENSSL_FORCE_FIPS_MODE=1 is set)
6e8c2f
# - handle failures from OpenSSL (e.g. on attempts to use MD5 in a
6e8c2f
#   FIPS-enforcing environment)
6e8c2f
# - add a new "usedforsecurity" keyword argument to the various digest
6e8c2f
#   algorithms in hashlib so that you can whitelist a callsite with
6e8c2f
#   "usedforsecurity=False"
6e8c2f
# (sent upstream for python 3 as http://bugs.python.org/issue9216; this is a
6e8c2f
# backport to python 2.7; see RHEL6 patch 119)
6e8c2f
# - enforce usage of the _hashlib implementation: don't fall back to the _md5
6e8c2f
#   and _sha* modules (leading to clearer error messages if fips selftests
6e8c2f
#   fail)
6e8c2f
# - don't build the _md5 and _sha* modules; rely on the _hashlib implementation
6e8c2f
#   of hashlib (for example, md5.py will use _hashlib's implementation of MD5,
6e8c2f
#   if permitted by the FIPS setting)
6e8c2f
# (rhbz#563986)
6e8c2f
Patch146: 00146-hashlib-fips.patch
6e8c2f
6e8c2f
# 00147 #
6e8c2f
# Add a sys._debugmallocstats() function
6e8c2f
# Based on patch 202 from RHEL 5's python.spec, with updates from rhbz#737198
6e8c2f
# Sent upstream as http://bugs.python.org/issue14785
6e8c2f
Patch147: 00147-add-debug-malloc-stats.patch
6e8c2f
6e8c2f
# 00148 #
6e8c2f
# Upstream as of Python 2.7.3:
6e8c2f
#  Patch148: 00148-gdbm-1.9-magic-values.patch
6e8c2f
6e8c2f
# 00149 #
6e8c2f
# python3.spec's
6e8c2f
#   Patch149: 00149-backport-issue11254-pycache-bytecompilation-fix.patch
6e8c2f
# is not relevant for Python 2
6e8c2f
6e8c2f
# 00150 #
6e8c2f
# python3.spec has:
6e8c2f
#  Patch150: 00150-disable-rAssertAlmostEqual-cmath-on-ppc.patch
6e8c2f
# as a workaround for a glibc bug on PPC (bz #750811)
6e8c2f
6e8c2f
# 00151 #
6e8c2f
# Upstream as of Python 2.7.3:
6e8c2f
#  Patch151: 00151-fork-deadlock.patch
6e8c2f
6e8c2f
# 00152 #
6e8c2f
# python3.spec has:
6e8c2f
#  Patch152: 00152-fix-test-gdb-regex.patch
6e8c2f
6e8c2f
# 00153 #
6e8c2f
# Strip out lines of the form "warning: Unable to open ..." from gdb's stderr
6e8c2f
# when running test_gdb.py; also cope with change to gdb in F17 onwards in
6e8c2f
# which values are printed as "v@entry" rather than just "v":
6e8c2f
# Not yet sent upstream
6e8c2f
Patch153: 00153-fix-test_gdb-noise.patch
6e8c2f
6e8c2f
# 00154 #
6e8c2f
# python3.spec on f15 has:
6e8c2f
#  Patch154: 00154-skip-urllib-test-requiring-working-DNS.patch
6e8c2f
6e8c2f
# 00155 #
6e8c2f
# Avoid allocating thunks in ctypes unless absolutely necessary, to avoid
6e8c2f
# generating SELinux denials on "import ctypes" and "import uuid" when
6e8c2f
# embedding Python within httpd (rhbz#814391)
6e8c2f
Patch155: 00155-avoid-ctypes-thunks.patch
6e8c2f
6e8c2f
# 00156 #
6e8c2f
# Recent builds of gdb will only auto-load scripts from certain safe
6e8c2f
# locations.  Turn off this protection when running test_gdb in the selftest
6e8c2f
# suite to ensure that it can load our -gdb.py script (rhbz#817072):
6e8c2f
# Not yet sent upstream
6e8c2f
Patch156: 00156-gdb-autoload-safepath.patch
6e8c2f
6e8c2f
# 00157 #
6e8c2f
# Update uid/gid handling throughout the standard library: uid_t and gid_t are
6e8c2f
# unsigned 32-bit values, but existing code often passed them through C long
6e8c2f
# values, which are signed 32-bit values on 32-bit architectures, leading to
6e8c2f
# negative int objects for uid/gid values >= 2^31 on 32-bit architectures.
6e8c2f
#
6e8c2f
# Introduce _PyObject_FromUid/Gid to convert uid_t/gid_t values to python
6e8c2f
# objects, using int objects where the value will fit (long objects otherwise),
6e8c2f
# and _PyArg_ParseUid/Gid to convert int/long to uid_t/gid_t, with -1 allowed
6e8c2f
# as a special case (since this is given special meaning by the chown syscall)
6e8c2f
#
6e8c2f
# Update standard library to use this throughout for uid/gid values, so that
6e8c2f
# very large uid/gid values are round-trippable, and -1 remains usable.
6e8c2f
# (rhbz#697470)
6e8c2f
Patch157: 00157-uid-gid-overflows.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.4
6e8c2f
# Patch158: 00158-fix-hashlib-leak.patch
6e8c2f
6e8c2f
# 00160 #
6e8c2f
# python3.spec's
6e8c2f
#   Patch160: 00160-disable-test_fs_holes-in-rpm-build.patch
6e8c2f
# is not relevant for Python 2
6e8c2f
6e8c2f
# 00161 #
6e8c2f
# python3.spec has:
6e8c2f
#   Patch161: 00161-fix-test_tools-directory.patch
6e8c2f
# which will likely become relevant for Python 2 next time we rebase
6e8c2f
6e8c2f
# 00162 #
6e8c2f
# python3.spec has:
6e8c2f
#  Patch162: 00162-distutils-sysconfig-fix-CC-options.patch
6e8c2f
6e8c2f
# 00163 #
6e8c2f
# python3.spec has:
6e8c2f
#  Patch163: 00163-disable-parts-of-test_socket-in-rpm-build.patch
6e8c2f
6e8c2f
# 00164 #
6e8c2f
# python3.spec has:
6e8c2f
#  Patch164: 00164-disable-interrupted_write-tests-on-ppc.patch
6e8c2f
6e8c2f
# 00165 #
6e8c2f
# Backport to Python 2 from Python 3.3 of improvements to the "crypt" module
6e8c2f
# adding precanned ways of salting a password (rhbz#835021)
6e8c2f
# Based on r88500 patch to py3k from Python 3.3
6e8c2f
# plus 6482dd1c11ed, 0586c699d467, 62994662676a, 74a1110a3b50, plus edits
6e8c2f
# to docstrings to note that this additional functionality is not standard
6e8c2f
# within 2.7
6e8c2f
Patch165: 00165-crypt-module-salt-backport.patch
6e8c2f
6e8c2f
# 00166 #
6e8c2f
# Bulletproof the gdb debugging hooks against the case where co_filename for
6e8c2f
# a frame can't be read from the inferior process (rhbz#912025)
6e8c2f
#
6e8c2f
# Not yet sent upstream
6e8c2f
Patch166: 00166-fix-fake-repr-in-gdb-hooks.patch
6e8c2f
6e8c2f
# 00167 #
6e8c2f
# Don't run any of the stack navigation tests in test_gdb when Python is
6e8c2f
# optimized, since there appear to be many different ways in which gdb can
6e8c2f
# fail to read the PyFrameObject* for arbitrary places in the callstack,
6e8c2f
# presumably due to compiler optimization (rhbz#912025)
6e8c2f
#
6e8c2f
# Not yet sent upstream
6e8c2f
Patch167: 00167-disable-stack-navigation-tests-when-optimized-in-test_gdb.patch
6e8c2f
6e8c2f
# 00168 #
6e8c2f
# Update distutils.sysconfig so that if CFLAGS is defined in the environment,
6e8c2f
# when building extension modules, it is appended to the full compilation
6e8c2f
# flags from Python's Makefile, rather than instead reducing the compilation
6e8c2f
# flags to the subset within OPT and adding it to those.
6e8c2f
#
6e8c2f
# In particular, this should ensure that "-fno-strict-aliasing" is used by
6e8c2f
# "python setup.py build" even when CFLAGS is defined in the environment.
6e8c2f
#
6e8c2f
# (rhbz#849994)
6e8c2f
Patch168: 00168-distutils-cflags.patch
6e8c2f
6e8c2f
# 00169 #
6e8c2f
# Use SHA-256 rather than implicitly using MD5 within the challenge handling
6e8c2f
# in multiprocessing.connection
6e8c2f
#
6e8c2f
# Sent upstream as http://bugs.python.org/issue17258
6e8c2f
# (rhbz#879695)
6e8c2f
Patch169: 00169-avoid-implicit-usage-of-md5-in-multiprocessing.patch
6e8c2f
6e8c2f
# 00170 #
6e8c2f
# In debug builds, try to print repr() when a C-level assert fails in the
6e8c2f
# garbage collector (typically indicating a reference-counting error
6e8c2f
# somewhere else e.g in an extension module)
6e8c2f
# Backported to 2.7 from a patch I sent upstream for py3k
6e8c2f
#   http://bugs.python.org/issue9263  (rhbz#614680)
6e8c2f
# hiding the proposed new macros/functions within gcmodule.c to avoid exposing
6e8c2f
# them within the extension API.
6e8c2f
# (rhbz#850013)
6e8c2f
Patch170: 00170-gc-assertions.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.4
6e8c2f
#  Patch171: 00171-raise-correct-exception-when-dev-urandom-is-missing.patch
6e8c2f
6e8c2f
# Upstream as of Python 2.7.4
6e8c2f
#  Patch172: 00172-use-poll-for-multiprocessing-socket-connection.patch
6e8c2f
6e8c2f
# 00173 #
6e8c2f
# Workaround for ENOPROTOOPT seen in Koji within
6e8c2f
# test.test_support.bind_port()
6e8c2f
# (rhbz#913732)
6e8c2f
Patch173: 00173-workaround-ENOPROTOOPT-in-bind_port.patch
6e8c2f
6e8c2f
# 00174 #
6e8c2f
# Workaround for failure to set up prefix/exec_prefix when running
6e8c2f
# an embededed libpython that sets Py_SetProgramName() to a name not
6e8c2f
# on $PATH when run from the root directory due to
6e8c2f
#   https://fedoraproject.org/wiki/Features/UsrMove
6e8c2f
# e.g. cmpi-bindings under systemd (rhbz#817554):
6e8c2f
Patch174: 00174-fix-for-usr-move.patch
6e8c2f
6e8c2f
# 00175 #
6e8c2f
# Upstream as of Python 2.7.5
6e8c2f
#  Patch175: 00175-fix-configure-Wformat.patch
6e8c2f
6e8c2f
# 00176 #
6e8c2f
# python3.spec had:
6e8c2f
#  Patch176: 00176-upstream-issue16754-so-extension.patch
6e8c2f
# doesn't affect python2
6e8c2f
6e8c2f
# 00177 #
6e8c2f
# python3.spec has
6e8c2f
#  Patch177: 00177-platform-unicode.patch
6e8c2f
# Does not affect python2
6e8c2f
6e8c2f
# 00178 #
6e8c2f
# python3.spec has
6e8c2f
#  Patch178: 00178-dont-duplicate-flags-in-sysconfig.patch
6e8c2f
# Does not affect python2 AFAICS (different sysconfig values initialization)
6e8c2f
6e8c2f
# 00179 #
6e8c2f
# python3.spec has
6e8c2f
#  Patch179: 00179-dont-raise-error-on-gdb-corrupted-frames-in-backtrace.patch
6e8c2f
# Doesn't seem to affect python2
6e8c2f
6e8c2f
# 00180 #
6e8c2f
# Enable building on ppc64p7
6e8c2f
# Not appropriate for upstream, Fedora-specific naming
6e8c2f
Patch180: 00180-python-add-support-for-ppc64p7.patch
6e8c2f
6e8c2f
# 00181 #
6e8c2f
# Allow arbitrary timeout for Condition.wait, as reported in
6e8c2f
# https://bugzilla.redhat.com/show_bug.cgi?id=917709
6e8c2f
# Upstream doesn't want this: http://bugs.python.org/issue17748
6e8c2f
# But we have no better solution downstream yet, and since there is
6e8c2f
# no API breakage, we apply this patch.
6e8c2f
# Doesn't apply to Python 3, where this is fixed otherwise and works.
6e8c2f
Patch181: 00181-allow-arbitrary-timeout-in-condition-wait.patch
6e8c2f
6e8c2f
# 00182 #
6e8c2f
# python3.spec had
6e8c2f
#  Patch182: 00182-fix-test_gdb-test_threads.patch
6e8c2f
6e8c2f
# 00183 #
6e8c2f
# python3.spec has
6e8c2f
#  Patch183: 00183-cve-2013-2099-fix-ssl-match_hostname-dos.patch
6e8c2f
6e8c2f
# 00184 #
6e8c2f
# Fix for https://bugzilla.redhat.com/show_bug.cgi?id=979696
6e8c2f
# Fixes build of ctypes against libffi with multilib wrapper
6e8c2f
# Python recognizes ffi.h only if it contains "#define LIBFFI_H",
6e8c2f
# but the wrapper doesn't contain that, which makes the build fail
6e8c2f
# We patch this by also accepting "#define ffi_wrapper_h"
6e8c2f
Patch184: 00184-ctypes-should-build-with-libffi-multilib-wrapper.patch
6e8c2f
6e8c2f
# 00185 #
6e8c2f
# Makes urllib2 honor "no_proxy" enviroment variable for "ftp:" URLs
6e8c2f
# when ftp_proxy is set
6e8c2f
# Resolves rhbz#971267
6e8c2f
Patch185: 00185-urllib2-honors-noproxy-for-ftp.patch
6e8c2f
6e8c2f
# 00186 #
6e8c2f
# Fix memory leak of variable utf8 in marshal.c
6e8c2f
# (rhbz#990554)
6e8c2f
Patch186: 00186-memory-leak-marshalc.patch
6e8c2f
6e8c2f
# 00187 #
6e8c2f
# Add an explicit RPATH to pyexpat.so pointing at the directory
6e8c2f
# containing the system expat (which has the extra XML_SetHashSalt
6e8c2f
# symbol), to avoid an ImportError with a link error if there's an
6e8c2f
# LD_LIBRARY_PATH containing a "vanilla" build of expat (without the
6e8c2f
# symbol) (originally rhbz#833271, for rhel 7 rhbz#996665):
6e8c2f
Patch187: 00187-add-RPATH-to-pyexpat.patch
6e8c2f
6e8c2f
# 00188 #
6e8c2f
# Fix for CVE-2013-4238 --
6e8c2f
# SSL module fails to handle NULL bytes inside subjectAltNames general names
6e8c2f
# http://bugs.python.org/issue18709
6e8c2f
# rhbz#998781
6e8c2f
Patch188: 00188-CVE-2013-4238-hostname-check-bypass-in-SSL-module.patch
6e8c2f
6e8c2f
# 00189 #
6e8c2f
# Fixes gdb py-bt command not to raise exception while processing
6e8c2f
# statements from eval
6e8c2f
# rhbz#1008154 (patch by Attila Fazekas)
6e8c2f
Patch189: 00189-gdb-py-bt-dont-raise-exception-from-eval.patch
6e8c2f
6e8c2f
# 190 #
6e8c2f
# Don't fail various gdb tests on ppc64 if glibc debug
6e8c2f
# symbols are installed
6e8c2f
Patch190: 00190-gdb-fix-ppc64-failures.patch
6e8c2f
6e8c2f
# 00191 #
6e8c2f
# Add explicit RPATH to _elementtree.so
6e8c2f
# rhbz#1019345
6e8c2f
Patch191: 00191-add-RPATH-to-elementtree.patch
6e8c2f
4082f8
# 00192 #
4082f8
# Fix missing documentation for some keywords
4082f8
# rhbz#1032116
4082f8
Patch192: 00192-Fix-missing-documentation-for-some-keywords.patch
4082f8
4082f8
# 00193 #
4082f8
# Fix buffer overflow (upstream patch, http://bugs.python.org/issue20246)
4082f8
# rhbz#1062376
4082f8
Patch193: 00193-buffer-overflow.patch
4082f8
9a62d8
# 00194 #
9a62d8
# Make GDB test pass even if GDB prints program counter for
9a62d8
# the first trace frame
9a62d8
Patch194: 00194-gdb-dont-fail-on-frame-with-address.patch
9a62d8
9a62d8
# 0195 #
9a62d8
# Make multiprocessing ignore EINTR
9a62d8
# rhbz#1181624
9a62d8
Patch195: 00195-make-multiproc-ignore-EINTR.patch
9a62d8
f63228
# 00196 #
f63228
# Avoid double close of subprocess pipes when the child process
f63228
# fails starting
f63228
# rhbz#110345p
f63228
Patch196: 00196-avoid-double-close-of-pipes.patch
f63228
f63228
# 00197 #
f63228
# Add missing import in bdist_rpm
f63228
# rhbz#1177613
f63228
Patch197: 00197-add-missing-import-in-bdist_rpm.patch
f63228
f63228
# 00198 #
f63228
# Fix importing readline producing erroneous output
f63228
Patch198: 00198-fix-readline-erroneous-output.patch
f63228
f63228
# 00199 #
f63228
# Fix for CVE-2013-1753
f63228
# rhbz#1046170
f63228
Patch199: 00199-CVE-2013-1753.patch
f63228
f63228
# 00200 #
f63228
# Fix for CVE-2014-4616
f63228
# rhbz#1112285
f63228
Patch200: 00200-CVE-2014-4616.patch
f63228
f63228
# 00201 #
f63228
# Fix for CVE-2014-4650
f63228
# rhbz#1113527
f63228
Patch201: 00201-CVE-2014-4650.patch
f63228
f63228
# 00202 #
f63228
# Fix for CVE-2014-7185
f63228
# rhbz#1146026
f63228
Patch202: 00202-CVE-2014-7185.patch
f63228
f63228
# Fixes for CVE-2013-1752
f63228
# rhbz#1046174
f63228
Patch203: 00203-CVE-2013-1752-nntplib.patch
f63228
Patch204: 00204-CVE-2013-1752-ftplib.patch
f63228
Patch205: 00205-CVE-2013-1752-httplib-headers.patch
f63228
Patch206: 00206-CVE-2013-1752-poplib.patch
f63228
Patch207: 00207-CVE-2013-1752-smtplib.patch
f63228
Patch208: 00208-CVE-2013-1752-imaplib.patch
f63228
f63228
# ================== PEP466===========================
f63228
# Massive backport of PEP466 and relevant other fixes
f63228
# ================rhbz#1111461========================
f63228
# 00209 #
f63228
# backport hmac.compare_digest 
f63228
# http://bugs.python.org/issue21306
f63228
Patch209: 00209-pep466-backport-hmac.compare_digest.patch
f63228
# 00210 #
f63228
# backport hashlib.pbkdf2_hmac
f63228
# http://bugs.python.org/issue21304
f63228
Patch210: 00210-pep466-backport-hashlib.pbkdf2_hmac.patch
f63228
# 00211 #
f63228
# UTF-7 decoder can produce inconsistent Unicode string
f63228
# http://bugs.python.org/issue19279
f63228
Patch211: 00211-pep466-UTF-7-decoder-fix-illegal-unicode.patch
f63228
# 00212 #
f63228
# Add range check for %c in PyUnicode_FromFormat
f63228
# http://bugs.python.org/issue18184
f63228
Patch212: 00212-pep466-pyunicode_fromformat-raise-overflow.patch
f63228
# 00213 #
f63228
# Fix %S, %R and %V formats of PyUnicode_FromFormat().
f63228
# http://bugs.python.org/issue122023
f63228
Patch213: 00213-pep466-pyunicode_fromformat-fix-formats.patch
f63228
# 00214 #
f63228
# Backport SSL module from Python3
f63228
# http://bugs.python.org/issue21308
f63228
Patch214: 00214-pep466-backport-py3-ssl-changes.patch
f63228
# 00215 #
f63228
# OpenSSL disabled various ciphers and protocols
f63228
# we have to reflect it in tests
f63228
Patch215: 00215-pep466-reflect-openssl-settings-ssltests.patch
f63228
# 00216 #
f63228
# fix load_verify_locations on unicode paths
f63228
# http://bugs.python.org/issue22244
f63228
Patch216: 00216-pep466-fix-load-verify-locs-unicode.patch
f63228
# 00217 #
f63228
# backport hashlib changes
f63228
# http://bugs.python.org/issue21307
f63228
Patch217: 00217-pep466-backport-hashlib-algorithm-consts.patch
f63228
# 00218 #
f63228
# update os.urandom
f63228
# http://bugs.python.org/issue21305
f63228
Patch218: 00218-pep466-backport-urandom-pers-fd.patch
f63228
# 00219 #
f63228
# Lib/ssl.py still references _ssl.sslwrap
f63228
# http://bugs.python.org/issue22523
f63228
Patch219: 00219-pep466-fix-referenced-sslwrap.patch
f63228
# 00220 #
f63228
# allow passing cert/ssl information to urllib2.urlopen and httplib.HTTPSConnection
f63228
Patch220: 00220-pep466-allow-passing-ssl-urrlib-httplib.patch
f63228
# 00221 #
f63228
# Patch214 remove sslwrap from _ssl.c this so we have to reimplement it
f63228
Patch221: 00221-pep466-backport-sslwrap-c-ssl.patch
f63228
# 00222 #
f63228
# test_ssl: fails on recent libressl version with BAD_DH_P_LENGTH
f63228
# https://bugs.python.org/issue23844
f63228
Patch222: 00222-add-2014-bit-dh-key.patch
f63228
# 00223 #
f63228
# PEP 476: verify HTTPS certificates by default
f63228
# http://bugs.python.org/issue22417
f63228
# Resolves:rhbz#1219110
f63228
Patch223: 00223-pep476-verify-certs-by-default.patch
f63228
# 00224 #
f63228
# Add switch to toggle global verification on and off
f63228
# Resolves:rhbz#1219108
f63228
# For more information see PEP493
f63228
Patch224: 00224-pep476-add-toggle-for-cert-verify.patch
f63228
f63228
# 00225 #
f63228
# Add list of choices to sort option of cProfile
f63228
# Resolves:rhbz#1237107
f63228
Patch225: 00225-cprofile-sort-option.patch
f63228
f63228
# 00227 #
f63228
# Make load_cert_chain function of SSLContext accept
f63228
# keyfile which is set to None
f63228
# Resolves: rhbz#1250611
f63228
Patch227: 00227-accept-none-keyfile-loadcertchain.patch
f63228
f63228
# 00228 #
f63228
# Backport SSLSocket.version function
f63228
# Resolves: rhbz#1259421
f63228
Patch228: 00228-backport-ssl-version.patch
f63228
6e8c2f
# (New patches go here ^^^)
6e8c2f
#
6e8c2f
# When adding new patches to "python" and "python3" in Fedora 17 onwards,
6e8c2f
# please try to keep the patch numbers in-sync between the two specfiles:
6e8c2f
#
6e8c2f
#   - use the same patch number across both specfiles for conceptually-equivalent
6e8c2f
#     fixes, ideally with the same name
6e8c2f
#
6e8c2f
#   - when a patch is relevant to both specfiles, use the same introductory
6e8c2f
#     comment in both specfiles where possible (to improve "diff" output when
6e8c2f
#     comparing them)
6e8c2f
#
6e8c2f
#   - when a patch is only relevant for one of the two specfiles, leave a gap
6e8c2f
#     in the patch numbering in the other specfile, adding a comment when
6e8c2f
#     omitting a patch, both in the manifest section here, and in the "prep"
6e8c2f
#     phase below
6e8c2f
#
6e8c2f
# Hopefully this will make it easier to ensure that all relevant fixes are
6e8c2f
# applied to both versions.
6e8c2f
6e8c2f
# This is the generated patch to "configure"; see the description of
6e8c2f
#   %{regenerate_autotooling_patch}
6e8c2f
# above:
6e8c2f
Patch5000: 05000-autotool-intermediates.patch
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# Additional metadata, and subpackages
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%if %{main_python}
6e8c2f
Obsoletes: Distutils
6e8c2f
Provides: Distutils
6e8c2f
Obsoletes: python2 
6e8c2f
Provides: python2 = %{version}
6e8c2f
Obsoletes: python-elementtree <= 1.2.6
6e8c2f
Obsoletes: python-sqlite < 2.3.2
6e8c2f
Provides: python-sqlite = 2.3.2
6e8c2f
Obsoletes: python-ctypes < 1.0.1
6e8c2f
Provides: python-ctypes = 1.0.1
6e8c2f
Obsoletes: python-hashlib < 20081120
6e8c2f
Provides: python-hashlib = 20081120
6e8c2f
Obsoletes: python-uuid < 1.31
6e8c2f
Provides: python-uuid = 1.31
6e8c2f
6e8c2f
# python-sqlite2-2.3.5-5.fc18 was retired.  Obsolete the old package here
6e8c2f
# so it gets uninstalled on updates
6e8c2f
%if 0%{?fedora} >= 17
6e8c2f
Obsoletes: python-sqlite2 <= 2.3.5-6
6e8c2f
%endif
6e8c2f
6e8c2f
# python-argparse is part of python as of version 2.7
6e8c2f
# drop this Provides in F17
6e8c2f
# (having Obsoletes here caused problems with multilib; see rhbz#667984)
6e8c2f
Provides:   python-argparse = %{version}-%{release}
6e8c2f
%endif
6e8c2f
6e8c2f
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
6e8c2f
6e8c2f
URL: http://www.python.org/
6e8c2f
6e8c2f
%description
6e8c2f
Python is an interpreted, interactive, object-oriented programming
6e8c2f
language often compared to Tcl, Perl, Scheme or Java. Python includes
6e8c2f
modules, classes, exceptions, very high level dynamic data types and
6e8c2f
dynamic typing. Python supports interfaces to many system calls and
6e8c2f
libraries, as well as to various windowing systems (X11, Motif, Tk,
6e8c2f
Mac and MFC).
6e8c2f
6e8c2f
Programmers can write new built-in modules for Python in C or C++.
6e8c2f
Python can be used as an extension language for applications that need
6e8c2f
a programmable interface.
6e8c2f
6e8c2f
Note that documentation for Python is provided in the python-docs
6e8c2f
package.
6e8c2f
6e8c2f
This package provides the "python" executable; most of the actual
6e8c2f
implementation is within the "python-libs" package.
6e8c2f
6e8c2f
%package libs
6e8c2f
Summary: Runtime libraries for Python
6e8c2f
Group: Applications/System
6e8c2f
6e8c2f
# Needed for ctypes, to load libraries, worked around for Live CDs size
6e8c2f
# Requires: binutils
6e8c2f
6e8c2f
# expat 2.1.0 added the symbol XML_SetHashSalt without bumping SONAME.  We use
6e8c2f
# this symbol (in pyexpat), so we must explicitly state this dependency to
6e8c2f
# prevent "import pyexpat" from failing with a linker error if someone hasn't
6e8c2f
# yet upgraded expat:
6e8c2f
Requires: expat >= 2.1.0
6e8c2f
6e8c2f
%description libs
6e8c2f
This package contains runtime libraries for use by Python:
6e8c2f
- the libpython dynamic library, for use by applications that embed Python as
6e8c2f
a scripting language, and by the main "python" executable
6e8c2f
- the Python standard library
6e8c2f
6e8c2f
%package devel
6e8c2f
Summary: The libraries and header files needed for Python development
6e8c2f
Group: Development/Libraries
6e8c2f
Requires: %{python}%{?_isa} = %{version}-%{release}
6e8c2f
Requires: pkgconfig
6e8c2f
# Needed here because of the migration of Makefile from -devel to the main
6e8c2f
# package
6e8c2f
Conflicts: %{python} < %{version}-%{release}
6e8c2f
%if %{main_python}
6e8c2f
Obsoletes: python2-devel
6e8c2f
Provides: python2-devel = %{version}-%{release}
6e8c2f
%endif
6e8c2f
6e8c2f
%description devel
6e8c2f
The Python programming language's interpreter can be extended with
6e8c2f
dynamically loaded extensions and can be embedded in other programs.
6e8c2f
This package contains the header files and libraries needed to do
6e8c2f
these types of tasks.
6e8c2f
6e8c2f
Install python-devel if you want to develop Python extensions.  The
6e8c2f
python package will also need to be installed.  You'll probably also
6e8c2f
want to install the python-docs package, which contains Python
6e8c2f
documentation.
6e8c2f
6e8c2f
%package tools
6e8c2f
Summary: A collection of development tools included with Python
6e8c2f
Group: Development/Tools
6e8c2f
Requires: %{name} = %{version}-%{release}
6e8c2f
Requires: %{tkinter} = %{version}-%{release}
6e8c2f
%if %{main_python}
6e8c2f
Obsoletes: python2-tools
6e8c2f
Provides: python2-tools = %{version}
6e8c2f
%endif
6e8c2f
6e8c2f
%description tools
6e8c2f
This package includes several tools to help with the development of Python   
6e8c2f
programs, including IDLE (an IDE with editing and debugging facilities), a 
6e8c2f
color editor (pynche), and a python gettext program (pygettext.py).  
6e8c2f
6e8c2f
%package -n %{tkinter}
6e8c2f
Summary: A graphical user interface for the Python scripting language
6e8c2f
Group: Development/Languages
6e8c2f
Requires: %{name} = %{version}-%{release}
6e8c2f
%if %{main_python}
6e8c2f
Obsoletes: tkinter2
6e8c2f
Provides: tkinter2 = %{version}
6e8c2f
%endif
6e8c2f
6e8c2f
%description -n %{tkinter}
6e8c2f
6e8c2f
The Tkinter (Tk interface) program is an graphical user interface for
6e8c2f
the Python scripting language.
6e8c2f
6e8c2f
You should install the tkinter package if you'd like to use a graphical
6e8c2f
user interface for Python programming.
6e8c2f
6e8c2f
%package test
6e8c2f
Summary: The test modules from the main python package
6e8c2f
Group: Development/Languages
6e8c2f
Requires: %{name} = %{version}-%{release}
6e8c2f
6e8c2f
%description test
6e8c2f
6e8c2f
The test modules from the main python package: %{name}
6e8c2f
These have been removed to save space, as they are never or almost
6e8c2f
never used in production.
6e8c2f
6e8c2f
You might want to install the python-test package if you're developing python
6e8c2f
code that uses more than just unittest and/or test_support.py.
6e8c2f
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
%package debug
6e8c2f
Summary: Debug version of the Python runtime
6e8c2f
Group: Applications/System
6e8c2f
6e8c2f
# The debug build is an all-in-one package version of the regular build, and
6e8c2f
# shares the same .py/.pyc files and directories as the regular build.  Hence
6e8c2f
# we depend on all of the subpackages of the regular build:
6e8c2f
Requires: %{name}%{?_isa} = %{version}-%{release}
6e8c2f
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
6e8c2f
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
6e8c2f
Requires: %{name}-test%{?_isa} = %{version}-%{release}
6e8c2f
Requires: tkinter%{?_isa} = %{version}-%{release}
6e8c2f
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
6e8c2f
6e8c2f
%description debug
6e8c2f
python-debug provides a version of the Python runtime with numerous debugging
6e8c2f
features enabled, aimed at advanced Python users, such as developers of Python
6e8c2f
extension modules.
6e8c2f
6e8c2f
This version uses more memory and will be slower than the regular Python build,
6e8c2f
but is useful for tracking down reference-counting issues, and other bugs.
6e8c2f
6e8c2f
The bytecodes are unchanged, so that .pyc files are compatible between the two
6e8c2f
version of Python, but the debugging features mean that C/C++ extension modules
6e8c2f
are ABI-incompatible with those built for the standard runtime.
6e8c2f
6e8c2f
It shares installation directories with the standard Python runtime, so that
6e8c2f
.py and .pyc files can be shared.  All compiled extension modules gain a "_d"
6e8c2f
suffix ("foo_d.so" rather than "foo.so") so that each Python implementation can
6e8c2f
load its own extensions.
6e8c2f
%endif # with_debug_build
6e8c2f
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# The prep phase of the build:
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%prep
6e8c2f
%setup -q -n Python-%{version}
6e8c2f
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
# Provide an example of usage of the tapset:
6e8c2f
cp -a %{SOURCE4} .
6e8c2f
cp -a %{SOURCE5} .
6e8c2f
%endif # with_systemtap
6e8c2f
6e8c2f
# Ensure that we're using the system copy of various libraries, rather than
6e8c2f
# copies shipped by upstream in the tarball:
6e8c2f
#   Remove embedded copy of expat:
6e8c2f
rm -r Modules/expat || exit 1
6e8c2f
6e8c2f
#   Remove embedded copy of libffi:
6e8c2f
for SUBDIR in darwin libffi libffi_arm_wince libffi_msvc libffi_osx ; do
6e8c2f
  rm -r Modules/_ctypes/$SUBDIR || exit 1 ;
6e8c2f
done
6e8c2f
6e8c2f
#   Remove embedded copy of zlib:
6e8c2f
rm -r Modules/zlib || exit 1
6e8c2f
6e8c2f
# Don't build upstream Python's implementation of these crypto algorithms;
6e8c2f
# instead rely on _hashlib and OpenSSL.
6e8c2f
#
6e8c2f
# For example, in our builds md5.py uses always uses hashlib.md5 (rather than
6e8c2f
# falling back to _md5 when hashlib.md5 is not available); hashlib.md5 is
6e8c2f
# implemented within _hashlib via OpenSSL (and thus respects FIPS mode)
6e8c2f
for f in md5module.c md5.c shamodule.c sha256module.c sha512module.c; do
6e8c2f
    rm Modules/$f
6e8c2f
done
6e8c2f
6e8c2f
#
6e8c2f
# Apply patches:
6e8c2f
#
6e8c2f
%patch0 -p1 -b .rhconfig
6e8c2f
%patch1 -p1 -b .no_gui
6e8c2f
%patch4 -p1 -b .cflags
6e8c2f
%patch6 -p1 -b .plural
6e8c2f
%patch7 -p1
6e8c2f
6e8c2f
# Try not disabling egg-infos, bz#414711
6e8c2f
#patch50 -p1 -b .egginfo
6e8c2f
6e8c2f
# patch101: upstream as of Python 2.7.4
6e8c2f
%if "%{_lib}" == "lib64"
6e8c2f
%patch102 -p1 -b .lib64
6e8c2f
%patch103 -p1 -b .lib64-sysconfig
6e8c2f
%patch104 -p1
6e8c2f
%endif
6e8c2f
6e8c2f
%patch10 -p1 -b .binutils-no-dep
6e8c2f
# patch11: upstream as of Python 2.7.3
6e8c2f
%patch13 -p1 -b .socketmodule
6e8c2f
%patch14 -p1 -b .socketmodule2
6e8c2f
%patch16 -p1 -b .rpath
6e8c2f
%patch17 -p1 -b .distutils-rpath
6e8c2f
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
%patch55 -p1 -b .systemtap
6e8c2f
%endif
6e8c2f
6e8c2f
%patch111 -p1 -b .no-static-lib
6e8c2f
6e8c2f
%patch112 -p1 -b .debug-build
6e8c2f
6e8c2f
%patch113 -p1 -b .more-configuration-flags
6e8c2f
6e8c2f
%patch114 -p1 -b .statvfs-f-flag-constants
6e8c2f
6e8c2f
# patch115: upstream as of Python 2.7.3
6e8c2f
6e8c2f
%patch121 -p1
6e8c2f
%patch125 -p1 -b .less-verbose-COUNT_ALLOCS
6e8c2f
# 00126: upstream as of Python 2.7.5
6e8c2f
# 00127: upstream as of Python 2.7.5
6e8c2f
%patch128 -p1
6e8c2f
6e8c2f
%patch130 -p1
6e8c2f
6e8c2f
%ifarch ppc %{power64}
6e8c2f
%patch131 -p1
6e8c2f
%endif
6e8c2f
6e8c2f
%patch132 -p1
6e8c2f
%patch133 -p1
6e8c2f
%patch134 -p1
6e8c2f
%patch135 -p1
6e8c2f
%patch136 -p1
6e8c2f
%patch137 -p1
6e8c2f
%patch138 -p1
6e8c2f
%ifarch %{arm}
6e8c2f
%patch139 -p1
6e8c2f
%endif
6e8c2f
%ifarch %{sparc}
6e8c2f
%patch140 -p1
6e8c2f
%endif
6e8c2f
%patch141 -p1
6e8c2f
%patch142 -p1
6e8c2f
%patch143 -p1 -b .tsc-on-ppc
6e8c2f
%if !%{with_gdbm}
6e8c2f
%patch144 -p1
6e8c2f
%endif
6e8c2f
# 00145: upstream as of Python 2.7.3
6e8c2f
%patch146 -p1
6e8c2f
%patch147 -p1
6e8c2f
# 00148: upstream as of Python 2.7.3
6e8c2f
# 00149: not for python 2
6e8c2f
# 00150: not for python 2
6e8c2f
# 00151: upstream as of Python 2.7.3
6e8c2f
# 00152: not for python 2
6e8c2f
%patch153 -p0
6e8c2f
# 00154: not for python 2
6e8c2f
%patch155 -p1
6e8c2f
%patch156 -p1
6e8c2f
%patch157 -p1
6e8c2f
# 00158: upstream as of Python 2.7.4
6e8c2f
# 00160: not for python 2
6e8c2f
# 00161: not for python 2 yet
6e8c2f
# 00162: not for python 2 yet
6e8c2f
# 00163: not for python 2 yet
6e8c2f
# 00164: not for python 2 yet
6e8c2f
%patch165 -p1
6e8c2f
mv Modules/cryptmodule.c Modules/_cryptmodule.c
6e8c2f
%patch166 -p1
6e8c2f
%patch167 -p1
6e8c2f
%patch168 -p1
6e8c2f
%patch169 -p1
6e8c2f
%patch170 -p1
6e8c2f
# 00171: upstream as of Python 2.7.4
6e8c2f
# 00171: upstream as of Python 2.7.4
6e8c2f
%patch173 -p1
6e8c2f
%patch174 -p1 -b .fix-for-usr-move
6e8c2f
# 00175: upstream as of Python 2.7.5
6e8c2f
# 00176: not for python 2
6e8c2f
# 00177: not for python 2
6e8c2f
# 00178: not for python 2
6e8c2f
# 00179: not for python 2
6e8c2f
%patch180 -p1
6e8c2f
%patch181 -p1
6e8c2f
# 00182: not for python2
6e8c2f
# 00183: not for python2
6e8c2f
%patch184 -p1
6e8c2f
%patch185 -p1
6e8c2f
%patch186 -p1
6e8c2f
%patch187 -p1
6e8c2f
%patch188 -p1
6e8c2f
%patch189 -p1
6e8c2f
%patch190 -p0
6e8c2f
%patch191 -p1
4082f8
%patch192 -p1
4082f8
%patch193 -p1
9a62d8
%patch194 -p0
9a62d8
%patch195 -p1
f63228
%patch196 -p1
f63228
%patch197 -p1
f63228
%patch198 -p1
f63228
%patch199 -p1
f63228
%patch200 -p1
f63228
%patch201 -p1
f63228
%patch202 -p1
f63228
%patch203 -p1
f63228
%patch204 -p1
f63228
%patch205 -p1
f63228
%patch206 -p1
f63228
%patch207 -p1
f63228
%patch208 -p1
f63228
%patch209 -p1 
f63228
%patch210 -p1
f63228
%patch211 -p1
f63228
%patch212 -p1
f63228
%patch213 -p1
f63228
%patch214 -p1
f63228
%patch215 -p1
f63228
%patch216 -p1
f63228
%patch217 -p1
f63228
%patch218 -p1
f63228
%patch219 -p1
f63228
%patch220 -p1
f63228
%patch221 -p1
f63228
%patch222 -p1
f63228
%patch223 -p1
f63228
%patch224 -p1
f63228
%patch225 -p1
f63228
%patch227 -p1
f63228
%patch228 -p1
f63228
6e8c2f
6e8c2f
6e8c2f
# This shouldn't be necesarry, but is right now (2.2a3)
6e8c2f
find -name "*~" |xargs rm -f
6e8c2f
6e8c2f
%if ! 0%{regenerate_autotooling_patch}
6e8c2f
# Normally we apply the patch to "configure"
6e8c2f
# We don't apply the patch if we're working towards regenerating it
6e8c2f
%patch5000 -p0 -b .autotool-intermediates
6e8c2f
%endif
6e8c2f
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# Configuring and building the code:
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%build
6e8c2f
topdir=$(pwd)
6e8c2f
export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv"
6e8c2f
export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv"
6e8c2f
export CPPFLAGS="$(pkg-config --cflags-only-I libffi)"
6e8c2f
export OPT="$RPM_OPT_FLAGS -D_GNU_SOURCE -fPIC -fwrapv"
6e8c2f
export LINKCC="gcc"
6e8c2f
export LDFLAGS="$RPM_LD_FLAGS"
6e8c2f
if pkg-config openssl ; then
6e8c2f
  export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)"
6e8c2f
  export LDFLAGS="$LDFLAGS $(pkg-config --libs-only-L openssl)"
6e8c2f
fi
4082f8
# compile with -O3 for ppc64 as requested in
4082f8
# https://bugzilla.redhat.com/show_bug.cgi?id=1051076
4082f8
%ifarch %{power64}
4082f8
export CFLAGS="$CFLAGS -O3"
4082f8
export CXXFLAGS="$CXXFLAGS -O3"
4082f8
export OPT="$OPT -O3"
4082f8
%endif
6e8c2f
# Force CC
6e8c2f
export CC=gcc
6e8c2f
6e8c2f
%if 0%{regenerate_autotooling_patch}
6e8c2f
# If enabled, this code regenerates the patch to "configure", using a
6e8c2f
# local copy of autoconf-2.65, then exits the build
6e8c2f
#
6e8c2f
# The following assumes that the copy is installed to ~/autoconf-2.65/bin
6e8c2f
# as per these instructions:
6e8c2f
#   http://bugs.python.org/issue7997
6e8c2f
6e8c2f
for f in pyconfig.h.in configure ; do
6e8c2f
    cp $f $f.autotool-intermediates ;
6e8c2f
done
6e8c2f
6e8c2f
# Rerun the autotools:
6e8c2f
PATH=~/autoconf-2.65/bin:$PATH autoconf
6e8c2f
autoheader
6e8c2f
6e8c2f
# Regenerate the patch:
6e8c2f
gendiff . .autotool-intermediates > %{PATCH5000}
6e8c2f
6e8c2f
6e8c2f
# Exit the build
6e8c2f
exit 1
6e8c2f
%endif
6e8c2f
6e8c2f
# Define a function, for how to perform a "build" of python for a given
6e8c2f
# configuration:
6e8c2f
BuildPython() {
6e8c2f
  ConfName=$1	      
6e8c2f
  BinaryName=$2
6e8c2f
  SymlinkName=$3
6e8c2f
  ExtraConfigArgs=$4
6e8c2f
  PathFixWithThisBinary=$5
6e8c2f
6e8c2f
  ConfDir=build/$ConfName
6e8c2f
6e8c2f
  echo STARTING: BUILD OF PYTHON FOR CONFIGURATION: $ConfName - %{_bindir}/$BinaryName
6e8c2f
  mkdir -p $ConfDir
6e8c2f
6e8c2f
  pushd $ConfDir
6e8c2f
6e8c2f
  # Use the freshly created "configure" script, but in the directory two above:
6e8c2f
  %global _configure $topdir/configure
6e8c2f
6e8c2f
%configure \
6e8c2f
  --enable-ipv6 \
6e8c2f
  --enable-shared \
6e8c2f
  --enable-unicode=%{unicode} \
6e8c2f
  --with-dbmliborder=gdbm:ndbm:bdb \
6e8c2f
  --with-system-expat \
6e8c2f
  --with-system-ffi \
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
  --with-dtrace \
6e8c2f
  --with-tapset-install-dir=%{tapsetdir} \
6e8c2f
%endif
6e8c2f
%if 0%{?with_valgrind}
6e8c2f
  --with-valgrind \
6e8c2f
%endif
6e8c2f
  $ExtraConfigArgs \
6e8c2f
  %{nil}
6e8c2f
6e8c2f
make EXTRA_CFLAGS="$CFLAGS" %{?_smp_mflags}
6e8c2f
6e8c2f
# We need to fix shebang lines across the full source tree.
6e8c2f
#
6e8c2f
# We do this using the pathfix.py script, which requires one of the
6e8c2f
# freshly-built Python binaries.
6e8c2f
#
6e8c2f
# We use the optimized python binary, and make the shebangs point at that same
6e8c2f
# optimized python binary:
6e8c2f
if $PathFixWithThisBinary
6e8c2f
then
6e8c2f
  LD_LIBRARY_PATH="$topdir/$ConfDir" ./$BinaryName \
6e8c2f
    $topdir/Tools/scripts/pathfix.py \
6e8c2f
      -i "%{_bindir}/env $BinaryName" \
6e8c2f
      $topdir
6e8c2f
fi
6e8c2f
6e8c2f
# Rebuild with new python
6e8c2f
# We need a link to a versioned python in the build directory
6e8c2f
ln -s $BinaryName $SymlinkName
6e8c2f
LD_LIBRARY_PATH="$topdir/$ConfDir" PATH=$PATH:$topdir/$ConfDir make -s EXTRA_CFLAGS="$CFLAGS" %{?_smp_mflags}
6e8c2f
6e8c2f
  popd
6e8c2f
  echo FINISHED: BUILD OF PYTHON FOR CONFIGURATION: $ConfDir
6e8c2f
}
6e8c2f
6e8c2f
# Use "BuildPython" to support building with different configurations:
6e8c2f
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
BuildPython debug \
6e8c2f
  python-debug \
6e8c2f
  python%{pybasever}-debug \
6e8c2f
%ifarch %{ix86} x86_64 ppc %{power64}
6e8c2f
  "--with-pydebug --with-tsc --with-count-allocs --with-call-profile" \
6e8c2f
%else
6e8c2f
  "--with-pydebug --with-count-allocs --with-call-profile" \
6e8c2f
%endif
6e8c2f
  false
6e8c2f
%endif # with_debug_build
6e8c2f
6e8c2f
BuildPython optimized \
6e8c2f
  python \
6e8c2f
  python%{pybasever} \
6e8c2f
  "" \
6e8c2f
  true
6e8c2f
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# Installing the built code:
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%install
6e8c2f
topdir=$(pwd)
6e8c2f
rm -rf %{buildroot}
6e8c2f
mkdir -p %{buildroot}%{_prefix} %{buildroot}%{_mandir}
6e8c2f
6e8c2f
# Clean up patched .py files that are saved as .lib64
6e8c2f
for f in distutils/command/install distutils/sysconfig; do
6e8c2f
    rm -f Lib/$f.py.lib64
6e8c2f
done
6e8c2f
6e8c2f
InstallPython() {
6e8c2f
6e8c2f
  ConfName=$1	      
6e8c2f
  BinaryName=$2
6e8c2f
  PyInstSoName=$3
6e8c2f
6e8c2f
  ConfDir=build/$ConfName
6e8c2f
6e8c2f
  echo STARTING: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName - %{_bindir}/$BinaryName
6e8c2f
  mkdir -p $ConfDir
6e8c2f
6e8c2f
  pushd $ConfDir
6e8c2f
6e8c2f
make install DESTDIR=%{buildroot}
6e8c2f
6e8c2f
# We install a collection of hooks for gdb that make it easier to debug
6e8c2f
# executables linked against libpython (such as /usr/lib/python itself)
6e8c2f
#
6e8c2f
# These hooks are implemented in Python itself
6e8c2f
#
6e8c2f
# gdb-archer looks for them in the same path as the ELF file, with a -gdb.py suffix.
6e8c2f
# We put them in the debuginfo package by installing them to e.g.:
6e8c2f
#  /usr/lib/debug/usr/lib/libpython2.6.so.1.0.debug-gdb.py
6e8c2f
# (note that the debug path is /usr/lib/debug for both 32/64 bit)
6e8c2f
#
6e8c2f
# See https://fedoraproject.org/wiki/Features/EasierPythonDebugging for more
6e8c2f
# information
6e8c2f
# 
6e8c2f
# Initially I tried:
6e8c2f
#  /usr/lib/libpython2.6.so.1.0-gdb.py
6e8c2f
# but doing so generated noise when ldconfig was rerun (rhbz:562980)
6e8c2f
#
4082f8
6e8c2f
%if 0%{?with_gdb_hooks}
6e8c2f
DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir}
6e8c2f
PathOfGdbPy=$DirHoldingGdbPy/$PyInstSoName.debug-gdb.py
6e8c2f
6e8c2f
mkdir -p %{buildroot}$DirHoldingGdbPy
6e8c2f
cp $topdir/Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy
6e8c2f
6e8c2f
# Manually byte-compile the file, in case find-debuginfo.sh is run before
6e8c2f
# brp-python-bytecompile, so that the .pyc/.pyo files are properly listed in
6e8c2f
# the debuginfo manifest:
6e8c2f
LD_LIBRARY_PATH="$topdir/$ConfDir" $topdir/$ConfDir/$BinaryName \
6e8c2f
  -c "import compileall; import sys; compileall.compile_dir('%{buildroot}$DirHoldingGdbPy', ddir='$DirHoldingGdbPy')"
6e8c2f
6e8c2f
LD_LIBRARY_PATH="$topdir/$ConfDir" $topdir/$ConfDir/$BinaryName -O \
6e8c2f
  -c "import compileall; import sys; compileall.compile_dir('%{buildroot}$DirHoldingGdbPy', ddir='$DirHoldingGdbPy')"
6e8c2f
%endif # with_gdb_hooks
6e8c2f
6e8c2f
  popd
6e8c2f
6e8c2f
  echo FINISHED: INSTALL OF PYTHON FOR CONFIGURATION: $ConfName
6e8c2f
}
6e8c2f
6e8c2f
# Use "InstallPython" to support building with different configurations:
6e8c2f
6e8c2f
# Install the "debug" build first, so that we can move some files aside
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
InstallPython debug \
6e8c2f
  python%{pybasever}-debug \
6e8c2f
  %{py_INSTSONAME_debug}
6e8c2f
%endif # with_debug_build
6e8c2f
6e8c2f
# Now the optimized build:
6e8c2f
InstallPython optimized \
6e8c2f
  python%{pybasever} \
6e8c2f
  %{py_INSTSONAME_optimized}
6e8c2f
6e8c2f
6e8c2f
# Fix the interpreter path in binaries installed by distutils 
6e8c2f
# (which changes them by itself)
6e8c2f
# Make sure we preserve the file permissions
6e8c2f
for fixed in %{buildroot}%{_bindir}/pydoc; do
6e8c2f
    sed 's,#!.*/python$,#!%{_bindir}/env python%{pybasever},' $fixed > $fixed- \
6e8c2f
        && cat $fixed- > $fixed && rm -f $fixed-
6e8c2f
done
6e8c2f
6e8c2f
# Junk, no point in putting in -test sub-pkg
6e8c2f
rm -f %{buildroot}/%{pylibdir}/idlelib/testcode.py*
6e8c2f
6e8c2f
# don't include tests that are run at build time in the package
6e8c2f
# This is documented, and used: rhbz#387401
6e8c2f
if /bin/false; then
6e8c2f
 # Move this to -test subpackage.
6e8c2f
mkdir save_bits_of_test
6e8c2f
for i in test_support.py __init__.py; do
6e8c2f
  cp -a %{buildroot}/%{pylibdir}/test/$i save_bits_of_test
6e8c2f
done
6e8c2f
rm -rf %{buildroot}/%{pylibdir}/test
6e8c2f
mkdir %{buildroot}/%{pylibdir}/test
6e8c2f
cp -a save_bits_of_test/* %{buildroot}/%{pylibdir}/test
6e8c2f
fi
6e8c2f
6e8c2f
%if %{main_python}
6e8c2f
%else
6e8c2f
mv %{buildroot}%{_bindir}/python %{buildroot}%{_bindir}/%{python}
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
mv %{buildroot}%{_bindir}/python-debug %{buildroot}%{_bindir}/%{python}-debug
6e8c2f
%endif # with_debug_build
6e8c2f
mv %{buildroot}/%{_mandir}/man1/python.1 %{buildroot}/%{_mandir}/man1/python%{pybasever}.1
6e8c2f
%endif
6e8c2f
6e8c2f
# tools
6e8c2f
6e8c2f
mkdir -p ${RPM_BUILD_ROOT}%{site_packages}
6e8c2f
6e8c2f
#pynche
6e8c2f
install -p -m755 %{SOURCE7} ${RPM_BUILD_ROOT}%{_bindir}/pynche
6e8c2f
chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/pynche
6e8c2f
rm -f Tools/pynche/*.pyw
6e8c2f
cp -rp Tools/pynche \
6e8c2f
  ${RPM_BUILD_ROOT}%{site_packages}/
6e8c2f
6e8c2f
mv Tools/pynche/README Tools/pynche/README.pynche
6e8c2f
6e8c2f
#gettext
6e8c2f
install -m755  Tools/i18n/pygettext.py %{buildroot}%{_bindir}/
6e8c2f
install -m755  Tools/i18n/msgfmt.py %{buildroot}%{_bindir}/
6e8c2f
6e8c2f
# Useful development tools
6e8c2f
install -m755 -d %{buildroot}%{tools_dir}/scripts
6e8c2f
install Tools/README %{buildroot}%{tools_dir}/
6e8c2f
install Tools/scripts/*py %{buildroot}%{tools_dir}/scripts/
6e8c2f
6e8c2f
# Documentation tools
6e8c2f
install -m755 -d %{buildroot}%{doc_tools_dir}
6e8c2f
#install -m755 Doc/tools/mkhowto %{buildroot}%{doc_tools_dir}
6e8c2f
6e8c2f
# Useful demo scripts
6e8c2f
install -m755 -d %{buildroot}%{demo_dir}
6e8c2f
cp -ar Demo/* %{buildroot}%{demo_dir}
6e8c2f
6e8c2f
# Get rid of crap
6e8c2f
find %{buildroot}/ -name "*~"|xargs rm -f
6e8c2f
find %{buildroot}/ -name ".cvsignore"|xargs rm -f
6e8c2f
find %{buildroot}/ -name "*.bat"|xargs rm -f
6e8c2f
find . -name "*~"|xargs rm -f
6e8c2f
find . -name ".cvsignore"|xargs rm -f
6e8c2f
#zero length
6e8c2f
rm -f %{buildroot}%{pylibdir}/LICENSE.txt
6e8c2f
6e8c2f
6e8c2f
#make the binaries install side by side with the main python
6e8c2f
%if !%{main_python}
6e8c2f
pushd %{buildroot}%{_bindir}
6e8c2f
mv idle idle%{__python_ver}
6e8c2f
mv pynche pynche%{__python_ver}
6e8c2f
mv pygettext.py pygettext%{__python_ver}.py
6e8c2f
mv msgfmt.py msgfmt%{__python_ver}.py
6e8c2f
mv smtpd.py smtpd%{__python_ver}.py
6e8c2f
mv pydoc pydoc%{__python_ver}
6e8c2f
popd
6e8c2f
%endif
6e8c2f
6e8c2f
# Fix for bug #136654
6e8c2f
rm -f %{buildroot}%{pylibdir}/email/test/data/audiotest.au %{buildroot}%{pylibdir}/test/audiotest.au
6e8c2f
6e8c2f
# Fix bug #143667: python should own /usr/lib/python2.x on 64-bit machines
6e8c2f
%if "%{_lib}" == "lib64"
6e8c2f
install -d %{buildroot}/usr/lib/python%{pybasever}/site-packages
6e8c2f
%endif
6e8c2f
6e8c2f
# Make python-devel multilib-ready (bug #192747, #139911)
6e8c2f
%global _pyconfig32_h pyconfig-32.h
6e8c2f
%global _pyconfig64_h pyconfig-64.h
6e8c2f
6e8c2f
%ifarch %{power64} s390x x86_64 ia64 alpha sparc64 aarch64
6e8c2f
%global _pyconfig_h %{_pyconfig64_h}
6e8c2f
%else
6e8c2f
%global _pyconfig_h %{_pyconfig32_h}
6e8c2f
%endif
6e8c2f
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
%global PyIncludeDirs python%{pybasever} python%{pybasever}-debug
6e8c2f
%else
6e8c2f
%global PyIncludeDirs python%{pybasever}
6e8c2f
%endif
6e8c2f
6e8c2f
for PyIncludeDir in %{PyIncludeDirs} ; do
6e8c2f
  mv %{buildroot}%{_includedir}/$PyIncludeDir/pyconfig.h \
6e8c2f
     %{buildroot}%{_includedir}/$PyIncludeDir/%{_pyconfig_h}
6e8c2f
  cat > %{buildroot}%{_includedir}/$PyIncludeDir/pyconfig.h << EOF
6e8c2f
#include <bits/wordsize.h>
6e8c2f
6e8c2f
#if __WORDSIZE == 32
6e8c2f
#include "%{_pyconfig32_h}"
6e8c2f
#elif __WORDSIZE == 64
6e8c2f
#include "%{_pyconfig64_h}"
6e8c2f
#else
6e8c2f
#error "Unknown word size"
6e8c2f
#endif
6e8c2f
EOF
6e8c2f
done
6e8c2f
ln -s ../../libpython%{pybasever}.so %{buildroot}%{pylibdir}/config/libpython%{pybasever}.so
6e8c2f
6e8c2f
# Fix for bug 201434: make sure distutils looks at the right pyconfig.h file
6e8c2f
# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate
6e8c2f
# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py
6e8c2f
# when python starts up.
6e8c2f
#
6e8c2f
# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h
6e8c2f
# variants:
6e8c2f
sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \
6e8c2f
  %{buildroot}%{pylibdir}/distutils/sysconfig.py \
6e8c2f
  %{buildroot}%{pylibdir}/sysconfig.py
6e8c2f
6e8c2f
# Install macros for rpm:
6e8c2f
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
6e8c2f
install -m 644 %{SOURCE6} %{buildroot}/%{_sysconfdir}/rpm
6e8c2f
f63228
# Make python folder for config files under /etc
f63228
mkdir -p %{buildroot}/%{_sysconfdir}/python
f63228
install -m 644 %{SOURCE8} %{buildroot}/%{_sysconfdir}/python
f63228
6e8c2f
# Ensure that the curses module was linked against libncursesw.so, rather than
6e8c2f
# libncurses.so (bug 539917)
6e8c2f
ldd %{buildroot}/%{dynload_dir}/_curses*.so \
6e8c2f
    | grep curses \
6e8c2f
    | grep libncurses.so && (echo "_curses.so linked against libncurses.so" ; exit 1)
6e8c2f
6e8c2f
# Ensure that the debug modules are linked against the debug libpython, and
6e8c2f
# likewise for the optimized modules and libpython:
6e8c2f
for Module in %{buildroot}/%{dynload_dir}/*.so ; do
6e8c2f
    case $Module in
6e8c2f
    *_d.so)
6e8c2f
        ldd $Module | grep %{py_INSTSONAME_optimized} &&
6e8c2f
            (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1)
6e8c2f
            
6e8c2f
        ;;
6e8c2f
    *)
6e8c2f
        ldd $Module | grep %{py_INSTSONAME_debug} &&
6e8c2f
            (echo Optimized module $Module linked against debug %{py_INSTSONAME_optimized} ; exit 1)
6e8c2f
        ;;
6e8c2f
    esac
6e8c2f
done
6e8c2f
6e8c2f
#
6e8c2f
# Systemtap hooks:
6e8c2f
#
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
# Install a tapset for this libpython into tapsetdir, fixing up the path to the
6e8c2f
# library:
6e8c2f
mkdir -p %{buildroot}%{tapsetdir}
6e8c2f
%ifarch %{power64} s390x x86_64 ia64 alpha sparc64 aarch64
6e8c2f
%global libpython_stp_optimized libpython%{pybasever}-64.stp
6e8c2f
%global libpython_stp_debug     libpython%{pybasever}-debug-64.stp
6e8c2f
%else
6e8c2f
%global libpython_stp_optimized libpython%{pybasever}-32.stp
6e8c2f
%global libpython_stp_debug     libpython%{pybasever}-debug-32.stp
6e8c2f
%endif
6e8c2f
6e8c2f
sed \
6e8c2f
   -e "s|LIBRARY_PATH|%{_libdir}/%{py_INSTSONAME_optimized}|" \
6e8c2f
   %{SOURCE3} \
6e8c2f
   > %{buildroot}%{tapsetdir}/%{libpython_stp_optimized}
6e8c2f
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
sed \
6e8c2f
   -e "s|LIBRARY_PATH|%{_libdir}/%{py_INSTSONAME_debug}|" \
6e8c2f
   %{SOURCE3} \
6e8c2f
   > %{buildroot}%{tapsetdir}/%{libpython_stp_debug}
6e8c2f
%endif # with_debug_build
6e8c2f
%endif # with_systemtap
6e8c2f
6e8c2f
# Replace scripts shebangs in usr/bin of subpackage tools
6e8c2f
#(rhbz#987038)
6e8c2f
sed -i "s|^#\!.\?/usr/bin.*$|#\! %{__python}|" \
6e8c2f
  %{buildroot}%{_bindir}/pygettext.py \
6e8c2f
  %{buildroot}%{_bindir}/msgfmt.py \
6e8c2f
  %{buildroot}%{_bindir}/smtpd.py \
6e8c2f
  %{buildroot}%{demo_dir}/scripts/find-uname.py \
6e8c2f
  %{buildroot}%{demo_dir}/pdist/rcvs \
6e8c2f
  %{buildroot}%{demo_dir}/pdist/rcsbump \
6e8c2f
  %{buildroot}%{demo_dir}/pdist/rrcs \
6e8c2f
  %{buildroot}%{site_packages}/pynche/pynche
6e8c2f
4082f8
# Make library-files user writable
4082f8
# rhbz#1046276
4082f8
/usr/bin/chmod 755 %{buildroot}%{dynload_dir}/*.so
4082f8
/usr/bin/chmod 755 %{buildroot}%{_libdir}/libpython%{pybasever}.so.1.0
4082f8
/usr/bin/chmod 755 %{buildroot}%{_libdir}/libpython%{pybasever}_d.so.1.0
6e8c2f
f63228
mkdir %{buildroot}%{_sysconfdir}/tmpfiles.d
f63228
cp %{SOURCE9} %{buildroot}%{_sysconfdir}/tmpfiles.d/python.conf
f63228
6e8c2f
# ======================================================
6e8c2f
# Running the upstream test suite
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%check
6e8c2f
topdir=$(pwd)
6e8c2f
CheckPython() {
6e8c2f
  ConfName=$1
6e8c2f
  BinaryName=$2
6e8c2f
  ConfDir=$(pwd)/build/$ConfName
6e8c2f
6e8c2f
  echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
6e8c2f
6e8c2f
  # Note that we're running the tests using the version of the code in the
6e8c2f
  # builddir, not in the buildroot.
6e8c2f
6e8c2f
  pushd $ConfDir
6e8c2f
6e8c2f
  EXTRATESTOPTS="--verbose"
f63228
  # skipping test_gdb on ppc64le until rhbz1260558 gets resolved
f63228
  %ifarch ppc64le
f63228
    EXTRATESTOPTS="$EXTRATESTOPTS -x test_gdb "
f63228
  %endif
f63228
6e8c2f
6e8c2f
%if 0%{?with_huntrleaks}
6e8c2f
  # Try to detect reference leaks on debug builds.  By default this means
6e8c2f
  # running every test 10 times (6 to stabilize, then 4 to watch):
6e8c2f
  if [ "$ConfName" = "debug"  ] ; then
6e8c2f
    EXTRATESTOPTS="$EXTRATESTOPTS --huntrleaks : "
6e8c2f
  fi
6e8c2f
%endif
6e8c2f
6e8c2f
  # Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the
6e8c2f
  # our non-standard decorators take effect on the relevant tests:
6e8c2f
  #   @unittest._skipInRpmBuild(reason)
6e8c2f
  #   @unittest._expectedFailureInRpmBuild
6e8c2f
  WITHIN_PYTHON_RPM_BUILD= EXTRATESTOPTS="$EXTRATESTOPTS" make test
6e8c2f
6e8c2f
  popd
6e8c2f
6e8c2f
  echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
6e8c2f
6e8c2f
}
6e8c2f
6e8c2f
%if 0%{run_selftest_suite}
6e8c2f
6e8c2f
# Check each of the configurations:
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
CheckPython \
6e8c2f
  debug \
6e8c2f
  python%{pybasever}-debug
6e8c2f
%endif # with_debug_build
6e8c2f
CheckPython \
6e8c2f
  optimized \
6e8c2f
  python%{pybasever}
6e8c2f
6e8c2f
%endif # run_selftest_suite
6e8c2f
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# Cleaning up
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%clean
6e8c2f
rm -fr %{buildroot}
6e8c2f
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# Scriptlets
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%post libs -p /sbin/ldconfig
6e8c2f
6e8c2f
%postun libs -p /sbin/ldconfig
6e8c2f
6e8c2f
6e8c2f
6e8c2f
%files
6e8c2f
%defattr(-, root, root, -)
6e8c2f
%doc LICENSE README
6e8c2f
%{_bindir}/pydoc*
6e8c2f
%{_bindir}/%{python}
6e8c2f
%if %{main_python}
6e8c2f
%{_bindir}/python2
6e8c2f
%endif
6e8c2f
%{_bindir}/python%{pybasever}
6e8c2f
%{_mandir}/*/*
6e8c2f
6e8c2f
%files libs
6e8c2f
%defattr(-,root,root,-)
6e8c2f
%doc LICENSE README
6e8c2f
%dir %{pylibdir}
6e8c2f
%dir %{dynload_dir}
f63228
%dir %{_sysconfdir}/python
f63228
%{_sysconfdir}/tmpfiles.d/python.conf
f63228
%config(noreplace) %{_sysconfdir}/python/cert-verification.cfg
6e8c2f
%{dynload_dir}/Python-%{version}-py%{pybasever}.egg-info
6e8c2f
%{dynload_dir}/_bisectmodule.so
6e8c2f
%{dynload_dir}/_bsddb.so
6e8c2f
%{dynload_dir}/_codecs_cn.so
6e8c2f
%{dynload_dir}/_codecs_hk.so
6e8c2f
%{dynload_dir}/_codecs_iso2022.so
6e8c2f
%{dynload_dir}/_codecs_jp.so
6e8c2f
%{dynload_dir}/_codecs_kr.so
6e8c2f
%{dynload_dir}/_codecs_tw.so
6e8c2f
%{dynload_dir}/_collectionsmodule.so
6e8c2f
%{dynload_dir}/_csv.so
6e8c2f
%{dynload_dir}/_ctypes.so
6e8c2f
%{dynload_dir}/_curses.so
6e8c2f
%{dynload_dir}/_curses_panel.so
6e8c2f
%{dynload_dir}/_elementtree.so
6e8c2f
%{dynload_dir}/_functoolsmodule.so
6e8c2f
%{dynload_dir}/_hashlib.so
6e8c2f
%{dynload_dir}/_heapq.so
6e8c2f
%{dynload_dir}/_hotshot.so
6e8c2f
%{dynload_dir}/_io.so
6e8c2f
%{dynload_dir}/_json.so
6e8c2f
%{dynload_dir}/_localemodule.so
6e8c2f
%{dynload_dir}/_lsprof.so
6e8c2f
%{dynload_dir}/_multibytecodecmodule.so
6e8c2f
%{dynload_dir}/_multiprocessing.so
6e8c2f
%{dynload_dir}/_randommodule.so
6e8c2f
%{dynload_dir}/_socketmodule.so
6e8c2f
%{dynload_dir}/_sqlite3.so
6e8c2f
%{dynload_dir}/_ssl.so
6e8c2f
%{dynload_dir}/_struct.so
6e8c2f
%{dynload_dir}/arraymodule.so
6e8c2f
%{dynload_dir}/audioop.so
6e8c2f
%{dynload_dir}/binascii.so
6e8c2f
%{dynload_dir}/bz2.so
6e8c2f
%{dynload_dir}/cPickle.so
6e8c2f
%{dynload_dir}/cStringIO.so
6e8c2f
%{dynload_dir}/cmathmodule.so
6e8c2f
%{dynload_dir}/_cryptmodule.so
6e8c2f
%{dynload_dir}/datetime.so
6e8c2f
%{dynload_dir}/dbm.so
6e8c2f
%{dynload_dir}/dlmodule.so
6e8c2f
%{dynload_dir}/fcntlmodule.so
6e8c2f
%{dynload_dir}/future_builtins.so
6e8c2f
%if %{with_gdbm}
6e8c2f
%{dynload_dir}/gdbmmodule.so
6e8c2f
%endif
6e8c2f
%{dynload_dir}/grpmodule.so
6e8c2f
%{dynload_dir}/imageop.so
6e8c2f
%{dynload_dir}/itertoolsmodule.so
6e8c2f
%{dynload_dir}/linuxaudiodev.so
6e8c2f
%{dynload_dir}/math.so
6e8c2f
%{dynload_dir}/mmapmodule.so
6e8c2f
%{dynload_dir}/nismodule.so
6e8c2f
%{dynload_dir}/operator.so
6e8c2f
%{dynload_dir}/ossaudiodev.so
6e8c2f
%{dynload_dir}/parsermodule.so
6e8c2f
%{dynload_dir}/pyexpat.so
6e8c2f
%{dynload_dir}/readline.so
6e8c2f
%{dynload_dir}/resource.so
6e8c2f
%{dynload_dir}/selectmodule.so
6e8c2f
%{dynload_dir}/spwdmodule.so
6e8c2f
%{dynload_dir}/stropmodule.so
6e8c2f
%{dynload_dir}/syslog.so
6e8c2f
%{dynload_dir}/termios.so
6e8c2f
%{dynload_dir}/timemodule.so
6e8c2f
%{dynload_dir}/timingmodule.so
6e8c2f
%{dynload_dir}/unicodedata.so
6e8c2f
%{dynload_dir}/xxsubtype.so
6e8c2f
%{dynload_dir}/zlibmodule.so
6e8c2f
6e8c2f
%dir %{site_packages}
6e8c2f
%{site_packages}/README
6e8c2f
%{pylibdir}/*.py*
6e8c2f
%{pylibdir}/*.doc
6e8c2f
%{pylibdir}/wsgiref.egg-info
6e8c2f
%dir %{pylibdir}/bsddb
6e8c2f
%{pylibdir}/bsddb/*.py*
6e8c2f
%{pylibdir}/compiler
6e8c2f
%dir %{pylibdir}/ctypes
6e8c2f
%{pylibdir}/ctypes/*.py*
6e8c2f
%{pylibdir}/ctypes/macholib
6e8c2f
%{pylibdir}/curses
6e8c2f
%dir %{pylibdir}/distutils
6e8c2f
%{pylibdir}/distutils/*.py*
6e8c2f
%{pylibdir}/distutils/README
6e8c2f
%{pylibdir}/distutils/command
6e8c2f
%exclude %{pylibdir}/distutils/command/wininst-*.exe
6e8c2f
%dir %{pylibdir}/email
6e8c2f
%{pylibdir}/email/*.py*
6e8c2f
%{pylibdir}/email/mime
6e8c2f
%{pylibdir}/encodings
6e8c2f
%{pylibdir}/hotshot
6e8c2f
%{pylibdir}/idlelib
6e8c2f
%{pylibdir}/importlib
6e8c2f
%dir %{pylibdir}/json
6e8c2f
%{pylibdir}/json/*.py*
6e8c2f
%{pylibdir}/lib2to3
6e8c2f
%exclude %{pylibdir}/lib2to3/tests
6e8c2f
%{pylibdir}/logging
6e8c2f
%{pylibdir}/multiprocessing
6e8c2f
%{pylibdir}/plat-linux2
6e8c2f
%{pylibdir}/pydoc_data
6e8c2f
%dir %{pylibdir}/sqlite3
6e8c2f
%{pylibdir}/sqlite3/*.py*
6e8c2f
%dir %{pylibdir}/test
6e8c2f
%{pylibdir}/test/test_support.py*
6e8c2f
%{pylibdir}/test/__init__.py*
6e8c2f
%{pylibdir}/unittest
6e8c2f
%{pylibdir}/wsgiref
6e8c2f
%{pylibdir}/xml
6e8c2f
%if "%{_lib}" == "lib64"
6e8c2f
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}
6e8c2f
%attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages
6e8c2f
%endif
6e8c2f
6e8c2f
# "Makefile" and the config-32/64.h file are needed by
6e8c2f
# distutils/sysconfig.py:_init_posix(), so we include them in the libs
6e8c2f
# package, along with their parent directories (bug 531901):
6e8c2f
%dir %{pylibdir}/config
6e8c2f
%{pylibdir}/config/Makefile
6e8c2f
%dir %{_includedir}/python%{pybasever}
6e8c2f
%{_includedir}/python%{pybasever}/%{_pyconfig_h}
6e8c2f
6e8c2f
%{_libdir}/%{py_INSTSONAME_optimized}
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
%{tapsetdir}/%{libpython_stp_optimized}
6e8c2f
%doc systemtap-example.stp pyfuntop.stp
6e8c2f
%endif
6e8c2f
6e8c2f
%files devel
6e8c2f
%defattr(-,root,root,-)
6e8c2f
%{_libdir}/pkgconfig/python-%{pybasever}.pc
6e8c2f
%{_libdir}/pkgconfig/python.pc
6e8c2f
%{_libdir}/pkgconfig/python2.pc
6e8c2f
%{pylibdir}/config/*
6e8c2f
%exclude %{pylibdir}/config/Makefile
6e8c2f
%{pylibdir}/distutils/command/wininst-*.exe
6e8c2f
%{_includedir}/python%{pybasever}/*.h
6e8c2f
%exclude %{_includedir}/python%{pybasever}/%{_pyconfig_h}
6e8c2f
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
6e8c2f
%if %{main_python}
6e8c2f
%{_bindir}/python-config
6e8c2f
%{_bindir}/python2-config
6e8c2f
%endif
6e8c2f
%{_bindir}/python%{pybasever}-config
6e8c2f
%{_libdir}/libpython%{pybasever}.so
6e8c2f
%{_sysconfdir}/rpm/macros.python2
6e8c2f
6e8c2f
%files tools
6e8c2f
%defattr(-,root,root,755)
6e8c2f
%doc Tools/pynche/README.pynche
6e8c2f
%{site_packages}/pynche
6e8c2f
%{_bindir}/smtpd*.py*
6e8c2f
%{_bindir}/2to3*
6e8c2f
%{_bindir}/idle*
6e8c2f
%{_bindir}/pynche*
6e8c2f
%{_bindir}/pygettext*.py*
6e8c2f
%{_bindir}/msgfmt*.py*
6e8c2f
%{tools_dir}
6e8c2f
%{demo_dir}
6e8c2f
%{pylibdir}/Doc
6e8c2f
6e8c2f
%files -n %{tkinter}
6e8c2f
%defattr(-,root,root,755)
6e8c2f
%{pylibdir}/lib-tk
6e8c2f
%{dynload_dir}/_tkinter.so
6e8c2f
6e8c2f
%files test
6e8c2f
%defattr(-, root, root, -)
6e8c2f
%{pylibdir}/bsddb/test
6e8c2f
%{pylibdir}/ctypes/test
6e8c2f
%{pylibdir}/distutils/tests
6e8c2f
%{pylibdir}/email/test
6e8c2f
%{pylibdir}/json/tests
6e8c2f
%{pylibdir}/lib2to3/tests
6e8c2f
%{pylibdir}/sqlite3/test
6e8c2f
%{pylibdir}/test/*
6e8c2f
# These two are shipped in the main subpackage:
6e8c2f
%exclude %{pylibdir}/test/test_support.py*
6e8c2f
%exclude %{pylibdir}/test/__init__.py*
6e8c2f
%{dynload_dir}/_ctypes_test.so
6e8c2f
%{dynload_dir}/_testcapimodule.so
6e8c2f
6e8c2f
6e8c2f
# We don't bother splitting the debug build out into further subpackages:
6e8c2f
# if you need it, you're probably a developer.
6e8c2f
6e8c2f
# Hence the manifest is the combination of analogous files in the manifests of
6e8c2f
# all of the other subpackages
6e8c2f
6e8c2f
%if 0%{?with_debug_build}
6e8c2f
%files debug
6e8c2f
%defattr(-,root,root,-)
6e8c2f
6e8c2f
# Analog of the core subpackage's files:
6e8c2f
%{_bindir}/%{python}-debug
6e8c2f
%if %{main_python}
6e8c2f
%{_bindir}/python2-debug
6e8c2f
%endif
6e8c2f
%{_bindir}/python%{pybasever}-debug
6e8c2f
6e8c2f
# Analog of the -libs subpackage's files, with debug builds of the built-in
6e8c2f
# "extension" modules:
6e8c2f
%{dynload_dir}/_bisectmodule_d.so
6e8c2f
%{dynload_dir}/_bsddb_d.so
6e8c2f
%{dynload_dir}/_codecs_cn_d.so
6e8c2f
%{dynload_dir}/_codecs_hk_d.so
6e8c2f
%{dynload_dir}/_codecs_iso2022_d.so
6e8c2f
%{dynload_dir}/_codecs_jp_d.so
6e8c2f
%{dynload_dir}/_codecs_kr_d.so
6e8c2f
%{dynload_dir}/_codecs_tw_d.so
6e8c2f
%{dynload_dir}/_collectionsmodule_d.so
6e8c2f
%{dynload_dir}/_csv_d.so
6e8c2f
%{dynload_dir}/_ctypes_d.so
6e8c2f
%{dynload_dir}/_curses_d.so
6e8c2f
%{dynload_dir}/_curses_panel_d.so
6e8c2f
%{dynload_dir}/_elementtree_d.so
6e8c2f
%{dynload_dir}/_functoolsmodule_d.so
6e8c2f
%{dynload_dir}/_hashlib_d.so
6e8c2f
%{dynload_dir}/_heapq_d.so
6e8c2f
%{dynload_dir}/_hotshot_d.so
6e8c2f
%{dynload_dir}/_io_d.so
6e8c2f
%{dynload_dir}/_json_d.so
6e8c2f
%{dynload_dir}/_localemodule_d.so
6e8c2f
%{dynload_dir}/_lsprof_d.so
6e8c2f
%{dynload_dir}/_multibytecodecmodule_d.so
6e8c2f
%{dynload_dir}/_multiprocessing_d.so
6e8c2f
%{dynload_dir}/_randommodule_d.so
6e8c2f
%{dynload_dir}/_socketmodule_d.so
6e8c2f
%{dynload_dir}/_sqlite3_d.so
6e8c2f
%{dynload_dir}/_ssl_d.so
6e8c2f
%{dynload_dir}/_struct_d.so
6e8c2f
%{dynload_dir}/arraymodule_d.so
6e8c2f
%{dynload_dir}/audioop_d.so
6e8c2f
%{dynload_dir}/binascii_d.so
6e8c2f
%{dynload_dir}/bz2_d.so
6e8c2f
%{dynload_dir}/cPickle_d.so
6e8c2f
%{dynload_dir}/cStringIO_d.so
6e8c2f
%{dynload_dir}/cmathmodule_d.so
6e8c2f
%{dynload_dir}/_cryptmodule_d.so
6e8c2f
%{dynload_dir}/datetime_d.so
6e8c2f
%{dynload_dir}/dbm_d.so
6e8c2f
%{dynload_dir}/dlmodule_d.so
6e8c2f
%{dynload_dir}/fcntlmodule_d.so
6e8c2f
%{dynload_dir}/future_builtins_d.so
6e8c2f
%if %{with_gdbm}
6e8c2f
%{dynload_dir}/gdbmmodule_d.so
6e8c2f
%endif
6e8c2f
%{dynload_dir}/grpmodule_d.so
6e8c2f
%{dynload_dir}/imageop_d.so
6e8c2f
%{dynload_dir}/itertoolsmodule_d.so
6e8c2f
%{dynload_dir}/linuxaudiodev_d.so
6e8c2f
%{dynload_dir}/math_d.so
6e8c2f
%{dynload_dir}/mmapmodule_d.so
6e8c2f
%{dynload_dir}/nismodule_d.so
6e8c2f
%{dynload_dir}/operator_d.so
6e8c2f
%{dynload_dir}/ossaudiodev_d.so
6e8c2f
%{dynload_dir}/parsermodule_d.so
6e8c2f
%{dynload_dir}/pyexpat_d.so
6e8c2f
%{dynload_dir}/readline_d.so
6e8c2f
%{dynload_dir}/resource_d.so
6e8c2f
%{dynload_dir}/selectmodule_d.so
6e8c2f
%{dynload_dir}/spwdmodule_d.so
6e8c2f
%{dynload_dir}/stropmodule_d.so
6e8c2f
%{dynload_dir}/syslog_d.so
6e8c2f
%{dynload_dir}/termios_d.so
6e8c2f
%{dynload_dir}/timemodule_d.so
6e8c2f
%{dynload_dir}/timingmodule_d.so
6e8c2f
%{dynload_dir}/unicodedata_d.so
6e8c2f
%{dynload_dir}/xxsubtype_d.so
6e8c2f
%{dynload_dir}/zlibmodule_d.so
6e8c2f
6e8c2f
# No need to split things out the "Makefile" and the config-32/64.h file as we
6e8c2f
# do for the regular build above (bug 531901), since they're all in one package
6e8c2f
# now; they're listed below, under "-devel":
6e8c2f
6e8c2f
%{_libdir}/%{py_INSTSONAME_debug}
6e8c2f
%if 0%{?with_systemtap}
6e8c2f
%{tapsetdir}/%{libpython_stp_debug}
6e8c2f
%endif
6e8c2f
6e8c2f
# Analog of the -devel subpackage's files:
6e8c2f
%dir %{pylibdir}/config-debug
6e8c2f
%{_libdir}/pkgconfig/python-%{pybasever}-debug.pc
6e8c2f
%{_libdir}/pkgconfig/python-debug.pc
6e8c2f
%{_libdir}/pkgconfig/python2-debug.pc
6e8c2f
%{pylibdir}/config-debug/*
6e8c2f
%{_includedir}/python%{pybasever}-debug/*.h
6e8c2f
%if %{main_python}
6e8c2f
%{_bindir}/python-debug-config
6e8c2f
%{_bindir}/python2-debug-config
6e8c2f
%endif
6e8c2f
%{_bindir}/python%{pybasever}-debug-config
6e8c2f
%{_libdir}/libpython%{pybasever}_d.so
6e8c2f
6e8c2f
# Analog of the -tools subpackage's files:
6e8c2f
#  None for now; we could build precanned versions that have the appropriate
6e8c2f
# shebang if needed
6e8c2f
6e8c2f
# Analog  of the tkinter subpackage's files:
6e8c2f
%{dynload_dir}/_tkinter_d.so
6e8c2f
6e8c2f
# Analog  of the -test subpackage's files:
6e8c2f
%{dynload_dir}/_ctypes_test_d.so
6e8c2f
%{dynload_dir}/_testcapimodule_d.so
6e8c2f
6e8c2f
%endif # with_debug_build
6e8c2f
6e8c2f
# We put the debug-gdb.py file inside /usr/lib/debug to avoid noise from
6e8c2f
# ldconfig (rhbz:562980).
6e8c2f
# 
6e8c2f
# The /usr/lib/rpm/redhat/macros defines the __debug_package macro to use
6e8c2f
# debugfiles.list, and it appears that everything below /usr/lib/debug and
6e8c2f
# (/usr/src/debug) gets added to this file (via LISTFILES) in
6e8c2f
# /usr/lib/rpm/find-debuginfo.sh
6e8c2f
# 
6e8c2f
# Hence by installing it below /usr/lib/debug we ensure it is added to the
6e8c2f
# -debuginfo subpackage
6e8c2f
# (if it doesn't, then the rpmbuild ought to fail since the debug-gdb.py 
6e8c2f
# payload file would be unpackaged)
6e8c2f
6e8c2f
6e8c2f
# ======================================================
6e8c2f
# Finally, the changelog:
6e8c2f
# ======================================================
6e8c2f
6e8c2f
%changelog
f63228
* Fri Oct 09 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-34
f63228
- Revert fix for rhbz#1117751 as it leads to regressions
f63228
Resolves: rhbz#1117751
f63228
f63228
* Tue Sep 15 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-33
f63228
- Only restore SIG_PIPE when Popen called with restore_sigpipe
f63228
Resolves: rhbz#1117751
f63228
f63228
* Fri Sep 04 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-32
f63228
- Backport SSLSocket.version function
f63228
- Temporary disable test_gdb on ppc64le rhbz#1260558
f63228
Resolves: rhbz#1259421
f63228
f63228
* Thu Aug 06 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-31
f63228
- Update load_cert_chain function to accept None keyfile
f63228
Resolves: rhbz#1250611
f63228
f63228
* Tue Jul 07 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-30
f63228
- Change Patch224 according to latest update in PEP493
f63228
Resolves:rhbz#1219108
f63228
f63228
* Tue Jul 07 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-29
f63228
- Popen shouldn't ignore SIG_PIPE
f63228
Resolves: rhbz#1117751
f63228
f63228
* Tue Jul 07 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-28
f63228
- Exclude python subprocess temp files from cleaning
f63228
Resolves: rhbz#1058482
f63228
f63228
* Wed Jul 01 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-27
f63228
- Add list for cprofile sort option
f63228
Resolves:rhbz#1237107
f63228
f63228
* Mon Jun 29 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-26
f63228
- Add switch to toggle cert verification on or off globally
f63228
Resolves:rhbz#1219108
f63228
f63228
* Mon Jun 29 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-25
f63228
- PEP476 enable cert verifications by default
f63228
Resolves:rhbz#1219110
f63228
f63228
* Mon Jun 29 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-24
f63228
- Massive backport of ssl module from python3 aka PEP466
f63228
Resolves: rhbz#1111461
f63228
f63228
* Tue Jun 23 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-23
f63228
- Fixed CVE-2013-1753, CVE-2013-1752, CVE-2014-4616, CVE-2014-4650, CVE-2014-7185
f63228
Resolves: rhbz#1206574
f63228
f63228
* Mon Jun 22 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-22
f63228
- Fix importing readline producing erroneous output
f63228
Resolves: rhbz#1189301
f63228
f63228
* Mon Jun 22 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-21
f63228
- Add missing import in bdist_rpm
f63228
Resolves: rhbz#1177613
f63228
f63228
* Mon Jun 22 2015 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-20
f63228
- Avoid double close of subprocess pipes
f63228
Resolves: rhbz#1103452
f63228
f63228
* Thu Apr 09 2015 Robert Kuska <rkuska@redhat.com> - 2.7.5-19
9a62d8
- make multiprocessing ignore EINTR
f63228
Resolves: rhbz#1181624
9a62d8
9a62d8
* Wed Sep  3 2014 Peter Robinson <pbrobinson@redhat.com> 2.7.5-18
9a62d8
- valgrind is now supported on aarch64/ppc64le
9a62d8
Resolves: rhbz#1137039
9a62d8
9a62d8
* Thu Aug 07 2014 Slavek Kabrda <bkabrda@redhat.com> - 2.7.5-17
9a62d8
- Fix building on ppc64le (fix test_gdb, disable valgrind support).
9a62d8
Resolves: rhbz#1125657
9a62d8
4082f8
* Mon Feb 10 2014 Tomas Radej <tradej@redhat.com> - 2.7.5-16
4082f8
- Fix buffer overflow (upstream patch)
4082f8
Resolves: rhbz#1062376
4082f8
4082f8
* Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 2.7.5-15
4082f8
- Mass rebuild 2014-01-24
4082f8
4082f8
* Tue Jan 14 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-14
4082f8
- Fix missing documentation for some keywords
4082f8
Resolves: rhbz#1032116
4082f8
4082f8
* Mon Jan 13 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-13
4082f8
- Make library-files user writable
4082f8
Resolves: rhbz#1046276
4082f8
4082f8
* Fri Jan 10 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.5-12
4082f8
- Use -O3 when building on ppc64.
4082f8
Resolves: rhbz#1051076
4082f8
4082f8
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.7.5-11
4082f8
- Mass rebuild 2013-12-27
4082f8
6e8c2f
* Thu Nov 07 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-10
6e8c2f
- Added an explicit RPATH to _elementtree.so
6e8c2f
Resolves: rhbz#1019345
6e8c2f
6e8c2f
* Thu Nov 07 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-9
6e8c2f
- Fixed instances of #!/usr/bin/env python
6e8c2f
Resolves: rhbz#1019336
6e8c2f
6e8c2f
* Wed Oct 09 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.5-8
6e8c2f
- Fix gdb bindings on ppc64.
6e8c2f
Resolves: rhbz#835053
6e8c2f
6e8c2f
* Tue Aug 20 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-7
6e8c2f
- Added fix for CVE-2013-4238
6e8c2f
Resolves: rhbz#998781
6e8c2f
6e8c2f
* Tue Aug 20 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.5-6
6e8c2f
- Add explicit RPATH to pyexpat pointing at system libexpat (rhbz#996665).
6e8c2f
6e8c2f
* Mon Aug 05 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.5-5
6e8c2f
- Fix memory leak in marshal.c, fixes rhbz#990554.
6e8c2f
6e8c2f
* Wed Jul 24 2013 Robert Kuska <rkuska@redhat.com> - 2.7.5-4
6e8c2f
- Change shebangs of scripts in tools subpackage
6e8c2f
(rhbz#987038)
6e8c2f
6e8c2f
* Wed Jul 17 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-3
6e8c2f
- Added patch that makes urllib2 honor no_proxy variable for ftp URLs
6e8c2f
    (rhbz#971267)
6e8c2f
6e8c2f
* Wed Jul 17 2013 Matej Stuchlik <mstuchli@redhat.com> - 2.7.5-2
6e8c2f
- Pulled patch fixing build with libffi containing multilib wrapper for ffi.h
6e8c2f
    from Fedora (rhbz#979696)
6e8c2f
6e8c2f
* Thu May 16 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.5-1
6e8c2f
- Updated to Python 2.7.5.
6e8c2f
- Refreshed patches: 0 (config), 102 (lib64), 121 (add Modules to build path),
6e8c2f
153 (gdb test noise)
6e8c2f
- Dropped patches: 126, 127 (big endian issues, both fixed upstream),
6e8c2f
175 (configure -Wformat, fixed upstream)
6e8c2f
- Synced patch numbers with python3.spec.
6e8c2f
6e8c2f
* Tue May 14 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.4-5
6e8c2f
- fix multilib issue in python-tools due to /usr/bin/pynche (source 7;
6e8c2f
rhbz#831437)
6e8c2f
6e8c2f
* Thu May 02 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.4-4
6e8c2f
- Add patch that enables building on ppc64p7.
6e8c2f
6e8c2f
* Mon Apr 22 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.4-3
6e8c2f
- Allow arbitrary timeout in Condition.wait (rhbz#917709).
6e8c2f
6e8c2f
* Thu Apr 11 2013 Kalev Lember <kalevlember@gmail.com> - 2.7.4-2
6e8c2f
- Build with libdb 5.3 instead of libdb4
6e8c2f
- Refreshed patches: 0 (config), 102 (lib64)
6e8c2f
- Dropped patches: 54 (db4 version), 159 (db4 include path adjustment)
6e8c2f
6e8c2f
* Mon Apr 08 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.4-1
6e8c2f
- Updated to Python 2.7.4.
6e8c2f
- Refreshed patches: 0 (config), 7 (sqlite encoding), 16 (rpath in config),
6e8c2f
55 (systemtap), 111 (no static lib), 112 (debug build), 113 (more
6e8c2f
configuration flags), 130 (add extension to python config), 134 (fix
6e8c2f
COUNT_ALLOCS in test_sys), 146 (haslib FIPS), 147 (add debug malloc stats),
6e8c2f
153 (fix gdb test noise), 157 (uid, gid overflow - fixed upstream, just
6e8c2f
keeping few more downstream tests), 165 (crypt module salt backport),
6e8c2f
175 (fix configure Wformat), 5000 (regenerated autotooling patch)
6e8c2f
- Dropped patches: 101 (lib64 regex; merged upstream), 171 (exception on
6e8c2f
missing /dev/urandom; merged upstream), 172 (poll for multiprocessing socket
6e8c2f
connection; merged upstream)
6e8c2f
6e8c2f
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-35
6e8c2f
- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates
6e8c2f
6e8c2f
* Wed Mar  6 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-34
6e8c2f
- restrict scope of workaround for cmpi-bindings issue to avoid breaking
6e8c2f
in-tree running of test_sys and test_subprocess (rhbz#817554)
6e8c2f
6e8c2f
* Wed Mar  6 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-33
6e8c2f
- add workaround for cmpi-bindings issue (rhbz#817554)
6e8c2f
6e8c2f
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-32
6e8c2f
- add workaround for ENOPROTOOPT seen running selftests in Koji
6e8c2f
(rhbz#913732)
6e8c2f
6e8c2f
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-31
6e8c2f
- remove config flag from /etc/rpm/macros.python2
6e8c2f
6e8c2f
* Fri Feb 22 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-30
6e8c2f
- remove __debug_package macro from comment
6e8c2f
6e8c2f
* Fri Feb 22 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-29
6e8c2f
- drop -b from application of patch 157 (uid/gid overflows)
6e8c2f
6e8c2f
* Fri Feb 22 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-28
6e8c2f
- fix bogus dates in changelog
6e8c2f
6e8c2f
* Thu Feb 21 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-27
6e8c2f
- port _multiprocessing.Connection.poll() to use the "poll" syscall, rather
6e8c2f
than "select", allowing large numbers of subprocesses (patch 172;
6e8c2f
rhbz#849992)
6e8c2f
6e8c2f
* Thu Feb 21 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-26
6e8c2f
- raise correct exception in os.urandom() when /dev/urandom is missing
6e8c2f
(patch 171; rhbz#907383)
6e8c2f
6e8c2f
* Wed Feb 20 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-25
6e8c2f
- in debug builds, try to print repr() when a C-level assert fails in the
6e8c2f
garbage collector (typically indicating a reference-counting error somewhere
6e8c2f
else e.g in an extension module) (patch 170; rhbz#850013)
6e8c2f
6e8c2f
* Wed Feb 20 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-24
6e8c2f
- move lib2to3/tests from python-libs to python-test (rhbz#850056)
6e8c2f
6e8c2f
* Wed Feb 20 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-23
6e8c2f
- use SHA-256 rather than implicitly using MD5 within the challenge handling
6e8c2f
in multiprocessing.connection (patch 169; rhbz#879695)
6e8c2f
6e8c2f
* Wed Feb 20 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-22
6e8c2f
- fix a problem with distutils.sysconfig when CFLAGS is defined in the
6e8c2f
environment (patch 168; rhbz#849994)
6e8c2f
6e8c2f
* Wed Feb 20 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-21
6e8c2f
- don't run any stack navigation tests in test_gdb for optimized builds
6e8c2f
(patch 167; rhbz#912025)
6e8c2f
6e8c2f
* Wed Feb 20 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-20
6e8c2f
- s/cryptmodule/_cryptmodule/ in package payload (rhbz#835021)
6e8c2f
6e8c2f
* Tue Feb 19 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-19
6e8c2f
- bulletproof the gdb debugging hooks against a failure seen in ARM builds
6e8c2f
(patch 166; rhbz#912025)
6e8c2f
- re-enable make check on ARM (rhbz#912025)
6e8c2f
6e8c2f
* Tue Feb 19 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-18
6e8c2f
- backport pre-canned ways of salting a password to the "crypt" module from 3.3
6e8c2f
(rhbz#835021)
6e8c2f
6e8c2f
* Tue Feb 19 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-17
6e8c2f
- remove "_default_patch_fuzz" directive to avoid patches being silently
6e8c2f
misapplied (refresh patch 1, patch 101, patch 102, patch 111, patch 121,
6e8c2f
patch 158; rename patch 1, patch 101, patch 121; apply patch 54 before the
6e8c2f
lib64 patches to avoid fuzz problems caused by the conditional application
6e8c2f
of the lib64 patches)
6e8c2f
6e8c2f
* Mon Feb 18 2013 Peter Robinson <pbrobinson@fedoraproject.org> 2.7.3-16
6e8c2f
- disable make check on ARM for the moment until 912025 is fixed
6e8c2f
6e8c2f
* Mon Feb 11 2013 David Malcolm <dmalcolm@redhat.com> - 2.7.3-15
6e8c2f
- add aarch64 (rhbz#909783)
6e8c2f
6e8c2f
* Thu Nov 29 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-14
6e8c2f
- add BR on bluez-libs-devel (rhbz#879720)
6e8c2f
6e8c2f
* Thu Aug  9 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-13
6e8c2f
- remove f18 conditional from patch 159
6e8c2f
6e8c2f
* Fri Jul 27 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.3-12
6e8c2f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
6e8c2f
6e8c2f
* Tue Jul 17 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.7.3-11
6e8c2f
- fix memory leak in module _hashlib (patch 158, rhbz#836285)
6e8c2f
- fix db4 include path for libdb4 package (f18 and above) (patch 159)
6e8c2f
6e8c2f
* Tue Jun 26 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-10
6e8c2f
- fix missing include in uid/gid handling patch (patch 157; rhbz#830405)
6e8c2f
6e8c2f
* Fri Jun 22 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-9
6e8c2f
- use rpm macro for power64 (rhbz#834653)
6e8c2f
6e8c2f
* Tue May 15 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-8
6e8c2f
- update uid/gid handling to avoid int overflows seen with uid/gid
6e8c2f
values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470)
6e8c2f
6e8c2f
* Fri May  4 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-7
6e8c2f
- renumber autotools patch from 300 to 5000
6e8c2f
- specfile cleanups
6e8c2f
6e8c2f
* Mon Apr 30 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-6
6e8c2f
- try again to fix test_gdb.py (patch 156; rhbz#817072)
6e8c2f
6e8c2f
* Mon Apr 30 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-5
6e8c2f
- fix test_gdb.py (patch 156; rhbz#817072)
6e8c2f
6e8c2f
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-4
6e8c2f
- avoid allocating thunks in ctypes unless absolutely necessary, to avoid
6e8c2f
generating SELinux denials on "import ctypes" and "import uuid" when embedding
6e8c2f
Python within httpd (patch 155; rhbz#814391)
6e8c2f
6e8c2f
* Thu Apr 19 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-3
6e8c2f
- add explicit version requirements on expat to avoid linkage problems with
6e8c2f
XML_SetHashSalt
6e8c2f
6e8c2f
* Wed Apr 18 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-2
6e8c2f
- fix -config symlinks (patch 112; rhbz#813836)
6e8c2f
6e8c2f
* Wed Apr 11 2012 David Malcolm <dmalcolm@redhat.com> - 2.7.3-1
6e8c2f
- 2.7.3: refresh patch 102 (lib64); drop upstream patches 11 (ascii-to-lower),
6e8c2f
115 (pydoc robustness), 145 (linux2), 148 (gdbm magic values), 151 (deadlock
6e8c2f
in fork); refresh patch 112 (debug build); revise patch 127
6e8c2f
(test_structmember); fix test_gdb (patch 153); refresh patch 137 (distutils
6e8c2f
tests); add python2.pc to python-devel; regenerate the autotool intermediates
6e8c2f
patch (patch 300)
6e8c2f
6e8c2f
* Sat Feb 25 2012 Thomas Spura <tomspur@fedoraproject.org> - 2.7.2-20
6e8c2f
- fix deadlock issue (#787712)
6e8c2f
6e8c2f
* Fri Feb 17 2012 Toshio Kuratomi <toshio@fedoraproject.org> - 2.7.2-19
6e8c2f
- Obsolete python-sqlite2
6e8c2f
6e8c2f
* Thu Nov 24 2011 Ville Skyttä <ville.skytta@iki.fi> - 2.7.2-18
6e8c2f
- Build with $RPM_LD_FLAGS (#756862).
6e8c2f
- Use xz-compressed source tarball.
6e8c2f
6e8c2f
* Wed Oct 26 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.2-17
6e8c2f
- Rebuilt for glibc bug#747377
6e8c2f
6e8c2f
* Fri Sep 30 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-16
6e8c2f
- re-enable gdbm (patch 148; rhbz#742242)
6e8c2f
6e8c2f
* Fri Sep 16 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-15
6e8c2f
- add a sys._debugmallocstats() function (patch 147)
6e8c2f
6e8c2f
* Wed Sep 14 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-14
6e8c2f
- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and
6e8c2f
_sha* modules, relying on _hashlib in hashlib, and thus within md5 etc
6e8c2f
(rhbz#563986; patch 146)
6e8c2f
6e8c2f
* Wed Sep 14 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-13
6e8c2f
- force sys.platform to be "linux2" (patch 145)
6e8c2f
6e8c2f
* Tue Sep 13 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-12
6e8c2f
- disable gdbm module to prepare for gdbm soname bump
6e8c2f
6e8c2f
* Mon Sep 12 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-11
6e8c2f
- rename and renumber patches for consistency with python3.spec (55, 111, 113,
6e8c2f
114, 125, 131, 129 to 143)
6e8c2f
6e8c2f
* Sat Sep 10 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-10
6e8c2f
- rewrite of "check", introducing downstream-only hooks for skipping specific
6e8c2f
cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more
6e8c2f
fine-grained manner than before (patches 104, 133-142)
6e8c2f
6e8c2f
* Thu Sep  1 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-9
6e8c2f
- run selftests with "--verbose"
6e8c2f
- disable parts of test_io on ppc (rhbz#732998)
6e8c2f
6e8c2f
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-8
6e8c2f
- add --extension-suffix option to python-config (patch 130; rhbz#732808)
6e8c2f
6e8c2f
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-7
6e8c2f
- re-enable and fix the --with-tsc option on ppc64, and rework it on 32-bit
6e8c2f
ppc to avoid aliasing violations (patch 129; rhbz#698726)
6e8c2f
6e8c2f
* Tue Aug 23 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-6
6e8c2f
- don't use --with-tsc on ppc64 debug builds (rhbz#698726)
6e8c2f
6e8c2f
* Thu Aug 18 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-5
6e8c2f
- add rpm macros file (rhbz#731800)
6e8c2f
6e8c2f
* Fri Jul  8 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-4
6e8c2f
- cleanup of BuildRequires; add comment headings to specfile sections
6e8c2f
6e8c2f
* Wed Jun 22 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-3
6e8c2f
- reorganize test exclusions (test_openpty and test_pty seem to be failing on
6e8c2f
every arch, not just the explicitly-listed ones)
6e8c2f
6e8c2f
* Mon Jun 13 2011 Dan Horák <dan[at]danny.cz> - 2.7.2-2
6e8c2f
- add s390(x) excluded tests
6e8c2f
6e8c2f
* Mon Jun 13 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.2-1
6e8c2f
- 2.7.2; drop upstreamed patches: patch 122 (parallel make fix), patch 124
6e8c2f
(test_commands and SELinux), patch 130 (ppc preprocessor macro in debug
6e8c2f
build); patch 131 (decimal in Turkish locale); regenerate the autotool
6e8c2f
intermediates patch (patch 300)
6e8c2f
6e8c2f
* Tue Jun 07 2011 Dennis Gilmore <dennis@ausil.us> - 2.7.1-9
6e8c2f
- fix sparc building by excluding failing tests RHBZ#711584
6e8c2f
6e8c2f
* Mon May 23 2011 Peter Robinson <pbrobinson@gmail.com> - 2.7.1-8
6e8c2f
- fix compile on ARM by excluding failing tests on arm - RHBZ #706253
6e8c2f
6e8c2f
* Tue Apr 12 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.1-7
6e8c2f
- fix "import decimal" in the Turkish locale (patch 131; rhbz#694928)
6e8c2f
6e8c2f
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.1-6
6e8c2f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
6e8c2f
6e8c2f
* Fri Jan  21 2011 Toshio Kuratomi <toshio@fedoraproject.org> - 2.7.1-5
6e8c2f
- Switch from setting OPT to setting EXTRA_CFLAGS so we don't overwrite the
6e8c2f
  DNDEBUG flag
6e8c2f
6e8c2f
* Fri Jan  7 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.1-4
6e8c2f
- for now, drop "obsoletes" of python-argparse, since it interracts badly with
6e8c2f
multilib (rhbz#667984)
6e8c2f
6e8c2f
* Fri Jan  7 2011 Thomas Spura <tomspur@fedoraproject.org> - 2.7.1-3
6e8c2f
- obsolete/provide python-argparse (new in 2.7)
6e8c2f
6e8c2f
* Thu Jan  6 2011 David Malcolm <dmalcolm@redhat.com> - 2.7.1-2
6e8c2f
- fix the ppc build of the debug configuration (patch 130; rhbz#661510)
6e8c2f
6e8c2f
* Thu Dec 23 2010 David Malcolm <dmalcolm@redhat.com> - 2.7.1-1
6e8c2f
- 2.7.1, reworking patch 0 (config), patch 102 (lib64); drop upstream
6e8c2f
patch 56 (cfgparse), patch 110 (ctypes/SELinux/noexecmem), patch 119 (expat
6e8c2f
compat), patch 123 (2to3 on "from itertools import *")
6e8c2f
- fix test_abc's test_cache_leak in the debug build (patch 128)
6e8c2f
- drop _weakref.so from manifest (_weakref became a core module in r84230)
6e8c2f
6e8c2f
* Wed Sep 29 2010 jkeating - 2.7-13
6e8c2f
- Rebuilt for gcc bug 634757
6e8c2f
6e8c2f
* Mon Sep 27 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-12
6e8c2f
- fix test_structmember on 64bit-bigendian (patch 127)
6e8c2f
6e8c2f
* Fri Sep 24 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-11
6e8c2f
- fix dbm_contains on 64bit-bigendian (patch 126; rhbz#626756)
6e8c2f
6e8c2f
* Thu Sep 16 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 2.7-10
6e8c2f
- backport a patch to fix a change in behaviour in configparse.
6e8c2f
6e8c2f
* Thu Sep  9 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-9
6e8c2f
- move most of the payload of the core package to the libs subpackage, given
6e8c2f
that the libs aren't meaningfully usable without the standard libraries
6e8c2f
6e8c2f
* Wed Aug 18 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-8
6e8c2f
- add %%check section
6e8c2f
- update lib64 patch (patch 102) to fix expected output in test_site.py on
6e8c2f
64-bit systems
6e8c2f
- patch test_commands.py to work with SELinux (patch 124)
6e8c2f
- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125)
6e8c2f
6e8c2f
* Mon Jul 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-7
6e8c2f
- fixup missing -lcrypt to "crypt" module in config patch (patch 0)
6e8c2f
6e8c2f
* Mon Jul 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-6
6e8c2f
- re-enable systemtap
6e8c2f
- cherrypick upstream patch to 2to3 for "from itertools import *"
6e8c2f
traceback (patch 123)
6e8c2f
6e8c2f
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-5
6e8c2f
- disable systemtap for now (dtrace is failing on startup due to the bug
6e8c2f
mentioned in 2.7-4)
6e8c2f
- provide relative path to python binary when running pathfix.py
6e8c2f
- fix parallel make (patch 122)
6e8c2f
6e8c2f
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-4
6e8c2f
- fix reference to pyconfig.h in sysconfig that led to failure on startup if
6e8c2f
python-devel was not installed
6e8c2f
6e8c2f
* Thu Jul  8 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-3
6e8c2f
- add patch to fixup the new sysconfig.py for our multilib support on
6e8c2f
64-bit (patch 103)
6e8c2f
6e8c2f
* Thu Jul  8 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-2
6e8c2f
- add machinery for regenerating the "configure" script in the face of
6e8c2f
mismatching autoconf versions (patch 300)
6e8c2f
6e8c2f
* Tue Jul  6 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-1
6e8c2f
- 2.7 final; drop alphatag
6e8c2f
- drop patch 117 (upstream), patch 120 (upstreamed)
6e8c2f
- fix the commented-out __python_ver from 26 to 27
6e8c2f
6e8c2f
* Tue Jun 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-0.1.rc2
6e8c2f
- 2.7rc2
6e8c2f
- revert r79310 (patch 121)
6e8c2f
- remove modulator: upstream removed it in r78338
6e8c2f
- rename mathmodule(_d).so to math(_d).so in manifests (appears to be changed
6e8c2f
by r76861)
6e8c2f
- _bytesio(_d).so and _filesio(_d).so were consolidated into _io(_d).so in
6e8c2f
r73394 (upstream issue 6215)
6e8c2f
- use the gdb hooks from the upstream tarball, rather than keeping our own
6e8c2f
copy. The upstream version has some whitespace changes, a new write_repr for
6e8c2f
unicode objects, and various bulletproofings for being run on older gdbs
6e8c2f
6e8c2f
* Tue Jun 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.7-0.1.rc1
6e8c2f
- 2.7rc1:
6e8c2f
  - rework patches to apply against 2.7 (which among other changes has had a
6e8c2f
whitespace cleanup of the .c code): .rhconfig (patch0), .binutils-no-dep
6e8c2f
(patch10), .ascii-tolower (patch11), .socketmodule (patch13), .socketmodule2
6e8c2f
(patch14), .systemtap (patch55), .lib64 (patch102), .selinux (patch110),
6e8c2f
.no-static-lib (patch111), .debug-build (patch112), .statvfs-f-flag-constants
6e8c2f
(patch114), ..CVE-2010-2089 (patch117)
6e8c2f
  - drop upstream patches: .expat (patch3), .brprpm (patch51), .valgrind
6e8c2f
(patch52), .db48 (patch53), .CVE-2010-1634 (patch 116), .CVE-2008-5983 (patch
6e8c2f
118)
6e8c2f
6e8c2f
* Tue Jun 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-17
6e8c2f
- Stop python bailing out with an assertion failure when UnicodeDecodeErrors
6e8c2f
occur on very large buffers (patch 120, upstream issue 9058)
6e8c2f
6e8c2f
* Mon Jun 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-16
6e8c2f
- Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to
6e8c2f
a segfault running test_pyexpat.py (patch 119; upstream issue 9054)
6e8c2f
6e8c2f
* Tue Jun  8 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-15
6e8c2f
- add a flag to make it easy to turn off the debug build when troubleshooting
6e8c2f
the rpm build
6e8c2f
6e8c2f
* Sat Jun  5 2010 Dan Horák <dan[at]danny.cz> - 2.6.5-14
6e8c2f
- reading the timestamp counter is available only on some arches (see Python/ceval.c)
6e8c2f
- disable --with-valgrind on s390(x) arches
6e8c2f
6e8c2f
* Fri Jun  4 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-13
6e8c2f
- ensure that the compiler is invoked with "-fwrapv" (rhbz#594819)
6e8c2f
- CVE-2010-1634: fix various integer overflow checks in the audioop
6e8c2f
module (patch 116)
6e8c2f
- CVE-2010-2089: further checks within the audioop module (patch 117)
6e8c2f
- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch 118)
6e8c2f
6e8c2f
* Thu May 27 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-12
6e8c2f
- make "pydoc -k" more robust in the face of broken modules (rhbz:461419, patch115)
6e8c2f
6e8c2f
* Wed May 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-11
6e8c2f
- add flags for statvfs.f_flag to the constant list in posixmodule (i.e. "os")
6e8c2f
(patch 114)
6e8c2f
6e8c2f
* Tue May 25 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-10
6e8c2f
- add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug options
6e8c2f
(patch 113); enable them and the WITH_TSC option within the debug build
6e8c2f
6e8c2f
* Tue May 18 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-9
6e8c2f
- build and install two different configurations of Python: debug and standard,
6e8c2f
packaging the debug build in a new "python-debug" subpackage (patch 112)
6e8c2f
6e8c2f
* Tue May  4 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-8
6e8c2f
- don't delete wsgiref.egg-info (rhbz:588426)
6e8c2f
6e8c2f
* Mon Apr 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-7
6e8c2f
- disable --with-valgrind on sparc arches
6e8c2f
6e8c2f
* Mon Apr 12 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-6
6e8c2f
- move the "bdist_wininst" command's template .exe files from the core package
6e8c2f
to the devel subpackage, to save space (rhbz:525469)
6e8c2f
- fix stray doublelisting of config directory wildcard in devel subpackage
6e8c2f
6e8c2f
* Wed Mar 31 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-5
6e8c2f
- update python-gdb.py from v4 to v5 (improving performance and stability,
6e8c2f
adding commands)
6e8c2f
6e8c2f
* Thu Mar 25 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-4
6e8c2f
- update python-gdb.py from v3 to v4 (fixing infinite recursion on reference
6e8c2f
cycles and tracebacks on bytes 0x80-0xff in strings, adding handlers for sets
6e8c2f
and exceptions)
6e8c2f
6e8c2f
* Wed Mar 24 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-3
6e8c2f
- refresh gdb hooks to v3 (reworking how they are packaged)
6e8c2f
6e8c2f
* Mon Mar 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-2
6e8c2f
- remove unnecessary arch-conditionality for patch 101
6e8c2f
6e8c2f
* Fri Mar 19 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.5-1
6e8c2f
- update to 2.6.5: http://www.python.org/download/releases/2.6.5/
6e8c2f
- replace our patch to compile against db4.8 with a patch from
6e8c2f
upstream (patch 53, from r78974); update patch 54 since part of it is now in
6e8c2f
that upstream patch
6e8c2f
- update patch 110 so that it still applies in the face of upstream r78380
6e8c2f
6e8c2f
* Tue Mar 16 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-23
6e8c2f
- fixup distutils/unixccompiler.py to remove standard library path from
6e8c2f
rpath (patch 17)
6e8c2f
- delete DOS batch files
6e8c2f
6e8c2f
* Fri Mar 12 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-22
6e8c2f
- add pyfuntop.stp; allow systemtap support to be disabled
6e8c2f
- remove trailing period from tkinter summary
6e8c2f
- don't own /usr/bin/python-config if you're not the main python
6e8c2f
6e8c2f
* Thu Mar 11 2010 Marcela Mašláňová <mmaslano@redhat.com> - 2.6.4-21
6e8c2f
- rebuild with new gdbm
6e8c2f
6e8c2f
* Thu Feb 11 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-20
6e8c2f
- avoid having the "test" subdirectory and the files within it that are in the
6e8c2f
core subpackage also be owned by the test subpackage (rhbz:467588)
6e8c2f
6e8c2f
* Wed Feb 10 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-19
6e8c2f
- revise the systemtap patch (patch 55:python-2.6.4-dtrace.patch) to the
6e8c2f
new version by mjw in attachment 390110 of rhbz:545179, as this should
6e8c2f
eliminate the performance penalty for the case where the probes aren't in
6e8c2f
use, and eliminate all architecture-specific code (rhbz:563541; except on
6e8c2f
sparc)
6e8c2f
6e8c2f
* Tue Feb  9 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-18
6e8c2f
- add a systemtap tapset defining "python.function.entry" and
6e8c2f
"python.function.return" to make it easy to use the static probepoint within
6e8c2f
Python; add an example of using the tapset to the docs
6e8c2f
6e8c2f
* Tue Feb  9 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-17
6e8c2f
- add systemtap static probes (wcohen; patch 55; rh bug #545179)
6e8c2f
- update some comments in specfile relating to gdb work
6e8c2f
- manually byte-compile the gdb.py file with the freshly-built python to ensure
6e8c2f
that .pyx and .pyo files make it into the debuginfo manifest if they are later
6e8c2f
byte-compiled after find-debuginfo.sh is run
6e8c2f
6e8c2f
* Mon Feb  8 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-16
6e8c2f
- move the -gdb.py file from %%{_libdir}/INSTSONAME-gdb.py to
6e8c2f
%%{_prefix}/lib/debug/%%{_libdir}/INSTSONAME.debug-gdb.py to avoid noise from
6e8c2f
ldconfig (bug 562980), and which should also ensure it becomes part of the
6e8c2f
debuginfo subpackage, rather than the libs subpackage
6e8c2f
- introduce %%{py_SOVERSION} and %%{py_INSTSONAME} to reflect the upstream
6e8c2f
configure script, and to avoid fragile scripts that try to figure this out
6e8c2f
dynamically (e.g. for the -gdb.py change)
6e8c2f
6e8c2f
* Mon Feb  8 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-15
6e8c2f
- work around bug 562906 by supplying a fixed version of pythondeps.sh
6e8c2f
- set %%{_python_bytecompile_errors_terminate_build} to 0 to prevent the broken
6e8c2f
test files from killing the build on buildroots where python is installed
6e8c2f
6e8c2f
* Fri Feb  5 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-14
6e8c2f
- add gdb hooks for easier debugging
6e8c2f
6e8c2f
* Fri Jan 29 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-13
6e8c2f
- document all patches, and remove the commented-out ones
6e8c2f
6e8c2f
* Tue Jan 26 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-12
6e8c2f
- Address some of the issues identified in package review (bug 226342):
6e8c2f
  - update libs requirement on base package to use %%{name} for consistency's
6e8c2f
sake
6e8c2f
  - convert from backticks to $() syntax throughout
6e8c2f
  - wrap value of LD_LIBRARY_PATH in quotes
6e8c2f
  - convert "/usr/bin/find" requirement to "findutils"
6e8c2f
  - remove trailing periods from summaries of -devel and -tools subpackages
6e8c2f
  - fix spelling mistake in description of -test subpackage
6e8c2f
  - convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for
6e8c2f
stylistic consistency
6e8c2f
  - supply dirmode arguments to defattr directives
6e8c2f
6e8c2f
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-11
6e8c2f
- update python-2.6.2-config.patch to remove downstream customization of build
6e8c2f
of pyexpat and elementtree modules
6e8c2f
- add patch adapted from upstream (patch 3) to add support for building against
6e8c2f
system expat; add --with-system-expat to "configure" invocation
6e8c2f
- remove embedded copy of expat from source tree during "prep"
6e8c2f
6e8c2f
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-10
6e8c2f
- introduce macros for 3 directories, replacing expanded references throughout:
6e8c2f
%%{pylibdir}, %%{dynload_dir}, %%{site_packages}
6e8c2f
- explicitly list all lib-dynload files, rather than dynamically gathering the
6e8c2f
payload into a temporary text file, so that we can be sure what we are
6e8c2f
shipping; remove now-redundant testing for presence of certain .so files
6e8c2f
- remove embedded copy of zlib from source tree before building
6e8c2f
6e8c2f
* Mon Jan 25 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-9
6e8c2f
- change python-2.6.2-config.patch to remove our downstream change to curses
6e8c2f
configuration in Modules/Setup.dist, so that the curses modules are built using
6e8c2f
setup.py with the downstream default (linking against libncursesw.so, rather
6e8c2f
than libncurses.so), rather than within the Makefile; add a test to %%install
6e8c2f
to verify the dso files that the curses module is linked against the correct
6e8c2f
DSO (bug 539917; changes _cursesmodule.so -> _curses.so)
6e8c2f
6e8c2f
* Fri Jan 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-8
6e8c2f
- rebuild (bug 556975)
6e8c2f
6e8c2f
* Wed Jan 20 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-7
6e8c2f
- move lib2to3 from -tools subpackage to main package (bug 556667)
6e8c2f
6e8c2f
* Mon Jan 18 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-6
6e8c2f
- patch Makefile.pre.in to avoid building static library (patch111, bug 556092)
6e8c2f
- split up the "configure" invocation flags onto individual lines
6e8c2f
6e8c2f
* Fri Jan 15 2010 David Malcolm <dmalcolm@redhat.com> - 2.6.4-5
6e8c2f
- replace usage of %%define with %%global
6e8c2f
- use the %%{_isa} macro to ensure that the python-devel dependency on python
6e8c2f
is for the correct multilib arch (#555943)
6e8c2f
- delete bundled copy of libffi to make sure we use the system one
6e8c2f
- replace references to /usr with %%{_prefix}; replace references to
6e8c2f
/usr/include with %%{_includedir}
6e8c2f
6e8c2f
* Wed Dec 16 2009 David Malcolm <dmalcolm@redhat.com> - 2.6.4-4
6e8c2f
- automatically disable arena allocator when run under valgrind (upstream
6e8c2f
issue 2422; patch 52)
6e8c2f
- add patch from Josh Boyer containing diff against upstream PyBSDDB to make
6e8c2f
the bsddb module compile against db-4.8 (patch 53, #544275); bump the necessary
6e8c2f
version of db4-devel to 4.8
6e8c2f
- patch setup.py so that it searches for db-4.8, and enable debug output for
6e8c2f
said search; make Setup.dist use db-4.8 (patch 54)
6e8c2f
6e8c2f
* Thu Nov 12 2009 David Malcolm <dmalcolm@redhat.com> - 2.6.4-3
6e8c2f
- fixup the build when __python_ver is set (Zach Sadecki; bug 533989); use
6e8c2f
pybasever in the files section
6e8c2f
6e8c2f
* Thu Oct 29 2009 David Malcolm <dmalcolm@redhat.com> - 2.6.4-2
6e8c2f
- "Makefile" and the config-32/64.h file are needed by distutils/sysconfig.py
6e8c2f
_init_posix(), so we include them in the core package, along with their parent
6e8c2f
directories (bug 531901)
6e8c2f
6e8c2f
* Mon Oct 26 2009 David Malcolm <dmalcolm@redhat.com> - 2.6.4-1
6e8c2f
- Update to 2.6.4
6e8c2f
6e8c2f
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.6.2-2
6e8c2f
- rebuilt with new openssl
6e8c2f
6e8c2f
* Mon Jul 27 2009 James Antill <james.antill@redhat.com> - 2.6.2-1
6e8c2f
- Update to 2.6.2
6e8c2f
6e8c2f
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6-11
6e8c2f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
6e8c2f
6e8c2f
* Sat Jul 4 2009 Jonathan Steffan <jsteffan@fedoraproject.org> - 2.6-10
6e8c2f
- Move python-config to devel subpackage (#506153)
6e8c2f
- Update BuildRoot for new standard
6e8c2f
6e8c2f
* Sun Jun 28 2009 Jonathan Steffan <jsteffan@fedoraproject.org> - 2.6-9
6e8c2f
- Update python-tools description (#448940)
6e8c2f
6e8c2f
* Wed Apr 15 2009 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> 2.6-8
6e8c2f
- Replace python-hashlib and python-uuid (#484715)
6e8c2f
6e8c2f
* Tue Mar 17 2009 James Antill <james@fedoraproject.org> - 2.6-7
6e8c2f
- Use system libffi
6e8c2f
- Resolves: bug#490573
6e8c2f
- Fix SELinux execmem problems
6e8c2f
- Resolves: bug#488396
6e8c2f
6e8c2f
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6-5
6e8c2f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
6e8c2f
6e8c2f
* Fri Jan 16 2009 Tomas Mraz <tmraz@redhat.com> - 2.6-4
6e8c2f
- rebuild with new openssl
6e8c2f
6e8c2f
* Tue Jan  6 2009 James Antill <james.antill@redhat.com> - 2.6-3
6e8c2f
- Fix distutils generated rpms.
6e8c2f
- Resolves: bug#236535
6e8c2f
6e8c2f
* Wed Dec 10 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.6-2
6e8c2f
- Enable -lcrypt for cryptmodule
6e8c2f
6e8c2f
* Fri Nov 28 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.6-1
6e8c2f
- Update to 2.6
6e8c2f
6e8c2f
* Tue Sep 30 2008 James Antill <james.antill@redhat.com> - 2.5.2-1
6e8c2f
- Move to 2.5.2
6e8c2f
- Fix CVE-2008-2316 hashlib overflow.
6e8c2f
6e8c2f
* Thu Jul 17 2008 Jeremy Katz <katzj@redhat.com> - 2.5.1-30
6e8c2f
- Fix up the build for new rpm
6e8c2f
- And actually build against db4-4.7 (#455170)
6e8c2f
6e8c2f
* Thu Jul 10 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.5.1-27
6e8c2f
- fix license tag
6e8c2f
- enable support for db4-4.7
6e8c2f
6e8c2f
* Sun Jun 15 2008 James Antill <jantill@redhat.com> - 2.5.1-26
6e8c2f
- Fix sporadic listdir problem
6e8c2f
- Resolves: bug#451494
6e8c2f
6e8c2f
* Mon Apr  7 2008 James Antill <jantill@redhat.com> - 2.5.1-25
6e8c2f
- Rebuild to re-gen autoconf file due to glibc change.
6e8c2f
- Resolves: bug#441003
6e8c2f
6e8c2f
* Tue Mar 25 2008 James Antill <jantill@redhat.com> - 2.5.1-24
6e8c2f
- Add more constants to socketmodule
6e8c2f
6e8c2f
* Sat Mar  8 2008 James Antill <jantill@redhat.com> - 2.5.1-22
6e8c2f
- Add constants to socketmodule
6e8c2f
- Resolves: bug#436560
6e8c2f
6e8c2f
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.5.1-22
6e8c2f
- Autorebuild for GCC 4.3
6e8c2f
6e8c2f
* Sun Jan 13 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.5.1-21
6e8c2f
- rebuild for new tk in rawhide
6e8c2f
6e8c2f
* Mon Jan  7 2008 James Antill <jantill@redhat.com> - 2.5.1-20
6e8c2f
- Add valgrind support files, as doc, to python-devel
6e8c2f
- Relates: rhbz#418621
6e8c2f
- Add new API from 2.6, set_wakeup_fd ... use at own risk, presumably won't
6e8c2f
- change but I have no control to guarantee that.
6e8c2f
- Resolves: rhbz#427794
6e8c2f
- Add gdbinit support file, as doc, to python-devel
6e8c2f
6e8c2f
* Fri Jan  4 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.5.1-19
6e8c2f
- rebuild for new tcl/tk in rawhide
6e8c2f
6e8c2f
* Fri Dec  7 2007 James Antill <jantill@redhat.com> - 2.5.1-18
6e8c2f
- Create a python-test sub-module, over 3MB of stuff noone wants.
6e8c2f
- Don't remove egginfo files, try this see what happens ... may revert.
6e8c2f
- Resolves: rhbz#414711
6e8c2f
6e8c2f
* Mon Dec  3 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-17
6e8c2f
- rebuild for new libssl
6e8c2f
6e8c2f
* Fri Nov 30 2007 James Antill <jantill@redhat.com> - 2.5.1-16
6e8c2f
- Fix pyconfig.h comment typo.
6e8c2f
- Add back test_support.py and the __init__.py file.
6e8c2f
- Resolves: rhbz#387401
6e8c2f
6e8c2f
* Tue Oct 30 2007 James Antill <jantill@redhat.com> - 2.5.1-15
6e8c2f
- Do codec lowercase in C Locale.
6e8c2f
- Resolves: 207134 191096
6e8c2f
- Fix stupid namespacing in pysqlite, minimal upgrade to 2.3.3 pysqlite
6e8c2f
- Resolves: 263221
6e8c2f
6e8c2f
* Wed Oct 24 2007 James Antill <jantill@redhat.com> - 2.5.1-14
6e8c2f
- Remove bintuils dep. for live CD ... add work around for ctypes
6e8c2f
6e8c2f
* Mon Oct 22 2007 James Antill <jantill@redhat.com> - 2.5.1-13
6e8c2f
- Add tix buildprereq
6e8c2f
- Add tkinter patch
6e8c2f
- Resolves: #281751
6e8c2f
- Fix ctypes loading of libraries, add requires on binutils
6e8c2f
- Resolves: #307221
6e8c2f
- Possible fix for CVE-2007-4965 possible exploitable integer overflow
6e8c2f
- Resolves: #295971
6e8c2f
6e8c2f
* Tue Oct 16 2007 Mike Bonnet <mikeb@redhat.com> - 2.5.1-12
6e8c2f
- fix marshalling of objects in xmlrpclib (python bug #1739842)
6e8c2f
6e8c2f
* Fri Sep 14 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-11
6e8c2f
- fix encoding of sqlite .py files to work around weird encoding problem 
6e8c2f
  in Turkish (#283331)
6e8c2f
6e8c2f
* Mon Sep 10 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-10
6e8c2f
- work around problems with multi-line plural specification (#252136)
6e8c2f
6e8c2f
* Tue Aug 28 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-9
6e8c2f
- rebuild against new expat
6e8c2f
6e8c2f
* Tue Aug 14 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-8
6e8c2f
- build against db4.6
6e8c2f
6e8c2f
* Tue Aug 14 2007 Dennis Gilmore <dennis@ausil.us> - 2.5.1-7
6e8c2f
- add sparc64 to the list of archs for _pyconfig64_h
6e8c2f
6e8c2f
* Fri Aug 10 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-6
6e8c2f
- fix ctypes again on some arches (Hans de Goede, #251637)
6e8c2f
6e8c2f
* Fri Jul  6 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-5
6e8c2f
- link curses modules with ncursesw (#246385)
6e8c2f
6e8c2f
* Wed Jun 27 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-4
6e8c2f
- fix _elementtree.so build (#245703)
6e8c2f
- ensure that extension modules we expect are actually built rather than 
6e8c2f
  having them silently fall out of the package
6e8c2f
6e8c2f
* Tue Jun 26 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-3
6e8c2f
- link with system expat (#245703)
6e8c2f
6e8c2f
* Thu Jun 21 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-2
6e8c2f
- rebuild to take advantage of hardlinking between identical pyc/pyo files
6e8c2f
6e8c2f
* Thu May 31 2007 Jeremy Katz <katzj@redhat.com> - 2.5.1-1
6e8c2f
- update to python 2.5.1
6e8c2f
6e8c2f
* Mon Mar 19 2007 Jeremy Katz <katzj@redhat.com> - 2.5.3-12
6e8c2f
- fix alpha build (#231961)
6e8c2f
6e8c2f
* Tue Feb 13 2007 Jeremy Katz <katzj@redhat.com> - 2.5.3-11
6e8c2f
- tcl/tk was reverted; rebuild again
6e8c2f
6e8c2f
* Thu Feb  1 2007 Jeremy Katz <katzj@redhat.com> - 2.5.3-10
6e8c2f
- rebuild for new tcl/tk
6e8c2f
6e8c2f
* Tue Jan 16 2007 Miroslav Lichvar <mlichvar@redhat.com> - 2.5.3-9
6e8c2f
- link with ncurses
6e8c2f
6e8c2f
* Sat Jan  6 2007 Jeremy Katz <katzj@redhat.com> - 2.5.3-8
6e8c2f
- fix extensions to use shared libpython (#219564)
6e8c2f
- all 64bit platforms need the regex fix (#122304)
6e8c2f
6e8c2f
* Wed Jan  3 2007 Jeremy Katz <katzj@redhat.com> - 2.5.3-7
6e8c2f
- fix ctypes to not require execstack (#220669)
6e8c2f
6e8c2f
* Fri Dec 15 2006 Jeremy Katz <katzj@redhat.com> - 2.5.3-6
6e8c2f
- don't link against compat-db (Robert Scheck)
6e8c2f
6e8c2f
* Wed Dec 13 2006 Jarod Wilson <jwilson@redhat.com> - 2.5.3-5
6e8c2f
- fix invalid assert in debug mode (upstream changeset 52622)
6e8c2f
6e8c2f
* Tue Dec 12 2006 Jeremy Katz <katzj@redhat.com> - 2.5.3-4
6e8c2f
- obsolete/provide python-ctypes (#219256)
6e8c2f
6e8c2f
* Mon Dec 11 2006 Jeremy Katz <katzj@redhat.com> - 2.5.3-3
6e8c2f
- fix atexit traceback with failed syslog logger (#218214)
6e8c2f
- split libpython into python-libs subpackage for multilib apps 
6e8c2f
  embedding python interpreters
6e8c2f
6e8c2f
* Wed Dec  6 2006 Jeremy Katz <katzj@redhat.com> - 2.5.3-2
6e8c2f
- disable installation of .egg-info files for now
6e8c2f
6e8c2f
* Tue Dec  5 2006 Jeremy Katz <katzj@redhat.com>
6e8c2f
- support db 4.5
6e8c2f
- obsolete python-elementtree; since it requires some code tweaks, don't 
6e8c2f
  provide it
6e8c2f
- obsolete old python-sqlite; provide the version that's actually included
6e8c2f
6e8c2f
* Mon Oct 30 2006 Jeremy Katz <katzj@redhat.com>
6e8c2f
- fix _md5 and _sha modules (Robert Sheck)
6e8c2f
- no longer provide optik compat; it's been a couple of years now
6e8c2f
- no longer provide the old shm module; if this is still needed, let's 
6e8c2f
  build it separately
6e8c2f
- no longer provide japanese codecs; should be a separate package
6e8c2f
6e8c2f
* Mon Oct 23 2006 Jeremy Katz <katzj@redhat.com> - 2.5-0
6e8c2f
- update to 2.5.0 final
6e8c2f
6e8c2f
* Fri Aug 18 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.99.c1
6e8c2f
- Updated to 2.5c1. Merged fixes from FC6 too:
6e8c2f
- Fixed bug #199373 (on some platforms CFLAGS is needed when linking)
6e8c2f
- Fixed bug #198971 (case conversion not locale safe in logging library)
6e8c2f
- Verified bug #201434 (distutils.sysconfig is confused by the change to make
6e8c2f
  python-devel multilib friendly) is fixed upstream
6e8c2f
6e8c2f
* Sun Jul 16 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.99.b2
6e8c2f
- Updated to 2.5b2 (which for comparison reasons is re-labeled 2.4.99.b2)
6e8c2f
6e8c2f
* Fri Jun 23 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.99.b1
6e8c2f
- Updated to 2.5b1 (which for comparison reasons is re-labeled 2.4.99.b1)
6e8c2f
6e8c2f
* Tue Jun 13 2006 Jeremy Katz <katzj@redhat.com> - 2.4.3-11.FC6
6e8c2f
- and fix it for real
6e8c2f
6e8c2f
* Tue Jun 13 2006 Jeremy Katz <katzj@redhat.com> - 2.4.3-10.FC6
6e8c2f
- fix python-devel on ia64
6e8c2f
6e8c2f
* Tue Jun 13 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-9
6e8c2f
- Fixed python-devel to be multilib friendly (bug #192747, #139911)
6e8c2f
6e8c2f
* Tue Jun 13 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-8
6e8c2f
- Only copying mkhowto from the Docs - we don't need perl dependencies from
6e8c2f
  python-tools.
6e8c2f
6e8c2f
* Mon Jun 12 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-7
6e8c2f
- Fixed bug #121198 (webbrowser.py should use the user's preferences first)
6e8c2f
6e8c2f
* Mon Jun 12 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-6
6e8c2f
- Fixed bug #192592 (too aggressive assertion fails) - SF#1257960
6e8c2f
- Fixed bug #167468 (Doc/tools not included) - added in the python-tools package
6e8c2f
6e8c2f
* Thu Jun  8 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-5
6e8c2f
- Fixed bug #193484 (added pydoc in the main package)
6e8c2f
6e8c2f
* Mon Jun  5 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-4
6e8c2f
- Added dist in the release
6e8c2f
6e8c2f
* Mon May 15 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-3
6e8c2f
- rebuilt to fix broken libX11 dependency
6e8c2f
6e8c2f
* Wed Apr 12 2006 Jeremy Katz <katzj@redhat.com> - 2.4.3-2
6e8c2f
- rebuild with new gcc to fix #188649
6e8c2f
6e8c2f
* Thu Apr  6 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-1
6e8c2f
- Updated to 2.4.3
6e8c2f
6e8c2f
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.4.2-3.2.1
6e8c2f
- bump again for double-long bug on ppc(64)
6e8c2f
6e8c2f
* Fri Feb 10 2006 Mihai Ibanescu <misa@redhat.com> - 2.4.3-3.2
6e8c2f
- rebuilt for newer tix
6e8c2f
6e8c2f
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.4.2-3.1
6e8c2f
- rebuilt for new gcc4.1 snapshot and glibc changes
6e8c2f
6e8c2f
* Fri Jan 20 2006 Mihai Ibanescu <misa@redhat.com> 2.4.2-3
6e8c2f
- fixed #136654 for another instance of audiotest.au
6e8c2f
6e8c2f
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Sat Nov 19 2005 Bill Nottingham <notting@redhat.com> 2.4.2-2
6e8c2f
- fix build for modular X, remove X11R6 path references
6e8c2f
6e8c2f
* Tue Nov 15 2005 Mihai Ibanescu <misa@redhat.com> 2.4.2-1
6e8c2f
- Upgraded to 2.4.2
6e8c2f
- BuildRequires autoconf
6e8c2f
6e8c2f
* Wed Nov  9 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-16
6e8c2f
- Rebuilding against newer openssl.
6e8c2f
- XFree86-devel no longer exists
6e8c2f
6e8c2f
* Mon Sep 26 2005 Peter Jones <pjones@redhat.com> 2.4.1-14
6e8c2f
- Once more -- this time, to fix -EPERM when you run it in a directory
6e8c2f
  you can't read from.
6e8c2f
6e8c2f
* Mon Sep 26 2005 Peter Jones <pjones@redhat.com> 2.4.1-13
6e8c2f
- So, 5 or 6 people have said it works for them with this patch...
6e8c2f
6e8c2f
* Sun Sep 25 2005 Peter Jones <pjones@redhat.com> 2.4.1-12
6e8c2f
- Fixed bug #169159 (check for argc>0 and argv[0] == NULL, not just
6e8c2f
    argv[0][0]='\0')
6e8c2f
  Reworked the patch from -8 a bit more.
6e8c2f
6e8c2f
* Fri Sep 23 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-10
6e8c2f
- Fixed bug #169159 (don't let python core dump if no arguments are passed in)
6e8c2f
  Reworked the patch from -8 a bit more.
6e8c2f
6e8c2f
* Thu Sep 22 2005 Peter Jones <pjones@redhat.com> 2.4.1-8
6e8c2f
- Fix bug #169046 more correctly.
6e8c2f
6e8c2f
* Thu Sep 22 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-7
6e8c2f
- Fixed bug #169046 (realpath is unsafe); thanks to 
6e8c2f
  Peter Jones <pjones@redhat.com> and Arjan van de Ven <arjanv@redhat.com> for
6e8c2f
  diagnosing and the patch.
6e8c2f
6e8c2f
* Tue Sep 20 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-4
6e8c2f
- Fixed bug #168655 (fixes for building as python24)
6e8c2f
6e8c2f
* Tue Jul 26 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-3
6e8c2f
- Fixed bug #163435 (pynche doesn't start))
6e8c2f
6e8c2f
* Wed Apr 20 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-2
6e8c2f
- Fixed bug #143667 (python should own /usr/lib/python* on 64-bit systems, for
6e8c2f
  noarch packages)
6e8c2f
- Fixed bug #143419 (BuildRequires db4 is not versioned)
6e8c2f
6e8c2f
* Wed Apr  6 2005 Mihai Ibanescu <misa@redhat.com> 2.4.1-1
6e8c2f
- updated to 2.4.1
6e8c2f
6e8c2f
* Mon Mar 14 2005 Mihai Ibanescu <misa@redhat.com> 2.4-6
6e8c2f
- building the docs from a different source rpm, to decouple bootstrapping
6e8c2f
  python from having tetex installed
6e8c2f
6e8c2f
* Fri Mar 11 2005 Dan Williams <dcbw@redhat.com> 2.4-5
6e8c2f
- Rebuild to pick up new libssl.so.5
6e8c2f
6e8c2f
* Wed Feb  2 2005 Mihai Ibanescu <misa@redhat.com> 2.4-4
6e8c2f
- Fixed security issue in SimpleXMLRPCServer.py (#146647)
6e8c2f
6e8c2f
* Wed Jan 12 2005 Tim Waugh <twaugh@redhat.com> 2.4-3
6e8c2f
- Rebuilt for new readline.
6e8c2f
6e8c2f
* Mon Dec  6 2004 Jeff Johnson <jbj@jbj.org> 2.4-2
6e8c2f
- db-4.3.21 returns DB_BUFFER_SMALL rather than ENOMEM (#141994).
6e8c2f
- add Provide: python(abi) = 2.4
6e8c2f
- include msgfmt/pygettext *.pyc and *.pyo from brp-python-bytecompile.
6e8c2f
6e8c2f
* Fri Dec  3 2004 Mihai Ibanescu <misa@redhat.com> 2.4-1
6e8c2f
- Python-2.4.tar.bz2 (final)
6e8c2f
6e8c2f
* Fri Nov 19 2004 Mihai Ibanescu <misa@redhat.com> 2.4-0.c1.1
6e8c2f
- Python-2.4c1.tar.bz2 (release candidate 1)
6e8c2f
6e8c2f
* Thu Nov 11 2004 Jeff Johnson <jbj@jbj.org> 2.4-0.b2.4
6e8c2f
- rebuild against db-4.3.21.
6e8c2f
6e8c2f
* Mon Nov  8 2004 Jeremy Katz <katzj@redhat.com> - 2.4-0.b2.3
6e8c2f
- fix the lib64 patch so that 64bit arches still look in /usr/lib/python...
6e8c2f
6e8c2f
* Mon Nov  8 2004 Jeremy Katz <katzj@redhat.com> - 2.4-0.b2.2
6e8c2f
- cryptmodule still needs -lcrypt (again)
6e8c2f
6e8c2f
* Thu Nov  4 2004 Mihai Ibanescu <misa@redhat.com> 2.4-0.b2.1
6e8c2f
- Updated to python 2.4b2 (and labeled it 2.4-0.b2.1 to avoid breaking rpm's
6e8c2f
  version comparison)
6e8c2f
6e8c2f
* Thu Nov  4 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-13
6e8c2f
- Fixed bug #138112 (python overflows stack buffer) - SF bug 105470
6e8c2f
6e8c2f
* Tue Nov  2 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-12
6e8c2f
- Fixed bugs #131439 #136023 #137863 (.pyc/.pyo files had the buildroot added)
6e8c2f
6e8c2f
* Tue Oct 26 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-11
6e8c2f
- Fixed bug #136654 (python has sketchy audio clip)
6e8c2f
6e8c2f
* Tue Aug 31 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-10
6e8c2f
- Fixed bug #77418 (Demo dir not packaged)
6e8c2f
- More tweaking on #19347 (Moved Tools/ under /usr/lib/python2.3/Tools)
6e8c2f
6e8c2f
* Fri Aug 13 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-8
6e8c2f
- Fixed bug #129769: Makefile in new python conflicts with older version found
6e8c2f
  in old python-devel
6e8c2f
- Reorganized the spec file to get rid of the aspython2 define; __python_ver
6e8c2f
  is more powerful.
6e8c2f
6e8c2f
* Tue Aug  3 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-7
6e8c2f
- Including html documentation for non-i386 arches
6e8c2f
- Fixed #125362 (python-doc html files have japanese character encoding)
6e8c2f
- Fixed #128923 (missing dependency between python and python-devel)
6e8c2f
6e8c2f
* Fri Jul 30 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-6
6e8c2f
- Fixed #128030 (help() not printing anything)
6e8c2f
- Fixed #125472 (distutils.sysconfig.get_python_lib() not returning the right
6e8c2f
  path on 64-bit systems)
6e8c2f
- Fixed #127357 (building python as a shared library)
6e8c2f
- Fixed  #19347 (including the contents of Tools/scripts/ in python-tools)
6e8c2f
6e8c2f
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Tue Jun  8 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-3
6e8c2f
- Added an optik.py that provides the same interface from optparse for
6e8c2f
  backward compatibility; obsoleting python-optik
6e8c2f
6e8c2f
* Mon Jun  7 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-2
6e8c2f
- Patched bdist_rpm to allow for builds of multiple binary rpms (bug #123598)
6e8c2f
6e8c2f
* Fri Jun  4 2004 Mihai Ibanescu <misa@redhat.com> 2.3.4-1
6e8c2f
- Updated to 2.3.4-1 with Robert Scheck's help (bug #124764)
6e8c2f
- Added BuildRequires: tix-devel (bug #124918)
6e8c2f
6e8c2f
* Fri May  7 2004 Mihai Ibanescu <misa@redhat.com> 2.3.3-6
6e8c2f
- Correct fix for #122304 from upstream:
6e8c2f
  http://sourceforge.net/tracker/?func=detail&atid=105470&aid=931848&group_id=5470
6e8c2f
6e8c2f
* Thu May  6 2004 Mihai Ibanescu <misa@redhat.com> 2.3.3-4
6e8c2f
- Fix for bug #122304 : splitting the domain name fails on 64-bit arches
6e8c2f
- Fix for bug #120879 : including Makefile into the main package
6e8c2f
6e8c2f
- Requires XFree86-devel instead of -libs (see bug #118442)
6e8c2f
6e8c2f
* Tue Mar 16 2004 Mihai Ibanescu <misa@redhat.com> 2.3.3-3
6e8c2f
- Requires XFree86-devel instead of -libs (see bug #118442)
6e8c2f
6e8c2f
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Fri Dec 19 2003 Jeff Johnson <jbj@jbj.org> 2.3.3-1
6e8c2f
- upgrade to 2.3.3.
6e8c2f
6e8c2f
* Sat Dec 13 2003 Jeff Johnson <jbj@jbj.org> 2.3.2-9
6e8c2f
- rebuild against db-4.2.52.
6e8c2f
6e8c2f
* Fri Dec 12 2003 Jeremy Katz <katzj@redhat.com> 2.3.2-8
6e8c2f
- more rebuilding for new tcl/tk
6e8c2f
6e8c2f
* Wed Dec  3 2003 Jeff Johnson <jbj@jbj.org> 2.3.2-7.1
6e8c2f
- rebuild against db-4.2.42.
6e8c2f
6e8c2f
* Fri Nov 28 2003 Mihai Ibanescu <misa@redhat.com> 2.3.2-7
6e8c2f
- rebuilt against newer tcl/tk
6e8c2f
6e8c2f
* Mon Nov 24 2003 Mihai Ibanescu <misa@redhat.com> 2.3.2-6
6e8c2f
- added a Provides: python-abi
6e8c2f
6e8c2f
* Wed Nov 12 2003 Mihai Ibanescu <misa@redhat.com> 2.3.2-5
6e8c2f
- force CC (#109268)
6e8c2f
6e8c2f
* Sun Nov  9 2003 Jeremy Katz <katzj@redhat.com> 2.3.2-4
6e8c2f
- cryptmodule still needs -lcrypt
6e8c2f
6e8c2f
* Wed Nov  5 2003 Mihai Ibanescu <misa@redhat.com> 2.3.2-2
6e8c2f
- Added patch for missing mkhowto
6e8c2f
6e8c2f
* Thu Oct 16 2003 Mihai Ibanescu <misa@redhat.com> 2.3.2-1
6e8c2f
- Updated to 2.3.2
6e8c2f
6e8c2f
* Thu Sep 25 2003 Mihai Ibanescu <misa@redhat.com> 2.3.1-1
6e8c2f
- 2.3.1 final
6e8c2f
6e8c2f
* Tue Sep 23 2003 Mihai Ibanescu <misa@redhat.com> 2.3.1-0.8.RC1
6e8c2f
- Building the python 2.3.1 release candidate
6e8c2f
- Updated the lib64 patch
6e8c2f
6e8c2f
* Wed Jul 30 2003 Mihai Ibanescu <misa@redhat.com> 2.3-0.2
6e8c2f
- Building python 2.3
6e8c2f
- Added more BuildRequires
6e8c2f
- Updated the startup files for modulator and pynche; idle installs its own
6e8c2f
  now.
6e8c2f
6e8c2f
* Thu Jul  3 2003 Mihai Ibanescu <misa@redhat.com> 2.2.3-4
6e8c2f
- Rebuilt against newer db4 packages (bug #98539)
6e8c2f
6e8c2f
* Mon Jun 9 2003 Elliot Lee <sopwith@redhat.com> 2.2.3-3
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Sat Jun  7 2003 Mihai Ibanescu <misa@redhat.com> 2.2.3-2
6e8c2f
- Rebuilt
6e8c2f
6e8c2f
* Fri Jun  6 2003 Mihai Ibanescu <misa@redhat.com> 2.2.3-1
6e8c2f
- Upgraded to 2.2.3
6e8c2f
6e8c2f
* Wed Apr  2 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-28
6e8c2f
- Rebuilt
6e8c2f
6e8c2f
* Wed Apr  2 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-27
6e8c2f
- Modified the ftpuri patch conforming to http://ietf.org/rfc/rfc1738.txt
6e8c2f
6e8c2f
* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Mon Feb 24 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-25
6e8c2f
- Fixed bug #84886: pydoc dies when run w/o arguments
6e8c2f
- Fixed bug #84205: add python shm module back (used to be shipped with 1.5.2)
6e8c2f
- Fixed bug #84966: path in byte-compiled code still wrong
6e8c2f
6e8c2f
* Thu Feb 20 2003 Jeremy Katz <katzj@redhat.com> 2.2.2-23
6e8c2f
- ftp uri's should be able to specify being rooted at the root instead of 
6e8c2f
  where you login via ftp (#84692)
6e8c2f
6e8c2f
* Mon Feb 10 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-22
6e8c2f
- Using newer Japanese codecs (1.4.9). Thanks to 
6e8c2f
  Peter Bowen <pzb@datastacks.com> for pointing this out.
6e8c2f
6e8c2f
* Thu Feb  6 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-21
6e8c2f
- Rebuild
6e8c2f
6e8c2f
* Wed Feb  5 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-20
6e8c2f
- Release number bumped really high: turning on UCS4 (ABI compatibility
6e8c2f
  breakage)
6e8c2f
6e8c2f
* Fri Jan 31 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-13
6e8c2f
- Attempt to look both in /usr/lib64 and /usr/lib/python2.2/site-packages/:
6e8c2f
  some work on python-2.2.2-lib64.patch
6e8c2f
6e8c2f
* Thu Jan 30 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-12
6e8c2f
- Rebuild to incorporate the removal of .lib64 and - files.
6e8c2f
6e8c2f
* Thu Jan 30 2003 Mihai Ibanescu <misa@redhat.com> 2.2.2-11.7.3
6e8c2f
- Fixed bug #82544: Errata removes most tools
6e8c2f
- Fixed bug #82435: Python 2.2.2 errata breaks redhat-config-users
6e8c2f
- Removed .lib64 and - files that get installed after we fix the multilib
6e8c2f
  .py files.
6e8c2f
6e8c2f
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
6e8c2f
- rebuilt
6e8c2f
6e8c2f
* Wed Jan 15 2003 Jens Petersen <petersen@redhat.com> 2.2.2-10
6e8c2f
- rebuild to update tkinter's tcltk deps
6e8c2f
- convert changelog to utf-8
6e8c2f
6e8c2f
* Tue Jan  7 2003 Nalin Dahyabhai <nalin@redhat.com> 2.2.2-9
6e8c2f
- rebuild
6e8c2f
6e8c2f
* Fri Jan  3 2003 Nalin Dahyabhai <nalin@redhat.com>
6e8c2f
- pick up OpenSSL cflags and ldflags from pkgconfig if available
6e8c2f
6e8c2f
* Thu Jan  2 2003 Jeremy Katz <katzj@redhat.com> 2.2.2-8
6e8c2f
- urllib2 didn't support non-anonymous ftp.  add support based on how 
6e8c2f
  urllib did it (#80676, #78168)
6e8c2f
6e8c2f
* Mon Dec 16 2002 Mihai Ibanescu <misa@redhat.com> 2.2.2-7
6e8c2f
- Fix bug #79647 (Rebuild of SRPM fails if python isn't installed)
6e8c2f
- Added a bunch of missing BuildRequires found while fixing the
6e8c2f
  above-mentioned bug
6e8c2f
6e8c2f
* Tue Dec 10 2002 Tim Powers <timp@redhat.com> 2.2.2-6
6e8c2f
- rebuild to fix broken tcltk deps for tkinter
6e8c2f
6e8c2f
* Fri Nov 22 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
2.2.2-3.7.3
6e8c2f
- Recompiled for 7.3 (to fix the -lcrypt bug)
6e8c2f
- Fix for the spurious error message at the end of the build (build-requires
6e8c2f
  gets confused by executable files starting with """"): make the tests
6e8c2f
  non-executable.
6e8c2f
6e8c2f
* Wed Nov 20 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
2.2.2-5
6e8c2f
- Fixed configuration patch to add -lcrypt when compiling cryptmodule.c
6e8c2f
6e8c2f
2.2.2-4
6e8c2f
- Spec file change from Matt Wilson <msw@redhat.com> to disable linking 
6e8c2f
  with the C++ compiler.
6e8c2f
6e8c2f
* Mon Nov 11 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
2.2.2-3.*
6e8c2f
- Merged patch from Karsten Hopp <karsten@redhat.de> from 2.2.1-17hammer to
6e8c2f
  use %%{_libdir}
6e8c2f
- Added XFree86-libs as BuildRequires (because of tkinter)
6e8c2f
- Fixed duplicate listing of plat-linux2
6e8c2f
- Fixed exclusion of lib-dynload/japanese
6e8c2f
- Added lib64 patch for the japanese codecs
6e8c2f
- Use setup magic instead of using tar directly on JapaneseCodecs
6e8c2f
6e8c2f
* Tue Nov  5 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
2.2.2-2
6e8c2f
- Fix #76912 (python-tools contains idle, which uses tkinter, but there is no
6e8c2f
  requirement of tkinter from python-tools).
6e8c2f
- Fix #74013 (rpm is missing the /usr/lib/python2.2/test directory)
6e8c2f
6e8c2f
* Mon Nov  4 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
- builds as python2 require a different libdb
6e8c2f
- changed the buildroot name of python to match python2 builds
6e8c2f
6e8c2f
* Fri Nov  1 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
- updated python to 2.2.2 and adjusted the patches accordingly
6e8c2f
6e8c2f
* Mon Oct 21 2002 Mihai Ibanescu <misa@redhat.com>
6e8c2f
- Fix #53930 (Python-2.2.1-buildroot-bytecode.patch)
6e8c2f
- Added BuildPrereq dependency on gcc-c++
6e8c2f
6e8c2f
* Fri Aug 30 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-17
6e8c2f
- security fix for _execvpe
6e8c2f
6e8c2f
* Tue Aug 13 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-16
6e8c2f
- Fix  #71011,#71134, #58157
6e8c2f
6e8c2f
* Wed Aug  7 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-15
6e8c2f
- Resurrect tkinter
6e8c2f
- Fix for distutils (#67671)
6e8c2f
- Fix #69962
6e8c2f
6e8c2f
* Thu Jul 25 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-14
6e8c2f
- Obsolete tkinter/tkinter2 (#69838)
6e8c2f
6e8c2f
* Tue Jul 23 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-13
6e8c2f
- Doc fixes (#53951) - not on alpha at the momemt
6e8c2f
6e8c2f
* Mon Jul  8 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-12
6e8c2f
- fix pydoc (#68082)
6e8c2f
6e8c2f
* Mon Jul  8 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-11
6e8c2f
- Add db4-devel as a BuildPrereq
6e8c2f
6e8c2f
* Fri Jun 21 2002 Tim Powers <timp@redhat.com> 2.2.1-10
6e8c2f
- automated rebuild
6e8c2f
6e8c2f
* Mon Jun 17 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-9
6e8c2f
- Add Japanese codecs (#66352)
6e8c2f
6e8c2f
* Tue Jun 11 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-8
6e8c2f
- No more tkinter...
6e8c2f
6e8c2f
* Wed May 29 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-7
6e8c2f
- Rebuild
6e8c2f
6e8c2f
* Tue May 21 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-6
6e8c2f
- Add the email subcomponent (#65301)
6e8c2f
6e8c2f
* Fri May 10 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-5
6e8c2f
- Rebuild
6e8c2f
6e8c2f
* Thu May 02 2002 Than Ngo <than@redhat.com> 2.2.1-4
6e8c2f
- rebuild i new enviroment
6e8c2f
6e8c2f
* Tue Apr 23 2002 Trond Eivind Glomsrød <teg@redhat.com>
6e8c2f
- Use ucs2, not ucs4, to avoid breaking tkinter (#63965)
6e8c2f
6e8c2f
* Mon Apr 22 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-2
6e8c2f
- Make it use db4
6e8c2f
6e8c2f
* Fri Apr 12 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2.1-1
6e8c2f
- 2.2.1 - a bugfix-only release
6e8c2f
6e8c2f
* Fri Apr 12 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-16
6e8c2f
- the same, but in builddirs - this will remove them from the 
6e8c2f
  docs package, which doesn't look in the buildroot for files.
6e8c2f
6e8c2f
* Fri Apr 12 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-15
6e8c2f
- Get rid of temporary files and .cvsignores included 
6e8c2f
  in the tarball and make install
6e8c2f
6e8c2f
* Fri Apr  5 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-14
6e8c2f
- Don't own lib-tk in main package, only in tkinter (#62753)
6e8c2f
6e8c2f
* Mon Mar 25 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-13
6e8c2f
- rebuild
6e8c2f
6e8c2f
* Mon Mar 25 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-12
6e8c2f
- rebuild
6e8c2f
6e8c2f
* Fri Mar  1 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-11
6e8c2f
- Add a not to the Distutils obsoletes test (doh!)
6e8c2f
6e8c2f
* Fri Mar  1 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-10
6e8c2f
- Rebuild
6e8c2f
6e8c2f
* Mon Feb 25 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-9
6e8c2f
- Only obsolete Distutils when built as python
6e8c2f
6e8c2f
* Thu Feb 21 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-8
6e8c2f
- Make files in /usr/bin install side by side with python 1.5 when
6e8c2f
- Drop explicit requirement of db4
6e8c2f
  built as python2
6e8c2f
6e8c2f
* Thu Jan 31 2002 Elliot Lee <sopwith@redhat.com> 2.2-7
6e8c2f
- Use version and pybasever macros to make updating easy
6e8c2f
- Use _smp_mflags macro
6e8c2f
6e8c2f
* Tue Jan 29 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-6
6e8c2f
- Add db4-devel to BuildPrereq
6e8c2f
6e8c2f
* Fri Jan 25 2002 Nalin Dahyabhai <nalin@redhat.com> 2.2-5
6e8c2f
- disable ndbm support, which is db2 in disguise (really interesting things
6e8c2f
  can happen when you mix db2 and db4 in a single application)
6e8c2f
6e8c2f
* Thu Jan 24 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-4
6e8c2f
- Obsolete subpackages if necesarry 
6e8c2f
- provide versioned python2
6e8c2f
- build with db4
6e8c2f
6e8c2f
* Wed Jan 16 2002 Trond Eivind Glomsrød <teg@redhat.com> 2.2-3
6e8c2f
- Alpha toolchain broken. Disable build on alpha.
6e8c2f
- New openssl
6e8c2f
6e8c2f
* Wed Dec 26 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-1
6e8c2f
- 2.2 final
6e8c2f
6e8c2f
* Fri Dec 14 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.11c1
6e8c2f
- 2.2 RC 1
6e8c2f
- Don't include the _tkinter module in the main package - it's 
6e8c2f
  already in the tkiter packace
6e8c2f
- Turn off the mpzmodule, something broke in the buildroot
6e8c2f
6e8c2f
* Wed Nov 28 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.10b2
6e8c2f
- Use -fPIC for OPT as well, in lack of a proper libpython.so
6e8c2f
6e8c2f
* Mon Nov 26 2001 Matt Wilson <msw@redhat.com> 2.2-0.9b2
6e8c2f
- changed DESTDIR to point to / so that distutils will install dynload
6e8c2f
  modules properly in the installroot
6e8c2f
6e8c2f
* Fri Nov 16 2001 Matt Wilson <msw@redhat.com> 2.2-0.8b2
6e8c2f
- 2.2b2
6e8c2f
6e8c2f
* Fri Oct 26 2001 Matt Wilson <msw@redhat.com> 2.2-0.7b1
6e8c2f
- python2ify
6e8c2f
6e8c2f
* Fri Oct 19 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.5b1
6e8c2f
- 2.2b1
6e8c2f
6e8c2f
* Sun Sep 30 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.4a4
6e8c2f
- 2.2a4
6e8c2f
- Enable UCS4 support
6e8c2f
- Enable IPv6
6e8c2f
- Provide distutils
6e8c2f
- Include msgfmt.py and pygettext.py
6e8c2f
6e8c2f
* Fri Sep 14 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.3a3
6e8c2f
- Obsolete Distutils, which is now part of the main package
6e8c2f
- Obsolete python2
6e8c2f
6e8c2f
* Thu Sep 13 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.2a3
6e8c2f
- Add docs, tools and tkinter subpackages, to match the 1.5 layout
6e8c2f
6e8c2f
* Wed Sep 12 2001 Trond Eivind Glomsrød <teg@redhat.com> 2.2-0.1a3
6e8c2f
- 2.2a3
6e8c2f
- don't build tix and blt extensions
6e8c2f
6e8c2f
* Mon Aug 13 2001 Trond Eivind Glomsrød <teg@redhat.com>
6e8c2f
- Add tk and tix to build dependencies
6e8c2f
6e8c2f
* Sat Jul 21 2001 Trond Eivind Glomsrød <teg@redhat.com>
6e8c2f
- 2.1.1 bugfix release - with a GPL compatible license
6e8c2f
6e8c2f
* Fri Jul 20 2001 Trond Eivind Glomsrød <teg@redhat.com>
6e8c2f
- Add new build dependencies (#49753)
6e8c2f
6e8c2f
* Tue Jun 26 2001 Nalin Dahyabhai <nalin@redhat.com>
6e8c2f
- build with -fPIC
6e8c2f
6e8c2f
* Fri Jun  1 2001 Trond Eivind Glomsrød <teg@redhat.com>
6e8c2f
- 2.1
6e8c2f
- reorganization of file includes
6e8c2f
6e8c2f
* Wed Dec 20 2000 Trond Eivind Glomsrød <teg@redhat.com>
6e8c2f
- fix the "requires" clause, it lacked a space causing problems
6e8c2f
- use %%{_tmppath}
6e8c2f
- don't define name, version etc
6e8c2f
- add the available patches from the Python home page
6e8c2f
6e8c2f
* Fri Dec 15 2000 Matt Wilson <msw@redhat.com>
6e8c2f
- added devel subpackage
6e8c2f
6e8c2f
* Fri Dec 15 2000 Matt Wilson <msw@redhat.com>
6e8c2f
- modify all files to use "python2.0" as the intrepter
6e8c2f
- don't build the Expat bindings
6e8c2f
- build against db1
6e8c2f
6e8c2f
* Mon Oct 16 2000 Jeremy Hylton <jeremy@beopen.com>
6e8c2f
- updated for 2.0 final
6e8c2f
6e8c2f
* Mon Oct  9 2000 Jeremy Hylton <jeremy@beopen.com>
6e8c2f
- updated for 2.0c1
6e8c2f
- build audioop, imageop, and rgbimg extension modules
6e8c2f
- include xml.parsers subpackage
6e8c2f
- add test.xml.out to files list
6e8c2f
6e8c2f
* Thu Oct  5 2000 Jeremy Hylton <jeremy@beopen.com>
6e8c2f
- added bin/python2.0 to files list (suggested by Martin v. L?)
6e8c2f
6e8c2f
* Tue Sep 26 2000 Jeremy Hylton <jeremy@beopen.com>
6e8c2f
- updated for release 1 of 2.0b2
6e8c2f
- use .bz2 version of Python source
6e8c2f
6e8c2f
* Tue Sep 12 2000 Jeremy Hylton <jeremy@beopen.com>
6e8c2f
- Version 2 of 2.0b1
6e8c2f
- Make the package relocatable.  Thanks to Suchandra Thapa.
6e8c2f
- Exclude Tkinter from main RPM.  If it is in a separate RPM, it is
6e8c2f
  easier to track Tk releases.