[issue13994] incomplete revert in 2.7 Distutils left two copies of customize_compiler
report at bugs.python.org
Sat Feb 11 17:41:56 CET 2012
New submission from Ned Deily <nad at acm.org>:
While final testing Distutils changes for Issue13590, I noticed that a few tests were failing unexpectedly on 2.7.x but passing on 3.2.x. Upon further investigation, I discovered that in 2.7 there are two copies of "customize_compiler", the function being modified in Issue13590. It appears that at one point prior to the decision to make no feature changes to Distutils, that customize_compiler was moved from distutils.sysconfig to distutils.ccompiler (fa69e891edf4). Then, when the decision was made to revert changes and proceed with a new Distutils2/packaging, feature changes were reverted in 2.7 but, for unexplained reasons, only part of the changes were reverted (ad22bc22dddc). Perhaps a clue is in the commit message:
"reverting partially distutils to its 2.6.x state so 2.7a4 looks more
like the 2.7b1 in this. the whole revert will occur after a4 is tagged "
>From the change logs, I see no evidence that the whole revert ever happened. This has left 2.7 Distutils with two virtually identical versions of customize_compiler with some commands and tests calling one and others calling the other. (In 3.2.x, the only version is in distutils.sysconfig.) They *were* virtually identically until Issue13590 changed one and missed the other.
Patch to follow which completes the revert for customize_compiler and brings 2.7.x and 3.2.2 back into sync with respect to this. This patch is needed immediately for the upcoming 2.7.3 release. I strongly urge a more complete audit for other discrepancies between the 2.7.x and 3.2.x versions of Distutils; this isn't the first time we've been burned recently by the effects of the reverts in 2.7.
nosy: benjamin.peterson, eric.araujo, ned.deily, tarek
priority: release blocker
stage: needs patch
title: incomplete revert in 2.7 Distutils left two copies of customize_compiler
versions: Python 2.7
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list