Barry Warsaw [Tue, 21 Feb 2012 01:42:21 +0000 (20:42 -0500)]
- Issue #13703: oCERT-2011-003: add -R command-line option and PYTHONHASHSEED
environment variable, to provide an opt-in way to protect against denial of
service attacks due to hash collisions within the dict and set types. Patch
by David Malcolm, based on work by Victor Stinner.
Ned Deily [Sun, 19 Feb 2012 01:19:12 +0000 (02:19 +0100)]
Issue #12627: Implement PEP 394 for OS X framework builds.
OS X framework builds already created versioned symlinks for all
executables and scripts installed in the framework bin directory,
of the general form ${cmd} - ${cmd}2.7. The changes here add a
hierarchy of ${cmd} -> ${cmd}2 -> ${cmd}2.7. Per previous
practice, all of the links are created in the framework bin
directory for both the install and altinstall targets. This is
consistent with the long-standing recommendation to manage multiple
framework versions by adding and ordering framework bin directories
on $PATH. Also, per past practice, symlinks to all framework bin
entries are created in $prefix/bin (by default, /usr/local/bin)
for the install target and only versioned links are created for
altinstall, although the use of these links is not recommended
for framework builds and their installation is optional with
the standard OS X installers.
Gregory P. Smith [Sun, 12 Feb 2012 23:51:21 +0000 (15:51 -0800)]
Issue #13930: Adds ability for 2to3 to write its output to a different
directory tree instead of overwriting the input files. Adds three command
line options: -o/--output-dir, -W/--write-unchanged-files and --add-suffix.
Feature backports into stable release branches for 2to3 are allowed by
a special exemption:
http://mail.python.org/pipermail/python-dev/2011-December/115089.html
Éric Araujo [Sun, 12 Feb 2012 03:41:36 +0000 (04:41 +0100)]
Fix distutils.filelist.FileList under Windows (#13193).
The code used to call os.path.join to build a regex but without escaping
the backslash, which lead to test failures on Windows. Antoine Pitrou
fixed it in 557a973709de by enhancing the code to accept both / and \,
with proper escaping, but in my opinion this goes against the distutils
feature freeze, hence this change.
Ned Deily [Sat, 11 Feb 2012 19:40:24 +0000 (20:40 +0100)]
Issue #13994: Earler partial revert of Distutils enhancements in 2.7
has left two versions of customize_compiler, the original in
distutils.sysconfig and another copy in distutils.ccompiler, with some
parts of distutils calling one and others using the other.
Complete the revert back to only having one in distutils.sysconfig as
is the case in 3.x.
Ned Deily [Fri, 10 Feb 2012 11:59:06 +0000 (12:59 +0100)]
Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, building
Distutils-based packages with C extension modules may fail because
Apple has removed gcc-4.2, the version used to build python.org
64-bit/32-bit Pythons. If the user does not explicitly override
the default C compiler by setting the CC environment variable,
Distutils will now attempt to compile extension modules with clang
if gcc-4.2 is required but not found. Also as a convenience, if
the user does explicitly set CC, substitute its value as the default
compiler in the Distutils LDSHARED configuration variable for OS X.
(Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4u
SDK, neither of which are available in Xcode 4. This change does not
attempt to override settings to support their use with Xcode 4.)
Issue #13817: After fork(), reinit the ad-hoc TLS implementation earlier to fix
a random deadlock when fork() is called in a multithreaded process in debug
mode, and make PyOS_AfterFork() more robust.
Terry Jan Reedy [Tue, 31 Jan 2012 07:09:25 +0000 (02:09 -0500)]
#13506 Add '' to path for interactive interpreter by adding with_cwd parameter
to PyShell.PyShell.transfer_path() and changing elsewhere as needed.
Original patches by Marco Scataglini and Roger Serwy.