[python3] * Tue Dec 28 2010 David Malcolm <dmalcolm at redhat.com> - 3.2-0.5.b2 - 3.2b2 - rework patch 3 (removal

dmalcolm dmalcolm at fedoraproject.org
Wed Dec 29 18:29:17 UTC 2010


commit 5080ffc5d367eee28d2c2268675e98bde0dfcf1b
Author: David Malcolm <dmalcolm at redhat.com>
Date:   Wed Dec 29 13:26:29 2010 -0500

    * Tue Dec 28 2010 David Malcolm <dmalcolm at redhat.com> - 3.2-0.5.b2
    - 3.2b2
    - rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs),
    patch 8 (systemtap), patch 102 (lib64)
    - remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149),
    patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar
    fixed upstream)
    - regenerate patch 300 (autotool intermediates)
    - workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127,
    patch 128)
    - stop using runtest.sh in %%check (dropped by upstream), replacing with
    regrtest; fixup list of failing tests
    - introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros
    - rework manifests of shared libraries to use "SOABI_" macros, reflecting
    PEP 3149
    - drop itertools, operator and _collections modules from the manifests as py3k
    commit r84058 moved these inside libpython; json/tests moved to test/json_tests
    - move turtle code into the tkinter subpackage

 .gitignore                                         |    1 +
 autotool-intermediates.patch                       | 1524 +++++++++++++++++++-
 python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch        |   22 +
 ...n-3.2a1-lib64.patch => python-3.2b2-lib64.patch |  145 ++-
 ...c-lib.patch => python-3.2b2-no-static-lib.patch |   24 +-
 ...ch => python-3.2b2-remove-mimeaudio-tests.patch |   12 +-
 ...systemtap.patch => python-3.2b2-systemtap.patch |   70 +-
 python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch   |   17 +
 python-3.2b2-test_sys-COUNT_ALLOCS.patch           |   13 +
 python3.spec                                       |  553 ++++----
 sources                                            |    1 +
 11 files changed, 1913 insertions(+), 469 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 43efa0f..474e8a7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 libpython-36a517ef7848cbd0b3dcc7371f32e47ac4c87eba.tar.gz
 Python-3.1.2.tar.bz2
 Python-3.2a1.tar.bz2
+/Python-3.2b2.tar.bz2
diff --git a/autotool-intermediates.patch b/autotool-intermediates.patch
index efbf3bf..8af26e3 100644
--- a/autotool-intermediates.patch
+++ b/autotool-intermediates.patch
@@ -1,14 +1,71 @@
 diff -up ./configure.autotool-intermediates ./configure
---- ./configure.autotool-intermediates	2010-08-02 17:58:12.238002650 -0400
-+++ ./configure	2010-08-02 17:58:20.151000507 -0400
-@@ -1,5 +1,5 @@
+--- ./configure.autotool-intermediates	2010-12-28 18:47:15.206934478 -0500
++++ ./configure	2010-12-28 18:47:21.053058461 -0500
+@@ -1,14 +1,14 @@
  #! /bin/sh
--# From configure.in Revision: 82090 .
-+# From configure.in Revision: 82962 .
+ # From configure.in Revision: 87207 .
  # Guess values for system-dependent variables and create Makefiles.
- # Generated by GNU Autoconf 2.65 for python 3.2.
+-# Generated by GNU Autoconf 2.67 for python 3.2.
++# Generated by GNU Autoconf 2.65 for python 3.2.
  #
-@@ -610,6 +610,8 @@ TRUE
+ # Report bugs to <http://bugs.python.org/>.
+ #
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+-# Foundation, Inc.
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
++# Inc.
+ #
+ #
+ # This configure script is free software; the Free Software Foundation
+@@ -320,7 +320,7 @@ $as_echo X"$as_dir" |
+       test -d "$as_dir" && break
+     done
+     test -z "$as_dirs" || eval "mkdir $as_dirs"
+-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ 
+ 
+ } # as_fn_mkdir_p
+@@ -360,19 +360,19 @@ else
+ fi # as_fn_arith
+ 
+ 
+-# as_fn_error STATUS ERROR [LINENO LOG_FD]
+-# ----------------------------------------
++# as_fn_error ERROR [LINENO LOG_FD]
++# ---------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with STATUS, using 1 if that was 0.
++# script with status $?, using 1 if that was 0.
+ as_fn_error ()
+ {
+-  as_status=$1; test $as_status -eq 0 && as_status=1
+-  if test "$4"; then
+-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  as_status=$?; test $as_status -eq 0 && as_status=1
++  if test "$3"; then
++    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+   fi
+-  $as_echo "$as_me: error: $2" >&2
++  $as_echo "$as_me: error: $1" >&2
+   as_fn_exit $as_status
+ } # as_fn_error
+ 
+@@ -534,7 +534,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
+ exec 6>&1
+ 
+ # Name of the host.
+-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+ 
+@@ -611,6 +611,8 @@ TRUE
  MACHDEP_OBJS
  DYNLOADFILE
  DLINCLDIR
@@ -17,16 +74,7 @@ diff -up ./configure.autotool-intermediates ./configure
  THREADOBJ
  LDLAST
  USE_THREAD_MODULE
-@@ -630,6 +632,8 @@ OTHER_LIBTOOL_OPT
- UNIVERSAL_ARCH_FLAGS
- BASECFLAGS
- OPT
-+DEBUG_SUFFIX
-+DEBUG_EXT
- LN
- INSTALL_DATA
- INSTALL_SCRIPT
-@@ -743,8 +747,11 @@ with_thread
+@@ -748,8 +750,11 @@ with_thread
  enable_ipv6
  with_doc_strings
  with_tsc
@@ -35,10 +83,149 @@ diff -up ./configure.autotool-intermediates ./configure
  with_pymalloc
  with_valgrind
 +with_dtrace
- with_wctype_functions
  with_fpectl
  with_libm
-@@ -1414,8 +1421,11 @@ Optional Packages:
+ with_libc
+@@ -828,9 +833,8 @@ do
+   fi
+ 
+   case $ac_option in
+-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+-  *=)   ac_optarg= ;;
+-  *)    ac_optarg=yes ;;
++  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++  *)	ac_optarg=yes ;;
+   esac
+ 
+   # Accept the important Cygnus configure options, so we can diagnose typos.
+@@ -875,7 +879,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error $? "invalid feature name: $ac_useropt"
++      as_fn_error "invalid feature name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -901,7 +905,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error $? "invalid feature name: $ac_useropt"
++      as_fn_error "invalid feature name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1105,7 +1109,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error $? "invalid package name: $ac_useropt"
++      as_fn_error "invalid package name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1121,7 +1125,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error $? "invalid package name: $ac_useropt"
++      as_fn_error "invalid package name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1151,8 +1155,8 @@ do
+   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+     x_libraries=$ac_optarg ;;
+ 
+-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+-Try \`$0 --help' for more information"
++  -*) as_fn_error "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information."
+     ;;
+ 
+   *=*)
+@@ -1160,7 +1164,7 @@ Try \`$0 --help' for more information"
+     # Reject names that are not valid shell variable names.
+     case $ac_envvar in #(
+       '' | [0-9]* | *[!_$as_cr_alnum]* )
+-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
++      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+     esac
+     eval $ac_envvar=\$ac_optarg
+     export $ac_envvar ;;
+@@ -1178,13 +1182,13 @@ done
+ 
+ if test -n "$ac_prev"; then
+   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+-  as_fn_error $? "missing argument to $ac_option"
++  as_fn_error "missing argument to $ac_option"
+ fi
+ 
+ if test -n "$ac_unrecognized_opts"; then
+   case $enable_option_checking in
+     no) ;;
+-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
++    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+   esac
+ fi
+@@ -1207,7 +1211,7 @@ do
+     [\\/$]* | ?:[\\/]* )  continue;;
+     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+   esac
+-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
++  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+ done
+ 
+ # There might be people who depend on the old broken behavior: `$host'
+@@ -1221,8 +1225,8 @@ target=$target_alias
+ if test "x$host_alias" != x; then
+   if test "x$build_alias" = x; then
+     cross_compiling=maybe
+-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+-    If a cross compiler is detected then cross compile mode will be used" >&2
++    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++    If a cross compiler is detected then cross compile mode will be used." >&2
+   elif test "x$build_alias" != "x$host_alias"; then
+     cross_compiling=yes
+   fi
+@@ -1237,9 +1241,9 @@ test "$silent" = yes && exec 6>/dev/null
+ ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ ac_ls_di=`ls -di .` &&
+ ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+-  as_fn_error $? "working directory cannot be determined"
++  as_fn_error "working directory cannot be determined"
+ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+-  as_fn_error $? "pwd does not report name of working directory"
++  as_fn_error "pwd does not report name of working directory"
+ 
+ 
+ # Find the source files, if location was not specified.
+@@ -1278,11 +1282,11 @@ else
+ fi
+ if test ! -r "$srcdir/$ac_unique_file"; then
+   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
++  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+ fi
+ ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ ac_abs_confdir=`(
+-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
++	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ 	pwd)`
+ # When building in place, set srcdir=.
+ if test "$ac_abs_confdir" = "$ac_pwd"; then
+@@ -1322,7 +1326,7 @@ Configuration:
+       --help=short        display options specific to this package
+       --help=recursive    display the short help of all the included packages
+   -V, --version           display version information and exit
+-  -q, --quiet, --silent   do not print \`checking ...' messages
++  -q, --quiet, --silent   do not print \`checking...' messages
+       --cache-file=FILE   cache test results in FILE [disabled]
+   -C, --config-cache      alias for \`--cache-file=config.cache'
+   -n, --no-create         do not create output files
+@@ -1421,8 +1425,11 @@ Optional Packages:
                            deprecated; use --with(out)-threads
    --with(out)-doc-strings disable/enable documentation strings
    --with(out)-tsc         enable/disable timestamp counter profile
@@ -47,10 +234,120 @@ diff -up ./configure.autotool-intermediates ./configure
    --with(out)-pymalloc    disable/enable specialized mallocs
    --with-valgrind         Enable Valgrind support
 +  --with(out)-dtrace      disable/enable dtrace support
-   --with-wctype-functions use wctype.h functions
    --with-fpectl           enable SIGFPE catching
    --with-libm=STRING      math library
-@@ -1929,11 +1939,11 @@ else
+   --with-libc=STRING      C library
+@@ -1508,9 +1515,9 @@ test -n "$ac_init_help" && exit $ac_stat
+ if $ac_init_version; then
+   cat <<\_ACEOF
+ python configure 3.2
+-generated by GNU Autoconf 2.67
++generated by GNU Autoconf 2.65
+ 
+-Copyright (C) 2010 Free Software Foundation, Inc.
++Copyright (C) 2009 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+@@ -1580,7 +1587,7 @@ $as_echo "$ac_try_echo"; } >&5
+     mv -f conftest.er1 conftest.err
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+-  test $ac_status = 0; } > conftest.i && {
++  test $ac_status = 0; } >/dev/null && {
+ 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ 	 test ! -s conftest.err
+        }; then :
+@@ -1604,10 +1611,10 @@ fi
+ ac_fn_c_check_header_mongrel ()
+ {
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-  if eval "test \"\${$3+set}\"" = set; then :
++  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ fi
+ eval ac_res=\$$3
+@@ -1643,7 +1650,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
+ else
+   ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+ $as_echo "$ac_header_preproc" >&6; }
+ 
+@@ -1666,15 +1673,17 @@ $as_echo "$as_me: WARNING: $2: see the A
+ $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+ $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+-( $as_echo "## -------------------------------------- ##
++( cat <<\_ASBOX
++## -------------------------------------- ##
+ ## Report this to http://bugs.python.org/ ##
+-## -------------------------------------- ##"
++## -------------------------------------- ##
++_ASBOX
+      ) | sed "s/^/$as_me: WARNING:     /" >&2
+     ;;
+ esac
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   eval "$3=\$ac_header_compiler"
+@@ -1738,7 +1747,7 @@ ac_fn_c_check_header_compile ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -1815,7 +1824,7 @@ ac_fn_c_check_type ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   eval "$3=no"
+@@ -1869,7 +1878,7 @@ ac_fn_c_find_uintX_t ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
+ $as_echo_n "checking for uint$2_t... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   eval "$3=no"
+@@ -1899,7 +1908,8 @@ if ac_fn_c_try_compile "$LINENO"; then :
+ esac
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-       if eval test \"x\$"$3"\" = x"no"; then :
++       eval as_val=\$$3
++   if test "x$as_val" = x""no; then :
+ 
+ else
+   break
+@@ -1922,7 +1932,7 @@ ac_fn_c_find_intX_t ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5
+ $as_echo_n "checking for int$2_t... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   eval "$3=no"
+@@ -1933,11 +1943,11 @@ else
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  $ac_includes_default
@@ -64,7 +361,7 @@ diff -up ./configure.autotool-intermediates ./configure
  test_array [0] = 0
  
    ;
-@@ -1944,11 +1954,11 @@ if ac_fn_c_try_compile "$LINENO"; then :
+@@ -1948,11 +1958,11 @@ if ac_fn_c_try_compile "$LINENO"; then :
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  $ac_includes_default
@@ -78,50 +375,637 @@ diff -up ./configure.autotool-intermediates ./configure
  		 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))];
  test_array [0] = 0
  
-@@ -4672,7 +4682,7 @@ esac
- $as_echo_n "checking LIBRARY... " >&6; }
- if test -z "$LIBRARY"
+@@ -1973,7 +1983,8 @@ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-       if eval test \"x\$"$3"\" = x"no"; then :
++       eval as_val=\$$3
++   if test "x$as_val" = x""no; then :
+ 
+ else
+   break
+@@ -2173,7 +2184,7 @@ ac_fn_c_check_func ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -2241,7 +2252,7 @@ ac_fn_c_check_member ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
+ $as_echo_n "checking for $2.$3... " >&6; }
+-if eval "test \"\${$4+set}\"" = set; then :
++if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -2289,18 +2300,15 @@ $as_echo "$ac_res" >&6; }
+ 
+ } # ac_fn_c_check_member
+ 
+-# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+-# ---------------------------------------------
+-# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+-# accordingly.
++# ac_fn_c_check_decl LINENO SYMBOL VAR
++# ------------------------------------
++# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+ ac_fn_c_check_decl ()
+ {
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-  as_decl_name=`echo $2|sed 's/ *(.*//'`
+-  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+-if eval "test \"\${$3+set}\"" = set; then :
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
++$as_echo_n "checking whether $2 is declared... " >&6; }
++if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -2309,12 +2317,8 @@ $4
+ int
+ main ()
+ {
+-#ifndef $as_decl_name
+-#ifdef __cplusplus
+-  (void) $as_decl_use;
+-#else
+-  (void) $as_decl_name;
+-#endif
++#ifndef $2
++  (void) $2;
+ #endif
+ 
+   ;
+@@ -2339,7 +2343,7 @@ This file contains any messages produced
+ running configure, to aid debugging if configure makes a mistake.
+ 
+ It was created by python $as_me 3.2, which was
+-generated by GNU Autoconf 2.67.  Invocation command line was
++generated by GNU Autoconf 2.65.  Invocation command line was
+ 
+   $ $0 $@
+ 
+@@ -2449,9 +2453,11 @@ trap 'exit_status=$?
+   {
+     echo
+ 
+-    $as_echo "## ---------------- ##
++    cat <<\_ASBOX
++## ---------------- ##
+ ## Cache variables. ##
+-## ---------------- ##"
++## ---------------- ##
++_ASBOX
+     echo
+     # The following way of writing the cache mishandles newlines in values,
+ (
+@@ -2485,9 +2491,11 @@ $as_echo "$as_me: WARNING: cache variabl
+ )
+     echo
+ 
+-    $as_echo "## ----------------- ##
++    cat <<\_ASBOX
++## ----------------- ##
+ ## Output variables. ##
+-## ----------------- ##"
++## ----------------- ##
++_ASBOX
+     echo
+     for ac_var in $ac_subst_vars
+     do
+@@ -2500,9 +2508,11 @@ $as_echo "$as_me: WARNING: cache variabl
+     echo
+ 
+     if test -n "$ac_subst_files"; then
+-      $as_echo "## ------------------- ##
++      cat <<\_ASBOX
++## ------------------- ##
+ ## File substitutions. ##
+-## ------------------- ##"
++## ------------------- ##
++_ASBOX
+       echo
+       for ac_var in $ac_subst_files
+       do
+@@ -2516,9 +2526,11 @@ $as_echo "$as_me: WARNING: cache variabl
+     fi
+ 
+     if test -s confdefs.h; then
+-      $as_echo "## ----------- ##
++      cat <<\_ASBOX
++## ----------- ##
+ ## confdefs.h. ##
+-## ----------- ##"
++## ----------- ##
++_ASBOX
+       echo
+       cat confdefs.h
+       echo
+@@ -2573,12 +2585,7 @@ _ACEOF
+ ac_site_file1=NONE
+ ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+-  # We do not want a PATH search for config.site.
+-  case $CONFIG_SITE in #((
+-    -*)  ac_site_file1=./$CONFIG_SITE;;
+-    */*) ac_site_file1=$CONFIG_SITE;;
+-    *)   ac_site_file1=./$CONFIG_SITE;;
+-  esac
++  ac_site_file1=$CONFIG_SITE
+ elif test "x$prefix" != xNONE; then
+   ac_site_file1=$prefix/share/config.site
+   ac_site_file2=$prefix/etc/config.site
+@@ -2593,11 +2600,7 @@ do
+     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
+     sed 's/^/| /' "$ac_site_file" >&5
+-    . "$ac_site_file" \
+-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "failed to load site script $ac_site_file
+-See \`config.log' for more details" "$LINENO" 5 ; }
++    . "$ac_site_file"
+   fi
+ done
+ 
+@@ -2673,7 +2676,7 @@ if $ac_cache_corrupted; then
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+ $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
++  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ fi
+ ## -------------------- ##
+ ## Main body of script. ##
+@@ -2774,7 +2777,7 @@ if test "${enable_universalsdk+set}" = s
+ 		UNIVERSALSDK=$enableval
+ 		if test ! -d "${UNIVERSALSDK}"
+ 		then
+-			as_fn_error $? "--enable-universalsdk specifies non-existing SDK: ${UNIVERSALSDK}" "$LINENO" 5
++			as_fn_error "--enable-universalsdk specifies non-existing SDK: ${UNIVERSALSDK}" "$LINENO" 5
+ 		fi
+ 		;;
+ 	esac
+@@ -3166,7 +3169,7 @@ $as_echo "$without_gcc" >&6; }
+ # If the user switches compilers, we can't believe the cache
+ if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"
  then
--	LIBRARY='libpython$(VERSION).a'
-+	LIBRARY='libpython$(VERSION)$(DEBUG_EXT).a'
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBRARY" >&5
- $as_echo "$LIBRARY" >&6; }
-@@ -4843,8 +4853,8 @@ $as_echo "#define Py_ENABLE_SHARED 1" >>
- 	  INSTSONAME="$LDLIBRARY".$SOVERSION
-           ;;
-     Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*)
--	  LDLIBRARY='libpython$(VERSION).so'
--	  BLDLIBRARY='-L. -lpython$(VERSION)'
-+	  LDLIBRARY='libpython$(VERSION)$(DEBUG_EXT).so'
-+	  BLDLIBRARY='-L. -lpython$(VERSION)$(DEBUG_EXT)'
- 	  RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
- 	  case $ac_sys_system in
- 	      FreeBSD*)
-@@ -5237,6 +5247,14 @@ $as_echo "no" >&6; }
- fi
- 
- 
-+if test "$Py_DEBUG" = 'true'
-+then
-+	DEBUG_EXT=_d
-+	DEBUG_SUFFIX=-debug
-+fi
-+
-+
-+
- # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
- # merged with this chunk of code?
+-  as_fn_error $? "cached CC is different -- throw away $cache_file
++  as_fn_error "cached CC is different -- throw away $cache_file
+ (it is also a good idea to do 'make clean' before compiling)" "$LINENO" 5
+ fi
  
-@@ -8160,6 +8178,7 @@ fi
- $as_echo "$with_system_expat" >&6; }
+@@ -3476,8 +3479,8 @@ fi
  
- # Check for use of the system libffi library
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-system-ffi" >&5
- $as_echo_n "checking for --with-system-ffi... " >&6; }
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "no acceptable C compiler found in \$PATH
+-See \`config.log' for more details" "$LINENO" 5 ; }
++as_fn_error "no acceptable C compiler found in \$PATH
++See \`config.log' for more details." "$LINENO" 5; }
+ 
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+@@ -3591,8 +3594,9 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "C compiler cannot create executables
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "C compiler cannot create executables
++See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+@@ -3634,8 +3638,8 @@ done
+ else
+   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+-See \`config.log' for more details" "$LINENO" 5 ; }
++as_fn_error "cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ rm -f conftest conftest$ac_cv_exeext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+@@ -3692,9 +3696,9 @@ $as_echo "$ac_try_echo"; } >&5
+     else
+ 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run C compiled programs.
++as_fn_error "cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'.
+-See \`config.log' for more details" "$LINENO" 5 ; }
++See \`config.log' for more details." "$LINENO" 5; }
+     fi
+   fi
+ fi
+@@ -3745,8 +3749,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot compute suffix of object files: cannot compile
+-See \`config.log' for more details" "$LINENO" 5 ; }
++as_fn_error "cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+@@ -4199,7 +4203,7 @@ else
+   # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether nonexistent headers
+   # can be detected and how.
+@@ -4215,11 +4219,11 @@ else
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.i conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+   break
+ fi
+@@ -4258,7 +4262,7 @@ else
+   # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether nonexistent headers
+   # can be detected and how.
+@@ -4274,18 +4278,18 @@ else
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.i conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+ 
+ else
+   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+-See \`config.log' for more details" "$LINENO" 5 ; }
++as_fn_error "C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ 
+ ac_ext=c
+@@ -4346,7 +4350,7 @@ esac
+   done
+ IFS=$as_save_IFS
+   if test -z "$ac_cv_path_GREP"; then
+-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+   fi
+ else
+   ac_cv_path_GREP=$GREP
+@@ -4412,7 +4416,7 @@ esac
+   done
+ IFS=$as_save_IFS
+   if test -z "$ac_cv_path_EGREP"; then
+-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+   fi
+ else
+   ac_cv_path_EGREP=$EGREP
+@@ -4544,7 +4548,8 @@ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ "
+-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
++eval as_val=\$$as_ac_Header
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+@@ -5158,22 +5163,16 @@ bsdos*|hp*|HP*)
+ esac
+ ac_aux_dir=
+ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+-  if test -f "$ac_dir/install-sh"; then
+-    ac_aux_dir=$ac_dir
+-    ac_install_sh="$ac_aux_dir/install-sh -c"
+-    break
+-  elif test -f "$ac_dir/install.sh"; then
+-    ac_aux_dir=$ac_dir
+-    ac_install_sh="$ac_aux_dir/install.sh -c"
+-    break
+-  elif test -f "$ac_dir/shtool"; then
+-    ac_aux_dir=$ac_dir
+-    ac_install_sh="$ac_aux_dir/shtool install -c"
+-    break
+-  fi
++  for ac_t in install-sh install.sh shtool; do
++    if test -f "$ac_dir/$ac_t"; then
++      ac_aux_dir=$ac_dir
++      ac_install_sh="$ac_aux_dir/$ac_t -c"
++      break 2
++    fi
++  done
+ done
+ if test -z "$ac_aux_dir"; then
+-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
++  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+ fi
+ 
+ # These three variables are undocumented and unsupported,
+@@ -5511,7 +5510,7 @@ $as_echo "$CC" >&6; }
+ 		   ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
  
-@@ -9144,6 +9163,50 @@ $as_echo "no" >&6; }
+ 		 else
+-	           as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5
++	           as_fn_error "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5
+ 
+ 		 fi
+ 
+@@ -6005,7 +6004,8 @@ bluetooth/bluetooth.h linux/tipc.h spawn
+ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
++eval as_val=\$$as_ac_Header
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+@@ -6019,7 +6019,7 @@ for ac_hdr in dirent.h sys/ndir.h sys/di
+   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
+ $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+-if eval "test \"\${$as_ac_Header+set}\"" = set; then :
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -6046,7 +6046,8 @@ fi
+ eval ac_res=\$$as_ac_Header
+ 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+ $as_echo "$ac_res" >&6; }
+-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
++eval as_val=\$$as_ac_Header
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+ _ACEOF
+@@ -6566,8 +6567,9 @@ else
+   if test "$ac_cv_type_int" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (int)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (int)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_int=0
+    fi
+@@ -6599,8 +6601,9 @@ else
+   if test "$ac_cv_type_long" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (long)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (long)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_long=0
+    fi
+@@ -6632,8 +6635,9 @@ else
+   if test "$ac_cv_type_void_p" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (void *)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (void *)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_void_p=0
+    fi
+@@ -6665,8 +6669,9 @@ else
+   if test "$ac_cv_type_short" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (short)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (short)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_short=0
+    fi
+@@ -6698,8 +6703,9 @@ else
+   if test "$ac_cv_type_float" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (float)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (float)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_float=0
+    fi
+@@ -6731,8 +6737,9 @@ else
+   if test "$ac_cv_type_double" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (double)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (double)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_double=0
+    fi
+@@ -6764,8 +6771,9 @@ else
+   if test "$ac_cv_type_fpos_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (fpos_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (fpos_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_fpos_t=0
+    fi
+@@ -6797,8 +6805,9 @@ else
+   if test "$ac_cv_type_size_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (size_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (size_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_size_t=0
+    fi
+@@ -6830,8 +6839,9 @@ else
+   if test "$ac_cv_type_pid_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (pid_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (pid_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_pid_t=0
+    fi
+@@ -6890,8 +6900,9 @@ else
+   if test "$ac_cv_type_long_long" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (long long)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (long long)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_long_long=0
+    fi
+@@ -6951,8 +6962,9 @@ else
+   if test "$ac_cv_type_long_double" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (long double)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (long double)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_long_double=0
+    fi
+@@ -7013,8 +7025,9 @@ else
+   if test "$ac_cv_type__Bool" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (_Bool)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (_Bool)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof__Bool=0
+    fi
+@@ -7061,8 +7074,9 @@ else
+   if test "$ac_cv_type_uintptr_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (uintptr_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (uintptr_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_uintptr_t=0
+    fi
+@@ -7102,8 +7116,9 @@ else
+   if test "$ac_cv_type_off_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (off_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (off_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_off_t=0
+    fi
+@@ -7164,8 +7179,9 @@ else
+   if test "$ac_cv_type_time_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (time_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (time_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_time_t=0
+    fi
+@@ -7236,8 +7252,9 @@ else
+   if test "$ac_cv_type_pthread_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (pthread_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (pthread_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_pthread_t=0
+    fi
+@@ -7324,7 +7341,7 @@ fi
+     		MACOSX_DEFAULT_ARCH="ppc"
+     		;;
+     	*)
+-    		as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
++    		as_fn_error "Unexpected output of 'arch' on OSX" "$LINENO" 5
+     		;;
+     	esac
+     else
+@@ -7336,7 +7353,7 @@ fi
+     		MACOSX_DEFAULT_ARCH="ppc64"
+     		;;
+     	*)
+-    		as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
++    		as_fn_error "Unexpected output of 'arch' on OSX" "$LINENO" 5
+     		;;
+     	esac
+ 
+@@ -7362,7 +7379,7 @@ $as_echo "#define WITH_NEXT_FRAMEWORK 1"
+ $as_echo "yes" >&6; }
+ 	if test $enable_shared = "yes"
+ 	then
+-		as_fn_error $? "Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead" "$LINENO" 5
++		as_fn_error "Specifying both --enable-shared and --enable-framework is not supported, use only --enable-framework instead" "$LINENO" 5
+ 	fi
+ else
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+@@ -8158,12 +8175,12 @@ if test "${with_dbmliborder+set}" = set;
+   withval=$with_dbmliborder;
+ if test x$with_dbmliborder = xyes
+ then
+-as_fn_error $? "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5
++as_fn_error "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5
+ else
+   for db in `echo $with_dbmliborder | sed 's/:/ /g'`; do
+     if test x$db != xndbm && test x$db != xgdbm && test x$db != xbdb
+     then
+-      as_fn_error $? "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5
++      as_fn_error "proper usage is --with-dbmliborder=db1:db2:..." "$LINENO" 5
+     fi
+   done
+ fi
+@@ -9118,6 +9135,50 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -172,7 +1056,16 @@ diff -up ./configure.autotool-intermediates ./configure
  # Check for Python-specific malloc support
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-pymalloc" >&5
  $as_echo_n "checking for --with-pymalloc... " >&6; }
-@@ -9194,6 +9257,46 @@ fi
+@@ -9162,7 +9223,7 @@ if test "x$ac_cv_header_valgrind_valgrin
+ $as_echo "#define WITH_VALGRIND 1" >>confdefs.h
+ 
+ else
+-  as_fn_error $? "Valgrind support requested but headers not available" "$LINENO" 5
++  as_fn_error "Valgrind support requested but headers not available" "$LINENO" 5
+ 
+ fi
+ 
+@@ -9170,6 +9231,46 @@ fi
      OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT"
  fi
  
@@ -216,12 +1109,497 @@ diff -up ./configure.autotool-intermediates ./configure
 +
 +
 +
- # Check for --with-wctype-functions
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-wctype-functions" >&5
- $as_echo_n "checking for --with-wctype-functions... " >&6; }
+ # -I${DLINCLDIR} is added to the compile rule for importdl.o
+ 
+ DLINCLDIR=.
+@@ -9256,7 +9357,8 @@ for ac_func in alarm accept4 setitimer g
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+@@ -10251,7 +10353,8 @@ for ac_func in fseek64 fseeko fstatvfs f
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+@@ -10260,44 +10363,25 @@ fi
+ done
+ 
+ 
+-ac_fn_c_check_func "$LINENO" "dup2" "ac_cv_func_dup2"
+-if test "x$ac_cv_func_dup2" = x""yes; then :
+-  $as_echo "#define HAVE_DUP2 1" >>confdefs.h
+-
+-else
+-  case " $LIBOBJS " in
+-  *" dup2.$ac_objext "* ) ;;
+-  *) LIBOBJS="$LIBOBJS dup2.$ac_objext"
+- ;;
+-esac
+-
+-fi
+-
+-ac_fn_c_check_func "$LINENO" "getcwd" "ac_cv_func_getcwd"
+-if test "x$ac_cv_func_getcwd" = x""yes; then :
+-  $as_echo "#define HAVE_GETCWD 1" >>confdefs.h
+-
+-else
+-  case " $LIBOBJS " in
+-  *" getcwd.$ac_objext "* ) ;;
+-  *) LIBOBJS="$LIBOBJS getcwd.$ac_objext"
+- ;;
+-esac
+-
+-fi
+-
+-ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup"
+-if test "x$ac_cv_func_strdup" = x""yes; then :
+-  $as_echo "#define HAVE_STRDUP 1" >>confdefs.h
++for ac_func in dup2 getcwd strdup
++do :
++  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
+ 
+ else
+   case " $LIBOBJS " in
+-  *" strdup.$ac_objext "* ) ;;
+-  *) LIBOBJS="$LIBOBJS strdup.$ac_objext"
++  *" $ac_func.$ac_objext "* ) ;;
++  *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+  ;;
+ esac
+ 
+ fi
++done
+ 
+ 
+ for ac_func in getpgrp
+@@ -11510,7 +11594,7 @@ elif test "$withval" != yes
+ then LIBM=$withval
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: set LIBM=\"$withval\"" >&5
+ $as_echo "set LIBM=\"$withval\"" >&6; }
+-else as_fn_error $? "proper usage is --with-libm=STRING" "$LINENO" 5
++else as_fn_error "proper usage is --with-libm=STRING" "$LINENO" 5
+ fi
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: default LIBM=\"$LIBM\"" >&5
+@@ -11534,7 +11618,7 @@ elif test "$withval" != yes
+ then LIBC=$withval
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: set LIBC=\"$withval\"" >&5
+ $as_echo "set LIBC=\"$withval\"" >&6; }
+-else as_fn_error $? "proper usage is --with-libc=STRING" "$LINENO" 5
++else as_fn_error "proper usage is --with-libc=STRING" "$LINENO" 5
+ fi
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: default LIBC=\"$LIBC\"" >&5
+@@ -11784,7 +11868,8 @@ for ac_func in acosh asinh atanh copysig
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+@@ -11796,7 +11881,8 @@ for ac_func in hypot lgamma log1p round 
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
++eval as_val=\$$as_ac_var
++   if test "x$as_val" = x""yes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+@@ -12059,7 +12145,7 @@ no)
+ 15|30)
+   ;;
+ *)
+-  as_fn_error $? "bad value $enable_big_digits for --enable-big-digits; value should be 15 or 30" "$LINENO" 5  ;;
++  as_fn_error "bad value $enable_big_digits for --enable-big-digits; value should be 15 or 30" "$LINENO" 5 ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_big_digits" >&5
+ $as_echo "$enable_big_digits" >&6; }
+@@ -12110,8 +12196,9 @@ else
+   if test "$ac_cv_type_wchar_t" = yes; then
+      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (wchar_t)
+-See \`config.log' for more details" "$LINENO" 5 ; }
++{ as_fn_set_status 77
++as_fn_error "cannot compute sizeof (wchar_t)
++See \`config.log' for more details." "$LINENO" 5; }; }
+    else
+      ac_cv_sizeof_wchar_t=0
+    fi
+@@ -12480,8 +12567,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
+ 
+      ;; #(
+    *)
+-     as_fn_error $? "unknown endianness
+- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5  ;;
++     as_fn_error "unknown endianness
++ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+  esac
+ 
+ 
+@@ -12742,7 +12829,7 @@ else
+   have_readline=no
+ 
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ if test $have_readline = yes
+ then
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -12916,7 +13003,7 @@ else
+   have_readline=no
+ 
+ fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
++rm -f conftest.err conftest.$ac_ext
+ if test $have_readline = yes
+ then
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -13732,7 +13819,7 @@ esac
+ 
+ 
+ case $ac_sys_system in
+-  OSF*) as_fn_error $? "OSF* systems are deprecated unless somebody volunteers. Check http://bugs.python.org/issue8606" "$LINENO" 5  ;;
++  OSF*) as_fn_error "OSF* systems are deprecated unless somebody volunteers. Check http://bugs.python.org/issue8606" "$LINENO" 5 ;;
+ esac
+ 
+ ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
+@@ -13850,7 +13937,6 @@ DEFS=-DHAVE_CONFIG_H
+ 
+ ac_libobjs=
+ ac_ltlibobjs=
+-U=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+   # 1. Remove the extension, and $U if already installed.
+   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+@@ -14013,19 +14099,19 @@ export LANGUAGE
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ 
+ 
+-# as_fn_error STATUS ERROR [LINENO LOG_FD]
+-# ----------------------------------------
++# as_fn_error ERROR [LINENO LOG_FD]
++# ---------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with STATUS, using 1 if that was 0.
++# script with status $?, using 1 if that was 0.
+ as_fn_error ()
+ {
+-  as_status=$1; test $as_status -eq 0 && as_status=1
+-  if test "$4"; then
+-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  as_status=$?; test $as_status -eq 0 && as_status=1
++  if test "$3"; then
++    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+   fi
+-  $as_echo "$as_me: error: $2" >&2
++  $as_echo "$as_me: error: $1" >&2
+   as_fn_exit $as_status
+ } # as_fn_error
+ 
+@@ -14221,7 +14307,7 @@ $as_echo X"$as_dir" |
+       test -d "$as_dir" && break
+     done
+     test -z "$as_dirs" || eval "mkdir $as_dirs"
+-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ 
+ 
+ } # as_fn_mkdir_p
+@@ -14275,7 +14361,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
+ # values after options handling.
+ ac_log="
+ This file was extended by python $as_me 3.2, which was
+-generated by GNU Autoconf 2.67.  Invocation command line was
++generated by GNU Autoconf 2.65.  Invocation command line was
+ 
+   CONFIG_FILES    = $CONFIG_FILES
+   CONFIG_HEADERS  = $CONFIG_HEADERS
+@@ -14337,10 +14423,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+ python config.status 3.2
+-configured by $0, generated by GNU Autoconf 2.67,
++configured by $0, generated by GNU Autoconf 2.65,
+   with options \\"\$ac_cs_config\\"
+ 
+-Copyright (C) 2010 Free Software Foundation, Inc.
++Copyright (C) 2009 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+ 
+@@ -14356,16 +14442,11 @@ ac_need_defaults=:
+ while test $# != 0
+ do
+   case $1 in
+-  --*=?*)
++  --*=*)
+     ac_option=`expr "X$1" : 'X\([^=]*\)='`
+     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+     ac_shift=:
+     ;;
+-  --*=)
+-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+-    ac_optarg=
+-    ac_shift=:
+-    ;;
+   *)
+     ac_option=$1
+     ac_optarg=$2
+@@ -14387,7 +14468,6 @@ do
+     $ac_shift
+     case $ac_optarg in
+     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+-    '') as_fn_error $? "missing file argument" ;;
+     esac
+     as_fn_append CONFIG_FILES " '$ac_optarg'"
+     ac_need_defaults=false;;
+@@ -14400,7 +14480,7 @@ do
+     ac_need_defaults=false;;
+   --he | --h)
+     # Conflict between --help and --header
+-    as_fn_error $? "ambiguous option: \`$1'
++    as_fn_error "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+   --help | --hel | -h )
+     $as_echo "$ac_cs_usage"; exit ;;
+@@ -14409,7 +14489,7 @@ Try \`$0 --help' for more information.";
+     ac_cs_silent=: ;;
+ 
+   # This is an error.
+-  -*) as_fn_error $? "unrecognized option: \`$1'
++  -*) as_fn_error "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+ 
+   *) as_fn_append ac_config_targets " $1"
+@@ -14468,7 +14548,7 @@ do
+     "Misc/python.pc") CONFIG_FILES="$CONFIG_FILES Misc/python.pc" ;;
+     "Modules/ld_so_aix") CONFIG_FILES="$CONFIG_FILES Modules/ld_so_aix" ;;
+ 
+-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
++  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+   esac
+ done
+ 
+@@ -14505,7 +14585,7 @@ $debug ||
+ {
+   tmp=./conf$$-$RANDOM
+   (umask 077 && mkdir "$tmp")
+-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
++} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+ 
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+@@ -14522,7 +14602,7 @@ if test "x$ac_cr" = x; then
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+-  ac_cs_awk_cr='\\r'
++  ac_cs_awk_cr='\r'
+ else
+   ac_cs_awk_cr=$ac_cr
+ fi
+@@ -14536,18 +14616,18 @@ _ACEOF
+   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+   echo "_ACEOF"
+ } >conf$$subs.sh ||
+-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
++  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+   . ./conf$$subs.sh ||
+-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ 
+   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+   if test $ac_delim_n = $ac_delim_num; then
+     break
+   elif $ac_last_try; then
+-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+@@ -14636,28 +14716,20 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
+ else
+   cat
+ fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
++  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+ 
+-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+-  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+-h
+-s///
+-s/^/:/
+-s/[	 ]*$/:/
+-s/:\$(srcdir):/:/g
+-s/:\${srcdir}:/:/g
+-s/:@srcdir@:/:/g
+-s/^:*//
++  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[	 ]*\):*/\1/
+ s/:*$//
+-x
+-s/\(=[	 ]*\).*/\1/
+-G
+-s/\n//
+ s/^[^=]*=[	 ]*$//
+ }'
+ fi
+@@ -14685,7 +14757,7 @@ for ac_last_try in false false :; do
+   if test -z "$ac_t"; then
+     break
+   elif $ac_last_try; then
+-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
++    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+@@ -14770,7 +14842,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
++  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+ 
+ 
+@@ -14783,7 +14855,7 @@ do
+   esac
+   case $ac_mode$ac_tag in
+   :[FHL]*:*);;
+-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
++  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+   :[FH]-) ac_tag=-:-;;
+   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+   esac
+@@ -14811,7 +14883,7 @@ do
+ 	   [\\/$]*) false;;
+ 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ 	   esac ||
+-	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
++	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+       esac
+       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+       as_fn_append ac_file_inputs " '$ac_f'"
+@@ -14838,7 +14910,7 @@ $as_echo "$as_me: creating $ac_file" >&6
+ 
+     case $ac_tag in
+     *:-:* | *:-) cat >"$tmp/stdin" \
+-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
++      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+     esac
+     ;;
+   esac
+@@ -14969,22 +15041,22 @@ s&@INSTALL@&$ac_INSTALL&;t t
+ $ac_datarootdir_hack
+ "
+ eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++  || as_fn_error "could not create $ac_file" "$LINENO" 5
+ 
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined.  Please make sure it is defined" >&5
++which seems to be undefined.  Please make sure it is defined." >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined.  Please make sure it is defined" >&2;}
++which seems to be undefined.  Please make sure it is defined." >&2;}
+ 
+   rm -f "$tmp/stdin"
+   case $ac_file in
+   -) cat "$tmp/out" && rm -f "$tmp/out";;
+   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+   esac \
+-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  ;;
+   :H)
+   #
+@@ -14995,19 +15067,19 @@ which seems to be undefined.  Please mak
+       $as_echo "/* $configure_input  */" \
+       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+     } >"$tmp/config.h" \
+-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++      || as_fn_error "could not create $ac_file" "$LINENO" 5
+     if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+ $as_echo "$as_me: $ac_file is unchanged" >&6;}
+     else
+       rm -f "$ac_file"
+       mv "$tmp/config.h" "$ac_file" \
+-	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
++	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+     fi
+   else
+     $as_echo "/* $configure_input  */" \
+       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+-      || as_fn_error $? "could not create -" "$LINENO" 5
++      || as_fn_error "could not create -" "$LINENO" 5
+   fi
+  ;;
+ 
+@@ -15027,7 +15099,7 @@ _ACEOF
+ ac_clean_files=$ac_clean_files_save
+ 
+ test $ac_write_fail = 0 ||
+-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
++  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ 
+ 
+ # configure is writing to config.log, and then calls config.status.
+@@ -15048,7 +15120,7 @@ if test "$no_create" != yes; then
+   exec 5>>config.log
+   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+   # would make configure fail if this is the last instruction.
+-  $ac_cs_success || as_fn_exit 1
++  $ac_cs_success || as_fn_exit $?
+ fi
+ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
 diff -up ./pyconfig.h.in.autotool-intermediates ./pyconfig.h.in
---- ./pyconfig.h.in.autotool-intermediates	2010-08-02 17:58:12.236001348 -0400
-+++ ./pyconfig.h.in	2010-08-02 17:58:20.000000000 -0400
+--- ./pyconfig.h.in.autotool-intermediates	2010-12-28 18:47:15.203935226 -0500
++++ ./pyconfig.h.in	2010-12-28 18:47:21.330060783 -0500
 @@ -12,15 +12,15 @@
     support for AIX C++ shared extension modules. */
  #undef AIX_GENUINE_CPLUSPLUS
@@ -241,3 +1619,13 @@ diff -up ./pyconfig.h.in.autotool-intermediates ./pyconfig.h.in
  /* Define if C doubles are 64-bit IEEE 754 binary format, stored in ARM
     mixed-endian order (byte order 45670123) */
  #undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754
+@@ -503,6 +503,9 @@
+ /* Define to 1 if you have the `pause' function. */
+ #undef HAVE_PAUSE
+ 
++/* Define if the OS supports pipe2() */
++#undef HAVE_PIPE2
++
+ /* Define to 1 if you have the `plock' function. */
+ #undef HAVE_PLOCK
+ 
diff --git a/python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch b/python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch
new file mode 100644
index 0000000..337e39e
--- /dev/null
+++ b/python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch
@@ -0,0 +1,22 @@
+diff -up Python-3.2b2/Lib/test/test_gc.py.fix-test-gc-COUNT_ALLOCS Python-3.2b2/Lib/test/test_gc.py
+--- Python-3.2b2/Lib/test/test_gc.py.fix-test-gc-COUNT_ALLOCS	2010-12-28 20:39:40.779059772 -0500
++++ Python-3.2b2/Lib/test/test_gc.py	2010-12-28 20:41:15.890940017 -0500
+@@ -102,10 +102,16 @@ class GCTests(unittest.TestCase):
+         del a
+         self.assertNotEqual(gc.collect(), 0)
+         del B, C
+-        self.assertNotEqual(gc.collect(), 0)
++        if hasattr(sys, 'getcounts'):
++            self.assertEqual(gc.collect(), 0)
++        else:
++            self.assertNotEqual(gc.collect(), 0)
+         A.a = A()
+         del A
+-        self.assertNotEqual(gc.collect(), 0)
++        if hasattr(sys, 'getcounts'):
++            self.assertEqual(gc.collect(), 0)
++        else:
++            self.assertNotEqual(gc.collect(), 0)
+         self.assertEqual(gc.collect(), 0)
+ 
+     def test_method(self):
diff --git a/python-3.2a1-lib64.patch b/python-3.2b2-lib64.patch
similarity index 53%
rename from python-3.2a1-lib64.patch
rename to python-3.2b2-lib64.patch
index dd259c0..8d4e91f 100644
--- a/python-3.2a1-lib64.patch
+++ b/python-3.2b2-lib64.patch
@@ -1,13 +1,13 @@
-diff -up Python-3.2a1/Lib/distutils/command/install.py.lib64 Python-3.2a1/Lib/distutils/command/install.py
---- Python-3.2a1/Lib/distutils/command/install.py.lib64	2010-07-22 08:50:05.000000000 -0400
-+++ Python-3.2a1/Lib/distutils/command/install.py	2010-08-02 18:33:15.667001759 -0400
+diff -up Python-3.2b2/Lib/distutils/command/install.py.lib64 Python-3.2b2/Lib/distutils/command/install.py
+--- Python-3.2b2/Lib/distutils/command/install.py.lib64	2010-11-24 22:46:44.000000000 -0500
++++ Python-3.2b2/Lib/distutils/command/install.py	2010-12-29 10:21:55.510184563 -0500
 @@ -47,14 +47,14 @@ else:
  INSTALL_SCHEMES = {
      'unix_prefix': {
          'purelib': '$base/lib/python$py_version_short/site-packages',
 -        'platlib': '$platbase/lib/python$py_version_short/site-packages',
 +        'platlib': '$platbase/lib64/python$py_version_short/site-packages',
-         'headers': '$base/include/python$py_version_short/$dist_name',
+         'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
          },
@@ -18,10 +18,10 @@ diff -up Python-3.2a1/Lib/distutils/command/install.py.lib64 Python-3.2a1/Lib/di
          'headers': '$base/include/python/$dist_name',
          'scripts': '$base/bin',
          'data'   : '$base',
-diff -up Python-3.2a1/Lib/distutils/sysconfig.py.lib64 Python-3.2a1/Lib/distutils/sysconfig.py
---- Python-3.2a1/Lib/distutils/sysconfig.py.lib64	2010-07-23 05:43:17.000000000 -0400
-+++ Python-3.2a1/Lib/distutils/sysconfig.py	2010-08-02 18:33:15.669000547 -0400
-@@ -117,8 +117,12 @@ def get_python_lib(plat_specific=0, stan
+diff -up Python-3.2b2/Lib/distutils/sysconfig.py.lib64 Python-3.2b2/Lib/distutils/sysconfig.py
+--- Python-3.2b2/Lib/distutils/sysconfig.py.lib64	2010-11-24 14:43:47.000000000 -0500
++++ Python-3.2b2/Lib/distutils/sysconfig.py	2010-12-29 10:21:55.510184563 -0500
+@@ -124,8 +124,12 @@ def get_python_lib(plat_specific=0, stan
          prefix = plat_specific and EXEC_PREFIX or PREFIX
  
      if os.name == "posix":
@@ -35,10 +35,10 @@ diff -up Python-3.2a1/Lib/distutils/sysconfig.py.lib64 Python-3.2a1/Lib/distutil
          if standard_lib:
              return libpython
          else:
-diff -up Python-3.2a1/Lib/site.py.lib64 Python-3.2a1/Lib/site.py
---- Python-3.2a1/Lib/site.py.lib64	2010-06-27 17:45:24.000000000 -0400
-+++ Python-3.2a1/Lib/site.py	2010-08-02 18:34:30.584001242 -0400
-@@ -283,12 +283,16 @@ def getsitepackages():
+diff -up Python-3.2b2/Lib/site.py.lib64 Python-3.2b2/Lib/site.py
+--- Python-3.2b2/Lib/site.py.lib64	2010-10-12 18:23:23.000000000 -0400
++++ Python-3.2b2/Lib/site.py	2010-12-29 10:21:55.511184595 -0500
+@@ -275,12 +275,16 @@ def getsitepackages():
          if sys.platform in ('os2emx', 'riscos'):
              sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
          elif os.sep == '/':
@@ -55,22 +55,75 @@ diff -up Python-3.2a1/Lib/site.py.lib64 Python-3.2a1/Lib/site.py
              sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
          if sys.platform == "darwin":
              # for framework builds *only* we add the standard Apple
-diff -up Python-3.2a1/Makefile.pre.in.lib64 Python-3.2a1/Makefile.pre.in
---- Python-3.2a1/Makefile.pre.in.lib64	2010-08-02 18:33:15.000000000 -0400
-+++ Python-3.2a1/Makefile.pre.in	2010-08-02 18:35:07.147000664 -0400
-@@ -100,7 +100,7 @@ LIBDIR=		@libdir@
+diff -up Python-3.2b2/Lib/sysconfig.py.lib64 Python-3.2b2/Lib/sysconfig.py
+--- Python-3.2b2/Lib/sysconfig.py.lib64	2010-11-24 20:34:47.000000000 -0500
++++ Python-3.2b2/Lib/sysconfig.py	2010-12-29 10:21:55.512184877 -0500
+@@ -21,10 +21,10 @@ __all__ = [
+ 
+ _INSTALL_SCHEMES = {
+     'posix_prefix': {
+-        'stdlib': '{base}/lib/python{py_version_short}',
+-        'platstdlib': '{platbase}/lib/python{py_version_short}',
++        'stdlib': '{base}/lib64/python{py_version_short}',
++        'platstdlib': '{platbase}/lib64/python{py_version_short}',
+         'purelib': '{base}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
++        'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
+         'include':
+             '{base}/include/python{py_version_short}{abiflags}',
+         'platinclude':
+@@ -81,10 +81,10 @@ _INSTALL_SCHEMES = {
+         'data'   : '{userbase}',
+         },
+     'posix_user': {
+-        'stdlib': '{userbase}/lib/python{py_version_short}',
+-        'platstdlib': '{userbase}/lib/python{py_version_short}',
++        'stdlib': '{userbase}/lib64/python{py_version_short}',
++        'platstdlib': '{userbase}/lib64/python{py_version_short}',
+         'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
++        'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
+         'include': '{userbase}/include/python{py_version_short}',
+         'scripts': '{userbase}/bin',
+         'data'   : '{userbase}',
+diff -up Python-3.2b2/Lib/test/test_site.py.lib64 Python-3.2b2/Lib/test/test_site.py
+--- Python-3.2b2/Lib/test/test_site.py.lib64	2010-12-29 10:35:12.417308989 -0500
++++ Python-3.2b2/Lib/test/test_site.py	2010-12-29 10:36:27.124059073 -0500
+@@ -164,12 +164,15 @@ class HelperFunctionsTests(unittest.Test
+             wanted = os.path.join('xoxo', 'Lib', 'site-packages')
+             self.assertEqual(dirs[0], wanted)
+         elif os.sep == '/':
+-            self.assertEqual(len(dirs), 2)
+-            wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
++            self.assertEqual(len(dirs), 3)
++            wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3],
+                                   'site-packages')
+             self.assertEqual(dirs[0], wanted)
+-            wanted = os.path.join('xoxo', 'lib', 'site-python')
++            wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
++                                  'site-packages')
+             self.assertEqual(dirs[1], wanted)
++            wanted = os.path.join('xoxo', 'lib', 'site-python')
++            self.assertEqual(dirs[2], wanted)
+         else:
+             self.assertEqual(len(dirs), 2)
+             self.assertEqual(dirs[0], 'xoxo')
+diff -up Python-3.2b2/Makefile.pre.in.lib64 Python-3.2b2/Makefile.pre.in
+--- Python-3.2b2/Makefile.pre.in.lib64	2010-12-29 10:21:55.506183982 -0500
++++ Python-3.2b2/Makefile.pre.in	2010-12-29 10:21:55.512184877 -0500
+@@ -102,7 +102,7 @@ LIBDIR=		@libdir@
  MANDIR=		@mandir@
  INCLUDEDIR=	@includedir@
  CONFINCLUDEDIR=	$(exec_prefix)/include
 -SCRIPTDIR=	$(prefix)/lib
 +SCRIPTDIR=	$(prefix)/lib64
+ ABIFLAGS=	@ABIFLAGS@
  
  # Detailed destination directories
- BINLIBDEST=	$(LIBDIR)/python$(VERSION)
-diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
---- Python-3.2a1/Modules/getpath.c.lib64	2010-07-23 12:05:35.000000000 -0400
-+++ Python-3.2a1/Modules/getpath.c	2010-08-02 18:35:50.857000717 -0400
-@@ -117,8 +117,8 @@
+diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
+--- Python-3.2b2/Modules/getpath.c.lib64	2010-12-03 15:14:31.000000000 -0500
++++ Python-3.2b2/Modules/getpath.c	2010-12-29 10:21:55.513184358 -0500
+@@ -122,8 +122,8 @@
  #endif
  
  #ifndef PYTHONPATH
@@ -81,45 +134,46 @@ diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
  #endif
  
  #ifndef LANDMARK
-@@ -129,7 +129,7 @@ static wchar_t prefix[MAXPATHLEN+1];
+@@ -134,7 +134,7 @@ static wchar_t prefix[MAXPATHLEN+1];
  static wchar_t exec_prefix[MAXPATHLEN+1];
  static wchar_t progpath[MAXPATHLEN+1];
  static wchar_t *module_search_path = NULL;
 -static wchar_t *lib_python = L"lib/python" VERSION;
 +static wchar_t *lib_python = L"lib64/python" VERSION;
  
- /* In principle, this should use HAVE__WSTAT, and _wstat
-    should be detected by autoconf. However, no current
-@@ -603,7 +603,7 @@ calculate_path(void)
+ static void
+ reduce(wchar_t *dir)
+@@ -582,7 +582,7 @@ calculate_path(void)
      }
      else
-         wcsncpy(zip_path, L"" PREFIX, MAXPATHLEN);
+         wcsncpy(zip_path, _prefix, MAXPATHLEN);
 -    joinpath(zip_path, L"lib/python00.zip");
 +    joinpath(zip_path, L"lib64/python00.zip");
      bufsz = wcslen(zip_path);   /* Replace "00" with version */
      zip_path[bufsz - 6] = VERSION[0];
      zip_path[bufsz - 5] = VERSION[2];
-@@ -613,7 +613,7 @@ calculate_path(void)
+@@ -592,7 +592,7 @@ calculate_path(void)
              fprintf(stderr,
                  "Could not find platform dependent libraries <exec_prefix>\n");
-         wcsncpy(exec_prefix, L"" EXEC_PREFIX, MAXPATHLEN);
+         wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
 -        joinpath(exec_prefix, L"lib/lib-dynload");
 +        joinpath(exec_prefix, L"lib64/lib-dynload");
      }
      /* If we found EXEC_PREFIX do *not* reduce it!  (Yet.) */
  
---- Python-3.2a1/setup.py.lib64	2010-07-23 15:25:47.000000000 -0400
-+++ Python-3.2a1/setup.py	2010-08-02 18:36:51.521000448 -0400
-@@ -343,7 +343,7 @@ class PyBuildExt(build_ext):
- 
-     def detect_modules(self):
-         # Ensure that /usr/local is always used
+diff -up Python-3.2b2/setup.py.lib64 Python-3.2b2/setup.py
+--- Python-3.2b2/setup.py.lib64	2010-12-04 13:36:03.000000000 -0500
++++ Python-3.2b2/setup.py	2010-12-29 10:21:55.514184248 -0500
+@@ -373,7 +373,7 @@ class PyBuildExt(build_ext):
+         # Ensure that /usr/local is always used, but the local build
+         # directories (i.e. '.' and 'Include') must be first.  See issue
+         # 10520.
 -        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
 +        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
          add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
  
          # Add paths specified in the environment variables LDFLAGS and
-@@ -587,11 +587,11 @@ class PyBuildExt(build_ext):
+@@ -619,11 +619,11 @@ class PyBuildExt(build_ext):
              elif curses_library:
                  readline_libs.append(curses_library)
              elif self.compiler.find_library_file(lib_dirs +
@@ -133,7 +187,7 @@ diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
                                     extra_link_args=readline_extra_link_args,
                                     libraries=readline_libs) )
          else:
-@@ -628,8 +628,8 @@ class PyBuildExt(build_ext):
+@@ -660,8 +660,8 @@ class PyBuildExt(build_ext):
              if krb5_h:
                  ssl_incs += krb5_h
          ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
@@ -144,22 +198,3 @@ diff -up Python-3.2a1/Modules/getpath.c.lib64 Python-3.2a1/Modules/getpath.c
                                       ] )
  
          if (ssl_incs is not None and
-Index: Lib/sysconfig.py
-===================================================================
---- Python-3.2a1/Lib/sysconfig.py
-+++ Python-3.2a1/Lib/sysconfig.py	2010-08-22 14:34:38.791426924 +0200
-@@ -11,10 +11,10 @@
- 
- _INSTALL_SCHEMES = {
-     'posix_prefix': {
--        'stdlib': '{base}/lib/python{py_version_short}',
--        'platstdlib': '{platbase}/lib/python{py_version_short}',
--        'purelib': '{base}/lib/python{py_version_short}/site-packages',
--        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+        'stdlib': '{base}/lib64/python{py_version_short}',
-+        'platstdlib': '{platbase}/lib64/python{py_version_short}',
-+        'purelib': '{base}/lib64/python{py_version_short}/site-packages',
-+        'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
-         'include': '{base}/include/python{py_version_short}',
-         'platinclude': '{platbase}/include/python{py_version_short}',
-         'scripts': '{base}/bin',
diff --git a/python-3.2a1-no-static-lib.patch b/python-3.2b2-no-static-lib.patch
similarity index 60%
rename from python-3.2a1-no-static-lib.patch
rename to python-3.2b2-no-static-lib.patch
index 6dd8147..3ef3bc2 100644
--- a/python-3.2a1-no-static-lib.patch
+++ b/python-3.2b2-no-static-lib.patch
@@ -1,17 +1,17 @@
-diff -up Python-3.2a1/Makefile.pre.in.no-static-lib Python-3.2a1/Makefile.pre.in
---- Python-3.2a1/Makefile.pre.in.no-static-lib	2010-07-17 16:39:23.000000000 -0400
-+++ Python-3.2a1/Makefile.pre.in	2010-08-02 16:02:28.378010008 -0400
-@@ -416,7 +416,7 @@ coverage:
+diff -up Python-3.2b2/Makefile.pre.in.no-static-lib Python-3.2b2/Makefile.pre.in
+--- Python-3.2b2/Makefile.pre.in.no-static-lib	2010-12-13 13:04:23.000000000 -0500
++++ Python-3.2b2/Makefile.pre.in	2010-12-28 16:57:11.484065804 -0500
+@@ -420,7 +420,7 @@ coverage:
  
  
  # Build the interpreter
 -$(BUILDPYTHON):	Modules/python.o $(LIBRARY) $(LDLIBRARY)
 +$(BUILDPYTHON):	Modules/python.o $(LDLIBRARY)
- 		$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ \
- 			Modules/python.o \
- 			$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-@@ -432,18 +432,6 @@ sharedmods: $(BUILDPYTHON)
- 	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(PY_LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
+ 	$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+ 
+ platform: $(BUILDPYTHON)
+@@ -434,18 +434,6 @@ sharedmods: $(BUILDPYTHON)
+ 	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
  	esac
  
 -# Build static library
@@ -26,10 +26,10 @@ diff -up Python-3.2a1/Makefile.pre.in.no-static-lib Python-3.2a1/Makefile.pre.in
 -	$(AR) $(ARFLAGS) $@ $(MODOBJS)
 -	$(RANLIB) $@
 -
- libpython$(VERSION).so: $(LIBRARY_OBJS)
+ libpython$(LDVERSION).so: $(LIBRARY_OBJS)
  	if test $(INSTSONAME) != $(LDLIBRARY); then \
- 		$(LDSHARED) $(PY_LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-@@ -1003,18 +991,6 @@ libainstall:	all python-config
+ 		$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+@@ -1035,18 +1023,6 @@ libainstall:	all python-config
  		else	true; \
  		fi; \
  	done
diff --git a/python-3.2a1-remove-mimeaudio-tests.patch b/python-3.2b2-remove-mimeaudio-tests.patch
similarity index 86%
rename from python-3.2a1-remove-mimeaudio-tests.patch
rename to python-3.2b2-remove-mimeaudio-tests.patch
index ff67690..118b7b2 100644
--- a/python-3.2a1-remove-mimeaudio-tests.patch
+++ b/python-3.2b2-remove-mimeaudio-tests.patch
@@ -1,10 +1,10 @@
-diff -up Python-3.2a1/Lib/email/test/test_email.py.remove-mimeaudio-tests Python-3.2a1/Lib/email/test/test_email.py
---- Python-3.2a1/Lib/email/test/test_email.py.remove-mimeaudio-tests	2010-08-02 15:52:12.397002172 -0400
-+++ Python-3.2a1/Lib/email/test/test_email.py	2010-08-02 15:52:38.132999850 -0400
-@@ -952,53 +952,6 @@ Blah blah blah
+diff -up Python-3.2b2/Lib/email/test/test_email.py.remove-mimeaudio-tests Python-3.2b2/Lib/email/test/test_email.py
+--- Python-3.2b2/Lib/email/test/test_email.py.remove-mimeaudio-tests	2010-12-18 13:25:38.000000000 -0500
++++ Python-3.2b2/Lib/email/test/test_email.py	2010-12-28 16:50:34.910309105 -0500
+@@ -977,53 +977,6 @@ Blah blah blah
+ 
  
  
- 
 -# Test the basic MIMEAudio class
 -class TestMIMEAudio(unittest.TestCase):
 -    def setUp(self):
@@ -51,7 +51,7 @@ diff -up Python-3.2a1/Lib/email/test/test_email.py.remove-mimeaudio-tests Python
 -                                  header='foobar') is missing)
 -
 -
--
+-
  # Test the basic MIMEImage class
  class TestMIMEImage(unittest.TestCase):
      def setUp(self):
diff --git a/python-3.2a1-systemtap.patch b/python-3.2b2-systemtap.patch
similarity index 70%
rename from python-3.2a1-systemtap.patch
rename to python-3.2b2-systemtap.patch
index 6770b58..f87fc60 100644
--- a/python-3.2a1-systemtap.patch
+++ b/python-3.2b2-systemtap.patch
@@ -1,15 +1,7 @@
-diff -up Python-3.2a1/configure.in.systemtap Python-3.2a1/configure.in
---- Python-3.2a1/configure.in.systemtap	2010-07-19 03:31:40.000000000 -0400
-+++ Python-3.2a1/configure.in	2010-08-02 16:19:43.809000621 -0400
-@@ -1987,6 +1987,7 @@ AC_ARG_WITH(system_expat,
- AC_MSG_RESULT($with_system_expat)
- 
- # Check for use of the system libffi library
-+
- AC_MSG_CHECKING(for --with-system-ffi)
- AC_ARG_WITH(system_ffi,
-             AS_HELP_STRING([--with-system-ffi], [build _ctypes module using an installed ffi library]))
-@@ -2500,6 +2501,38 @@ if test "$with_valgrind" != no; then
+diff -up Python-3.2b2/configure.in.systemtap Python-3.2b2/configure.in
+--- Python-3.2b2/configure.in.systemtap	2010-12-13 02:59:39.000000000 -0500
++++ Python-3.2b2/configure.in	2010-12-28 17:01:58.044059433 -0500
+@@ -2470,6 +2470,38 @@ if test "$with_valgrind" != no; then
      OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT"
  fi
  
@@ -45,12 +37,12 @@ diff -up Python-3.2a1/configure.in.systemtap Python-3.2a1/configure.in
 +AC_SUBST(DTRACEOBJS)
 +AC_SUBST(DTRACEHDRS)
 +
- # Check for --with-wctype-functions
- AC_MSG_CHECKING(for --with-wctype-functions)
- AC_ARG_WITH(wctype-functions, 
-diff -up Python-3.2a1/Include/pydtrace.d.systemtap Python-3.2a1/Include/pydtrace.d
---- Python-3.2a1/Include/pydtrace.d.systemtap	2010-08-02 16:17:04.249000540 -0400
-+++ Python-3.2a1/Include/pydtrace.d	2010-08-02 16:17:04.249000540 -0400
+ # -I${DLINCLDIR} is added to the compile rule for importdl.o
+ AC_SUBST(DLINCLDIR)
+ DLINCLDIR=.
+diff -up Python-3.2b2/Include/pydtrace.d.systemtap Python-3.2b2/Include/pydtrace.d
+--- Python-3.2b2/Include/pydtrace.d.systemtap	2010-12-28 16:58:41.762936379 -0500
++++ Python-3.2b2/Include/pydtrace.d	2010-12-28 16:58:41.762936379 -0500
 @@ -0,0 +1,10 @@
 +provider python {
 +	probe function__entry(const char *, const char *, int);
@@ -62,20 +54,20 @@ diff -up Python-3.2a1/Include/pydtrace.d.systemtap Python-3.2a1/Include/pydtrace
 +#pragma D attributes Private/Private/Common provider python function
 +#pragma D attributes Evolving/Evolving/Common provider python name
 +#pragma D attributes Evolving/Evolving/Common provider python args
-diff -up Python-3.2a1/Makefile.pre.in.systemtap Python-3.2a1/Makefile.pre.in
---- Python-3.2a1/Makefile.pre.in.systemtap	2010-08-02 16:17:04.243000614 -0400
-+++ Python-3.2a1/Makefile.pre.in	2010-08-02 16:20:41.617000527 -0400
-@@ -324,6 +324,7 @@ PYTHON_OBJS=	\
- 		Python/dtoa.o \
+diff -up Python-3.2b2/Makefile.pre.in.systemtap Python-3.2b2/Makefile.pre.in
+--- Python-3.2b2/Makefile.pre.in.systemtap	2010-12-28 16:58:41.000000000 -0500
++++ Python-3.2b2/Makefile.pre.in	2010-12-28 17:00:58.607310089 -0500
+@@ -328,6 +328,7 @@ PYTHON_OBJS=	\
  		Python/formatter_unicode.o \
+ 		Python/fileutils.o \
  		Python/$(DYNLOADFILE) \
 +		@DTRACEOBJS@ \
  		$(LIBOBJS) \
  		$(MACHDEP_OBJS) \
  		$(THREADOBJ)
-@@ -615,6 +616,18 @@ Python/formatter_unicode.o: $(srcdir)/Py
- 				$(srcdir)/Objects/stringlib/formatter.h
- 
+@@ -632,6 +633,18 @@ Objects/typeobject.o: $(srcdir)/Objects/
+ $(srcdir)/Objects/typeslots.inc: $(srcdir)/Include/typeslots.h $(srcdir)/Objects/typeslots.py
+ 	$(PYTHON) $(srcdir)/Objects/typeslots.py < $(srcdir)/Include/typeslots.h > $(srcdir)/Objects/typeslots.inc
  
 +# Only needed with --with-dtrace
 +buildinclude:
@@ -92,19 +84,19 @@ diff -up Python-3.2a1/Makefile.pre.in.systemtap Python-3.2a1/Makefile.pre.in
  ############################################################################
  # Header files
  
-@@ -1248,7 +1261,7 @@ Python/thread.o: @THREADHEADERS@
+@@ -1282,7 +1295,7 @@ Python/thread.o: @THREADHEADERS@
  .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
  .PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
- .PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean 
+ .PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
 -.PHONY: smelly funny patchcheck
 +.PHONY: smelly funny patchcheck buildinclude
  .PHONY: gdbhooks
  
  # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
-diff -up Python-3.2a1/pyconfig.h.in.systemtap Python-3.2a1/pyconfig.h.in
---- Python-3.2a1/pyconfig.h.in.systemtap	2010-08-02 16:18:33.696001964 -0400
-+++ Python-3.2a1/pyconfig.h.in	2010-08-02 16:21:48.566001832 -0400
-@@ -1078,6 +1078,9 @@
+diff -up Python-3.2b2/pyconfig.h.in.systemtap Python-3.2b2/pyconfig.h.in
+--- Python-3.2b2/pyconfig.h.in.systemtap	2010-11-20 05:29:12.000000000 -0500
++++ Python-3.2b2/pyconfig.h.in	2010-12-28 16:58:41.765937360 -0500
+@@ -1092,6 +1092,9 @@
  /* Define if you want documentation strings in extension modules */
  #undef WITH_DOC_STRINGS
  
@@ -114,10 +106,10 @@ diff -up Python-3.2a1/pyconfig.h.in.systemtap Python-3.2a1/pyconfig.h.in
  /* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic
     linker (dyld) instead of the old-style (NextStep) dynamic linker (rld).
     Dyld is necessary to support frameworks. */
-diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
---- Python-3.2a1/Python/ceval.c.systemtap	2010-07-20 18:39:34.000000000 -0400
-+++ Python-3.2a1/Python/ceval.c	2010-08-02 16:23:58.703001000 -0400
-@@ -19,6 +19,10 @@
+diff -up Python-3.2b2/Python/ceval.c.systemtap Python-3.2b2/Python/ceval.c
+--- Python-3.2b2/Python/ceval.c.systemtap	2010-12-03 15:14:31.000000000 -0500
++++ Python-3.2b2/Python/ceval.c	2010-12-28 16:58:41.768935588 -0500
+@@ -18,6 +18,10 @@
  
  #include <ctype.h>
  
@@ -128,7 +120,7 @@ diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
  #ifndef WITH_TSC
  
  #define READ_TIMESTAMP(var)
-@@ -752,6 +756,70 @@ PyEval_EvalCode(PyCodeObject *co, PyObje
+@@ -766,6 +770,70 @@ PyEval_EvalCode(PyObject *co, PyObject *
  }
  
  
@@ -199,7 +191,7 @@ diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
  /* Interpreter main loop */
  
  PyObject *
-@@ -1156,6 +1224,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int
+@@ -1183,6 +1251,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int
          }
      }
  
@@ -210,7 +202,7 @@ diff -up Python-3.2a1/Python/ceval.c.systemtap Python-3.2a1/Python/ceval.c
      co = f->f_code;
      names = co->co_names;
      consts = co->co_consts;
-@@ -3046,6 +3118,9 @@ fast_yield:
+@@ -3048,6 +3120,9 @@ fast_yield:
  
      /* pop frame */
  exit_eval_frame:
diff --git a/python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch b/python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch
new file mode 100644
index 0000000..6ed7801
--- /dev/null
+++ b/python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch
@@ -0,0 +1,17 @@
+diff -up Python-3.2b2/Lib/test/test_weakref.py.test-weakref-COUNT_ALLOCS_fix Python-3.2b2/Lib/test/test_weakref.py
+--- Python-3.2b2/Lib/test/test_weakref.py.test-weakref-COUNT_ALLOCS_fix	2010-12-28 20:33:46.963364990 -0500
++++ Python-3.2b2/Lib/test/test_weakref.py	2010-12-28 20:35:44.115935248 -0500
+@@ -583,9 +583,10 @@ class ReferencesTestCase(TestBase):
+         # been cleared without their callbacks executing.  OTOH, the weakref
+         # to C is bound to a function local (wr), and wasn't trash, so that
+         # callback should have been invoked when C went away.
+-        self.assertEqual(alist, ["C went away"])
+-        # The remaining weakref should be dead now (its callback ran).
+-        self.assertEqual(wr(), None)
++        if not hasattr(sys, 'getcounts'):
++            self.assertEqual(alist, ["C went away"])
++            # The remaining weakref should be dead now (its callback ran).
++            self.assertEqual(wr(), None)
+ 
+         del alist[:]
+         gc.collect()
diff --git a/python-3.2b2-test_sys-COUNT_ALLOCS.patch b/python-3.2b2-test_sys-COUNT_ALLOCS.patch
new file mode 100644
index 0000000..c1871ac
--- /dev/null
+++ b/python-3.2b2-test_sys-COUNT_ALLOCS.patch
@@ -0,0 +1,13 @@
+diff -up Python-3.2b2/Lib/test/test_sys.py.fix-test-sys-COUNT_ALLOCS Python-3.2b2/Lib/test/test_sys.py
+--- Python-3.2b2/Lib/test/test_sys.py.fix-test-sys-COUNT_ALLOCS	2010-12-28 20:52:43.236310184 -0500
++++ Python-3.2b2/Lib/test/test_sys.py	2010-12-28 20:58:09.164184094 -0500
+@@ -817,6 +817,9 @@ class SizeofTest(unittest.TestCase):
+         # (PyTypeObject + PyNumberMethods + PyMappingMethods +
+         #  PySequenceMethods + PyBufferProcs)
+         s = size(vh + 'P2P15Pl4PP9PP11PI') + size('16Pi17P 3P 10P 2P 2P')
++        # COUNT_ALLOCS adds a further 3 Py_ssize_t and 2 pointers:
++        if hasattr(sys, 'getcounts'):
++            s += size('3P2P')
+         check(int, s)
+         # class
+         class newstyleclass(object): pass
diff --git a/python3.spec b/python3.spec
index ec10905..985bdb2 100644
--- a/python3.spec
+++ b/python3.spec
@@ -1,9 +1,27 @@
 %global pybasever 3.2
-%global alphatag  a1
+
+# pybasever without the dot:
+%global pyshortver 32
+
+%global alphatag  b2
 
 %global pylibdir %{_libdir}/python%{pybasever}
 %global dynload_dir %{pylibdir}/lib-dynload
 
+# SOABI is defined in the upstream configure.in from Python-3.2a2 onwards,
+# for PEP 3149:
+#   http://www.python.org/dev/peps/pep-3149/
+
+# ABIFLAGS, LDVERSION and SOABI are in the upstream Makefile
+%global ABIFLAGS_optimized mu
+%global ABIFLAGS_debug     dmu
+
+%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
+%global LDVERSION_debug     %{pybasever}%{ABIFLAGS_debug}
+
+%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}
+%global SOABI_debug     cpython-%{pyshortver}%{ABIFLAGS_debug}
+
 # All bytecode files are now in a __pycache__ subdirectory, with a name
 # reflecting the version of the bytecode (to permit sharing of python libraries
 # between different runtimes)
@@ -23,8 +41,8 @@
 # (if these get out of sync, the payload of the libs subpackage will fail
 # and halt the build)
 %global py_SOVERSION 1.0
-%global py_INSTSONAME_optimized libpython%{pybasever}.so.%{py_SOVERSION}
-%global py_INSTSONAME_debug     libpython%{pybasever}_d.so.%{py_SOVERSION}
+%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.%{py_SOVERSION}
+%global py_INSTSONAME_debug     libpython%{LDVERSION_debug}.so.%{py_SOVERSION}
 
 %global with_debug_build 1
 
@@ -149,91 +167,20 @@ Patch1:         Python-3.1.1-rpath.patch
 
 # The four TestMIMEAudio tests fail due to "audiotest.au" not being packaged.
 # It's simplest to remove them:
-Patch3: python-3.2a1-remove-mimeaudio-tests.patch
-
-# ImportTests.test_issue1267 in test_imp.py reads pydoc.py's shebang line and
-# checks that it read it correctly.
-#
-# Since we modify the shebang lines in our packaging, we also need to modify
-# the expected value in this test:
-Patch4: python-3.2a1-apply-our-changes-to-expected-shebang-for-test_imp.patch
+Patch3: python-3.2b2-remove-mimeaudio-tests.patch
 
 # Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
 # a libpythonMAJOR.MINOR.a (bug 550692):
-Patch6: python-3.2a1-no-static-lib.patch
+Patch6: python-3.2b2-no-static-lib.patch
 
 # Systemtap support: add statically-defined probe points
 # Patch based on upstream bug: http://bugs.python.org/issue4111
 # fixed up by mjw and wcohen for 2.6.2, then fixed up by dmalcolm for 2.6.4
 # then rewritten by mjw (attachment 390110 of rhbz 545179); ported to 3.1.1 by
 # dmalcolm
-Patch8: python-3.2a1-systemtap.patch
+Patch8: python-3.2b2-systemtap.patch
 
-Patch102: python-3.2a1-lib64.patch
-
-# Patch to support building both optimized vs debug stacks DSO ABIs, sharing
-# the same .py and .pyc files, using "_d.so" to signify a debug build of an
-# extension module.
-#
-# Based on Debian's patch for the same, 
-#  http://patch-tracker.debian.org/patch/series/view/python2.6/2.6.5-2/debug-build.dpatch
-# 
-# (which was itself based on the upstream Windows build), but with some
-# changes:
-#
-#   * Debian's patch to dynload_shlib.c looks for module_d.so, then module.so,
-# but this can potentially find a module built against the wrong DSO ABI.  We
-# instead search for just module_d.so in a debug build
-#
-#   * We remove this change from configure.in's build of the Makefile:
-#   SO=$DEBUG_EXT.so
-# so that sysconfig.py:customize_compiler stays with shared_lib_extension='.so'
-# on debug builds, so that UnixCCompiler.find_library_file can find system
-# libraries (otherwise "make sharedlibs" fails to find system libraries,
-# erroneously looking e.g. for "libffi_d.so" rather than "libffi.so")
-#
-#   * We change Lib/distutils/command/build_ext.py:build_ext.get_ext_filename
-# to add the _d there, when building an extension.  This way, "make sharedlibs"
-# can build ctypes, by finding the sysmtem libffi.so (rather than failing to
-# find "libffi_d.so"), and builds the module as _ctypes_d.so
-#   
-#   * Similarly, update build_ext:get_libraries handling of Py_ENABLE_SHARED by
-# appending "_d" to the python library's name for the debug configuration
-#
-#   * We modify Modules/makesetup to add the "_d" to the generated Makefile
-# rules for the various Modules/*.so targets
-#
-# This may introduce issues when building an extension that links directly
-# against another extension (e.g. users of NumPy?), but seems more robust when
-# searching for external libraries
-#
-#   * We don't change Lib/distutils/command/build.py: build.build_purelib to
-# embed plat_specifier, leaving it as is, as pure python builds should be
-# unaffected by these differences (we'll be sharing the .py and .pyc files)
-#
-#   * We introduce DEBUG_SUFFIX as well as DEBUG_EXT:
-#     - DEBUG_EXT is used by ELF files (names and SONAMEs); it will be "_d" for
-# a debug build
-#     - DEBUG_SUFFIX is used by filesystem paths; it will be "-debug" for a
-# debug build
-#
-#   Both will be empty in an optimized build.  "_d" contains characters that
-# are valid ELF metadata, but this leads to various ugly filesystem paths (such
-# as the include path), and DEBUG_SUFFIX allows these paths to have more natural
-# names.  Changing this requires changes elsewhere in the distutils code.
-#
-#   * We add DEBUG_SUFFIX to PYTHON in the Makefile, so that the two
-# configurations build parallel-installable binaries with different names
-# ("python-debug" vs "python").
-#
-#   * Similarly, we add DEBUG_SUFFIX within python-config and
-#  python$(VERSION)-config, so that the two configuration get different paths
-#  for these.
-#
-#  * Patch runtests.sh to support supplying a value for PYTHON, so that we can
-# run the tests against each of the builds
-
-Patch103: python-3.2a1-debug-build.patch
+Patch102: python-3.2b2-lib64.patch
 
 # Add configure-time support for the COUNT_ALLOCS and CALL_PROFILE options
 # described at http://svn.python.org/projects/python/trunk/Misc/SpecialBuilds.txt
@@ -245,17 +192,6 @@ Patch104: python-3.1.2-more-configuration-flags.patch
 # (rhbz:553020); partially upstream as http://bugs.python.org/issue7647
 Patch105: python-3.2a1-statvfs-f_flag-constants.patch
 
-# Fix an incompatibility between pyexpat and the system expat-2.0.1 that led to
-# a segfault running test_pyexpat.py (rhbz:610312)
-# Sent upstream as http://bugs.python.org/issue9054
-Patch110: python-3.1.2-fix-expat-issue9054.patch
-
-# Fix race condition in parallel make that could lead to graminit.c failing
-# to compile, or linker errors with "undefined reference to
-# `_PyParser_Grammar'":
-# Not yet sent upstream:
-Patch111: python-3.2a1-fix-parallel-make.patch
-
 # COUNT_ALLOCS is useful for debugging, but the upstream behaviour of always
 # emitting debug info to stdout on exit is too verbose and makes it harder to
 # use the debug build.  Add a "PYTHONDUMPCOUNTS" environment variable which
@@ -263,6 +199,20 @@ Patch111: python-3.2a1-fix-parallel-make.patch
 # Not yet sent upstream:
 Patch125: less-verbose-COUNT_ALLOCS.patch
 
+# test_weakref's test_callback_in_cycle_resurrection doesn't work with
+# COUNT_ALLOCS, as the metrics keep "C" alive.  Work around this for our
+# debug build:
+# Not yet sent upstream
+Patch126: python-3.2b2-test-weakref-COUNT_ALLOCS_fix.patch
+
+# Similar COUNT_ALLOCS fixes for test_gc
+# Not yet sent upstream
+Patch127: python-3.2b2-fix-test-gc-COUNT_ALLOCS.patch
+
+# Similar COUNT_ALLOCS fixes for test_sys
+# Not yet sent upstream
+Patch128: python-3.2b2-test_sys-COUNT_ALLOCS.patch
+
 # This is the generated patch to "configure"; see the description of
 #   %{regenerate_autotooling_patch}
 # above:
@@ -408,7 +358,6 @@ rm -r Modules/zlib || exit 1
 #
 %patch1 -p1
 %patch3 -p1 -b .remove-mimeaudio-tests
-%patch4 -p1 -b .apply-our-changes-to-expected-shebang
 %patch6 -p1 -b .no-static-lib
 
 %if 0%{?with_systemtap}
@@ -419,17 +368,14 @@ rm -r Modules/zlib || exit 1
 %patch102 -p1
 %endif
 
-%patch103 -p1
-
 %patch104 -p1 -b .more-configuration-flags
 
 %patch105 -p1 -b .statvfs-f-flag-constants
 
-%patch110 -p0 -b .fix-expat-issue9054
-
-%patch111 -p1 -b .parallel-grammar
-
 %patch125 -p1 -b .less-verbose-COUNT_ALLOCS
+%patch126 -p1
+%patch127 -p1
+%patch128 -p1
 
 # Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
 # are many differences between 2.6 and the Python 3 library.
@@ -632,10 +578,21 @@ install -d -m 0755 %{buildroot}/usr/lib/python%{pybasever}/site-packages/__pycac
 %global _pyconfig_h %{_pyconfig32_h}
 %endif
 
+# ABIFLAGS, LDVERSION and SOABI are in the upstream Makefile
+%global ABIFLAGS_optimized mu
+%global ABIFLAGS_debug     dmu
+
+%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
+%global LDVERSION_debug     %{pybasever}%{ABIFLAGS_debug}
+
+%global SOABI_optimized cpython-%{pyshortver}%{ABIFLAGS_optimized}
+%global SOABI_debug     cpython-%{pyshortver}%{ABIFLAGS_debug}
+
 %if 0%{?with_debug_build}
-%global PyIncludeDirs python%{pybasever} python%{pybasever}-debug
+%global PyIncludeDirs python%{LDVERSION_optimized} python%{LDVERSION_debug}
+
 %else
-%global PyIncludeDirs python%{pybasever}
+%global PyIncludeDirs python%{LDVERSION_optimized}
 %endif
 
 for PyIncludeDir in %{PyIncludeDirs} ; do
@@ -739,14 +696,14 @@ ldd %{buildroot}/%{dynload_dir}/_curses*.so \
 # likewise for the optimized modules and libpython:
 for Module in %{buildroot}/%{dynload_dir}/*.so ; do
     case $Module in
-    *_d.so)
+    *.%{SOABI_debug})
         ldd $Module | grep %{py_INSTSONAME_optimized} &&
-            (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exi 1)
+            (echo Debug module $Module linked against optimized %{py_INSTSONAME_optimized} ; exit 1)
             
         ;;
-    *)
+    *.%{SOABI_optimized})
         ldd $Module | grep %{py_INSTSONAME_debug} &&
-            (echo Optimized module $Module linked against debug %{py_INSTSONAME_optimized} ; exi 1)
+            (echo Optimized module $Module linked against debug %{py_INSTSONAME_debug} ; exit 1)
         ;;
     esac
 done
@@ -784,59 +741,30 @@ sed \
 topdir=$(pwd)
 CheckPython() {
   ConfName=$1	      
-  ConfDir=build/$ConfName
+  ConfDir=$(pwd)/build/$ConfName
 
   echo STARTING: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
 
-# Run the upstream test suite, using the "runtests.sh" harness from the upstream
-# tarball.
-# I'm seeing occasional hangs in some http tests when running the test suite
-# inside Koji.  For that reason I exclude them
-
-LD_LIBRARY_PATH=$ConfDir PYTHON=$ConfDir/python $topdir/runtests.sh -x test_httplib test_http_cookies
+# Run the upstream test suite
+LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest -x test_distutils test_httplib test_http_cookies test_socket test_telnet
 
 # Note that we're running the tests using the version of the code in the builddir,
 # not in the buildroot.
 
-# The harness only emits the names of the test scripts it ran, along with a
-# summary of the form:
-#   2 BAD
-# 313 GOOD
-#  22 SKIPPED
-# 337 total
-# As a byproduct it writes files "GOOD", "BAD", "SKIPPED", listing names of
-# files (e.g. "test_imp") along with a subdirectory OUT containing files of the
-# form $TEST.out
-# Each such logfile starts with a line indicating the name of the test
-
-# Output the logs from failing tests, so that they are captured in the rpmbuild
-# log:
-for TESTNAME in $(cat BAD); do
-  cat OUT/$TESTNAME.out ; 
-done
-
-# There are 5 expected BAD results here:
+# I'm seeing occasional hangs in some http tests when running the test suite
+# inside Koji.  For that reason I exclude them
+#
+# Other known failures:
 #
 # (1) test_distutils.py: tries to build an RPM inside the rpmbuild; I'll simply
 # let this one fail for now (has trouble linking against -lpython3.1; perhaps
 # LD_LIBRARY_PATH is being discarded somewhere?)
 #
-# (2) test_imp.py: ImportTests.test_issue1267 in test_imp.py reads pydoc.py's
-# shebang line and checks that it read it correctly.tests that the shebang line
-# is as expected.  Unfortunately if we patch this up in the buildir (in the
-# build phase), then the "make install" will try to reference
-# /usr/bin/python%{pybasever} which won't exist on a clean build environment.
-# So we fix up the shebang lines after this in the install phase, and expect
-# this test to fail in the check phase.  It ought to pass when run on the built
-# RPMs
-#
-# (3) test_socket.py:testSockName can fail here if DNS isn't properly set up:
+# (2) test_socket.py:testSockName can fail here if DNS isn't properly set up:
 #     my_ip_addr = socket.gethostbyname(socket.gethostname())
 # socket.gaierror: [Errno -2] Name or service not known
 #
-# (4) test_subprocess: merely get "errors occurred"
-#
-# (5) test_telnet: can get a "socket.error: [Errno 104] Connection reset by peer"
+# (3) test_telnet: can get a "socket.error: [Errno 104] Connection reset by peer"
 #
 # Some additional tests fail when running the test suite as non-root outside of
 # the build, due to permissions issues.
@@ -865,6 +793,7 @@ rm -fr %{buildroot}
 %{_bindir}/pydoc*
 %{_bindir}/python3
 %{_bindir}/python%{pybasever}
+%{_bindir}/python%{pybasever}mu
 %{_mandir}/*/*
 
 %files libs
@@ -873,61 +802,59 @@ rm -fr %{buildroot}
 %dir %{pylibdir}
 %dir %{dynload_dir}
 %{dynload_dir}/Python-%{version}%{alphatag}-py%{pybasever}.egg-info
-%{dynload_dir}/_bisect.so
-%{dynload_dir}/_codecs_cn.so
-%{dynload_dir}/_codecs_hk.so
-%{dynload_dir}/_codecs_iso2022.so
-%{dynload_dir}/_codecs_jp.so
-%{dynload_dir}/_codecs_kr.so
-%{dynload_dir}/_codecs_tw.so
-%{dynload_dir}/_collections.so
-%{dynload_dir}/_csv.so
-%{dynload_dir}/_ctypes.so
-%{dynload_dir}/_curses.so
-%{dynload_dir}/_curses_panel.so
-%{dynload_dir}/_dbm.so
-%{dynload_dir}/_elementtree.so
-%{dynload_dir}/_gdbm.so
-%{dynload_dir}/_hashlib.so
-%{dynload_dir}/_heapq.so
-%{dynload_dir}/_json.so
-%{dynload_dir}/_lsprof.so
-%{dynload_dir}/_multibytecodec.so
-%{dynload_dir}/_multiprocessing.so
-%{dynload_dir}/_pickle.so
-%{dynload_dir}/_posixsubprocess.so
-%{dynload_dir}/_random.so
-%{dynload_dir}/_socket.so
-%{dynload_dir}/_sqlite3.so
-%{dynload_dir}/_ssl.so
-%{dynload_dir}/_struct.so
-%{dynload_dir}/array.so
-%{dynload_dir}/atexit.so
-%{dynload_dir}/audioop.so
-%{dynload_dir}/binascii.so
-%{dynload_dir}/bz2.so
-%{dynload_dir}/cmath.so
-%{dynload_dir}/crypt.so
-%{dynload_dir}/_datetime.so
-%{dynload_dir}/fcntl.so
-%{dynload_dir}/grp.so
-%{dynload_dir}/itertools.so
-%{dynload_dir}/math.so
-%{dynload_dir}/mmap.so
-%{dynload_dir}/nis.so
-%{dynload_dir}/operator.so
-%{dynload_dir}/ossaudiodev.so
-%{dynload_dir}/parser.so
-%{dynload_dir}/pyexpat.so
-%{dynload_dir}/readline.so
-%{dynload_dir}/resource.so
-%{dynload_dir}/select.so
-%{dynload_dir}/spwd.so
-%{dynload_dir}/syslog.so
-%{dynload_dir}/termios.so
-%{dynload_dir}/time.so
-%{dynload_dir}/unicodedata.so
-%{dynload_dir}/zlib.so
+%{dynload_dir}/_bisect.%{SOABI_optimized}.so
+%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so
+%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so
+%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so
+%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so
+%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so
+%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so
+%{dynload_dir}/_csv.%{SOABI_optimized}.so
+%{dynload_dir}/_ctypes.%{SOABI_optimized}.so
+%{dynload_dir}/_curses.%{SOABI_optimized}.so
+%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so
+%{dynload_dir}/_dbm.%{SOABI_optimized}.so
+%{dynload_dir}/_elementtree.%{SOABI_optimized}.so
+%{dynload_dir}/_gdbm.%{SOABI_optimized}.so
+%{dynload_dir}/_hashlib.%{SOABI_optimized}.so
+%{dynload_dir}/_heapq.%{SOABI_optimized}.so
+%{dynload_dir}/_json.%{SOABI_optimized}.so
+%{dynload_dir}/_lsprof.%{SOABI_optimized}.so
+%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so
+%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so
+%{dynload_dir}/_pickle.%{SOABI_optimized}.so
+%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so
+%{dynload_dir}/_random.%{SOABI_optimized}.so
+%{dynload_dir}/_socket.%{SOABI_optimized}.so
+%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so
+%{dynload_dir}/_ssl.%{SOABI_optimized}.so
+%{dynload_dir}/_struct.%{SOABI_optimized}.so
+%{dynload_dir}/array.%{SOABI_optimized}.so
+%{dynload_dir}/atexit.%{SOABI_optimized}.so
+%{dynload_dir}/audioop.%{SOABI_optimized}.so
+%{dynload_dir}/binascii.%{SOABI_optimized}.so
+%{dynload_dir}/bz2.%{SOABI_optimized}.so
+%{dynload_dir}/cmath.%{SOABI_optimized}.so
+%{dynload_dir}/crypt.%{SOABI_optimized}.so
+%{dynload_dir}/_datetime.%{SOABI_optimized}.so
+%{dynload_dir}/fcntl.%{SOABI_optimized}.so
+%{dynload_dir}/grp.%{SOABI_optimized}.so
+%{dynload_dir}/math.%{SOABI_optimized}.so
+%{dynload_dir}/mmap.%{SOABI_optimized}.so
+%{dynload_dir}/nis.%{SOABI_optimized}.so
+%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so
+%{dynload_dir}/parser.%{SOABI_optimized}.so
+%{dynload_dir}/pyexpat.%{SOABI_optimized}.so
+%{dynload_dir}/readline.%{SOABI_optimized}.so
+%{dynload_dir}/resource.%{SOABI_optimized}.so
+%{dynload_dir}/select.%{SOABI_optimized}.so
+%{dynload_dir}/spwd.%{SOABI_optimized}.so
+%{dynload_dir}/syslog.%{SOABI_optimized}.so
+%{dynload_dir}/termios.%{SOABI_optimized}.so
+%{dynload_dir}/time.%{SOABI_optimized}.so
+%{dynload_dir}/unicodedata.%{SOABI_optimized}.so
+%{dynload_dir}/xxlimited.%{SOABI_optimized}.so
+%{dynload_dir}/zlib.%{SOABI_optimized}.so
 
 %dir %{pylibdir}/site-packages/
 %dir %{pylibdir}/site-packages/__pycache__/
@@ -936,63 +863,90 @@ rm -fr %{buildroot}
 %dir %{pylibdir}/__pycache__/
 %{pylibdir}/__pycache__/*%{bytecode_suffixes}
 %{pylibdir}/wsgiref.egg-info
-%dir %{pylibdir}/ctypes
+
+%dir %{pylibdir}/concurrent/
+%dir %{pylibdir}/concurrent/__pycache__/
+%{pylibdir}/concurrent/*.py
+%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes}
+
+%dir %{pylibdir}/concurrent/futures/
+%dir %{pylibdir}/concurrent/futures/__pycache__/
+%{pylibdir}/concurrent/futures/*.py
+%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes}
+
+%dir %{pylibdir}/ctypes/
 %dir %{pylibdir}/ctypes/__pycache__/
 %{pylibdir}/ctypes/*.py
 %{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes}
 %{pylibdir}/ctypes/macholib
+
 %{pylibdir}/curses
-%dir %{pylibdir}/dbm
+
+%dir %{pylibdir}/dbm/
 %dir %{pylibdir}/dbm/__pycache__/
 %{pylibdir}/dbm/*.py
 %{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes}
-%dir %{pylibdir}/distutils
+
+%dir %{pylibdir}/distutils/
 %dir %{pylibdir}/distutils/__pycache__/
 %{pylibdir}/distutils/*.py
 %{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes}
 %{pylibdir}/distutils/README
 %{pylibdir}/distutils/command
-%dir %{pylibdir}/email
+
+%dir %{pylibdir}/email/
 %dir %{pylibdir}/email/__pycache__/
 %{pylibdir}/email/*.py
 %{pylibdir}/email/__pycache__/*%{bytecode_suffixes}
 %{pylibdir}/email/mime
+
 %{pylibdir}/encodings
 %{pylibdir}/html
 %{pylibdir}/http
 %{pylibdir}/idlelib
-%dir %{pylibdir}/importlib
+
+%dir %{pylibdir}/importlib/
 %dir %{pylibdir}/importlib/__pycache__/
 %{pylibdir}/importlib/*.py
 %{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes}
-%dir %{pylibdir}/json
+
+%dir %{pylibdir}/json/
 %dir %{pylibdir}/json/__pycache__/
 %{pylibdir}/json/*.py
 %{pylibdir}/json/__pycache__/*%{bytecode_suffixes}
+
 %{pylibdir}/lib2to3
 %exclude %{pylibdir}/lib2to3/tests
 %{pylibdir}/logging
 %{pylibdir}/multiprocessing
 %{pylibdir}/plat-linux2
 %{pylibdir}/pydoc_data
-%dir %{pylibdir}/sqlite3
+
+%dir %{pylibdir}/sqlite3/
 %dir %{pylibdir}/sqlite3/__pycache__/
 %{pylibdir}/sqlite3/*.py
 %{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes}
-%dir %{pylibdir}/test
+
+%dir %{pylibdir}/test/
 %dir %{pylibdir}/test/__pycache__/
 %{pylibdir}/test/__init__.py
 %{pylibdir}/test/support.py
 %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes}
 %{pylibdir}/test/__pycache__/support%{bytecode_suffixes}
-%dir %{pylibdir}/unittest
+
+%exclude %{pylibdir}/turtle.py
+%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
+
+%dir %{pylibdir}/unittest/
 %dir %{pylibdir}/unittest/__pycache__/
 %{pylibdir}/unittest/*.py
 %{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes}
+
 %{pylibdir}/urllib
 %{pylibdir}/wsgiref
 %{pylibdir}/xml
 %{pylibdir}/xmlrpc
+
 %if "%{_lib}" == "lib64"
 %attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}
 %attr(0755,root,root) %dir %{_prefix}/lib/python%{pybasever}/site-packages
@@ -1002,10 +956,10 @@ rm -fr %{buildroot}
 # "Makefile" and the config-32/64.h file are needed by
 # distutils/sysconfig.py:_init_posix(), so we include them in the core
 # package, along with their parent directories (bug 531901):
-%dir %{pylibdir}/config
-%{pylibdir}/config/Makefile
-%dir %{_includedir}/python%{pybasever}
-%{_includedir}/python%{pybasever}/%{_pyconfig_h}
+%dir %{pylibdir}/config-%{LDVERSION_optimized}/
+%{pylibdir}/config-%{LDVERSION_optimized}/Makefile
+%dir %{_includedir}/python%{LDVERSION_optimized}/
+%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
 
 %{_libdir}/%{py_INSTSONAME_optimized}
 %if 0%{?with_systemtap}
@@ -1015,14 +969,16 @@ rm -fr %{buildroot}
 
 %files devel
 %defattr(-,root,root)
-%{pylibdir}/config/*
-%exclude %{pylibdir}/config/Makefile
-/usr/include/python%{pybasever}/*.h
-%exclude /usr/include/python%{pybasever}/%{_pyconfig_h}
+%{pylibdir}/config-%{LDVERSION_optimized}/*
+%exclude %{pylibdir}/config-%{LDVERSION_optimized}/Makefile
+%{_includedir}/python%{LDVERSION_optimized}/*.h
+%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
 %doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
 %{_bindir}/python3-config
 %{_bindir}/python%{pybasever}-config
-%{_libdir}/libpython%{pybasever}.so
+%{_bindir}/python%{LDVERSION_optimized}-config
+%{_libdir}/libpython%{LDVERSION_optimized}.so
+%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc
 %{_libdir}/pkgconfig/python-%{pybasever}.pc
 %{_libdir}/pkgconfig/python3.pc
 %config(noreplace) %{_sysconfdir}/rpm/macros.python3
@@ -1042,7 +998,15 @@ rm -fr %{buildroot}
 %defattr(-,root,root,755)
 %{pylibdir}/tkinter
 %exclude %{pylibdir}/tkinter/test
-%{dynload_dir}/_tkinter.so
+%{dynload_dir}/_tkinter.%{SOABI_optimized}.so
+%{pylibdir}/turtle.py
+%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
+%dir %{pylibdir}/turtledemo
+%{pylibdir}/turtledemo/*.py
+%{pylibdir}/turtledemo/*.txt
+%{pylibdir}/turtledemo/*.cfg
+%dir %{pylibdir}/turtledemo/__pycache__/
+%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}
 
 %files test
 %defattr(-, root, root)
@@ -1050,11 +1014,10 @@ rm -fr %{buildroot}
 %{pylibdir}/distutils/tests
 %{pylibdir}/email/test
 %{pylibdir}/importlib/test
-%{pylibdir}/json/tests
 %{pylibdir}/sqlite3/test
 %{pylibdir}/test
-%{dynload_dir}/_ctypes_test.so
-%{dynload_dir}/_testcapi.so
+%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
+%{dynload_dir}/_testcapi.%{SOABI_optimized}.so
 %{pylibdir}/lib2to3/tests
 %doc %{pylibdir}/Demo/distutils
 %doc %{pylibdir}/Demo/md5test
@@ -1073,70 +1036,66 @@ rm -fr %{buildroot}
 %defattr(-,root,root,-)
 
 # Analog of the core subpackage's files:
-%{_bindir}/python3-debug
-%{_bindir}/python%{pybasever}-debug
+%{_bindir}/python%{LDVERSION_debug}
 
 # Analog of the -libs subpackage's files:
 # ...with debug builds of the built-in "extension" modules:
-%{dynload_dir}/_bisect_d.so
-%{dynload_dir}/_codecs_cn_d.so
-%{dynload_dir}/_codecs_hk_d.so
-%{dynload_dir}/_codecs_iso2022_d.so
-%{dynload_dir}/_codecs_jp_d.so
-%{dynload_dir}/_codecs_kr_d.so
-%{dynload_dir}/_codecs_tw_d.so
-%{dynload_dir}/_collections_d.so
-%{dynload_dir}/_csv_d.so
-%{dynload_dir}/_ctypes_d.so
-%{dynload_dir}/_curses_d.so
-%{dynload_dir}/_curses_panel_d.so
-%{dynload_dir}/_dbm_d.so
-%{dynload_dir}/_elementtree_d.so
-%{dynload_dir}/_gdbm_d.so
-%{dynload_dir}/_hashlib_d.so
-%{dynload_dir}/_heapq_d.so
-%{dynload_dir}/_json_d.so
-%{dynload_dir}/_lsprof_d.so
-%{dynload_dir}/_md5_d.so
-%{dynload_dir}/_multibytecodec_d.so
-%{dynload_dir}/_multiprocessing_d.so
-%{dynload_dir}/_pickle_d.so
-%{dynload_dir}/_posixsubprocess_d.so
-%{dynload_dir}/_random_d.so
-%{dynload_dir}/_sha1_d.so
-%{dynload_dir}/_sha256_d.so
-%{dynload_dir}/_sha512_d.so
-%{dynload_dir}/_socket_d.so
-%{dynload_dir}/_sqlite3_d.so
-%{dynload_dir}/_ssl_d.so
-%{dynload_dir}/_struct_d.so
-%{dynload_dir}/array_d.so
-%{dynload_dir}/atexit_d.so
-%{dynload_dir}/audioop_d.so
-%{dynload_dir}/binascii_d.so
-%{dynload_dir}/bz2_d.so
-%{dynload_dir}/cmath_d.so
-%{dynload_dir}/crypt_d.so
-%{dynload_dir}/_datetime_d.so
-%{dynload_dir}/fcntl_d.so
-%{dynload_dir}/grp_d.so
-%{dynload_dir}/itertools_d.so
-%{dynload_dir}/math_d.so
-%{dynload_dir}/mmap_d.so
-%{dynload_dir}/nis_d.so
-%{dynload_dir}/operator_d.so
-%{dynload_dir}/ossaudiodev_d.so
-%{dynload_dir}/parser_d.so
-%{dynload_dir}/pyexpat_d.so
-%{dynload_dir}/readline_d.so
-%{dynload_dir}/resource_d.so
-%{dynload_dir}/select_d.so
-%{dynload_dir}/spwd_d.so
-%{dynload_dir}/syslog_d.so
-%{dynload_dir}/termios_d.so
-%{dynload_dir}/time_d.so
-%{dynload_dir}/unicodedata_d.so
-%{dynload_dir}/zlib_d.so
+%{dynload_dir}/_bisect.%{SOABI_debug}.so
+%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so
+%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so
+%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so
+%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so
+%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so
+%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so
+%{dynload_dir}/_csv.%{SOABI_debug}.so
+%{dynload_dir}/_ctypes.%{SOABI_debug}.so
+%{dynload_dir}/_curses.%{SOABI_debug}.so
+%{dynload_dir}/_curses_panel.%{SOABI_debug}.so
+%{dynload_dir}/_dbm.%{SOABI_debug}.so
+%{dynload_dir}/_elementtree.%{SOABI_debug}.so
+%{dynload_dir}/_gdbm.%{SOABI_debug}.so
+%{dynload_dir}/_hashlib.%{SOABI_debug}.so
+%{dynload_dir}/_heapq.%{SOABI_debug}.so
+%{dynload_dir}/_json.%{SOABI_debug}.so
+%{dynload_dir}/_lsprof.%{SOABI_debug}.so
+%{dynload_dir}/_md5.%{SOABI_debug}.so
+%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so
+%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so
+%{dynload_dir}/_pickle.%{SOABI_debug}.so
+%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so
+%{dynload_dir}/_random.%{SOABI_debug}.so
+%{dynload_dir}/_sha1.%{SOABI_debug}.so
+%{dynload_dir}/_sha256.%{SOABI_debug}.so
+%{dynload_dir}/_sha512.%{SOABI_debug}.so
+%{dynload_dir}/_socket.%{SOABI_debug}.so
+%{dynload_dir}/_sqlite3.%{SOABI_debug}.so
+%{dynload_dir}/_ssl.%{SOABI_debug}.so
+%{dynload_dir}/_struct.%{SOABI_debug}.so
+%{dynload_dir}/array.%{SOABI_debug}.so
+%{dynload_dir}/atexit.%{SOABI_debug}.so
+%{dynload_dir}/audioop.%{SOABI_debug}.so
+%{dynload_dir}/binascii.%{SOABI_debug}.so
+%{dynload_dir}/bz2.%{SOABI_debug}.so
+%{dynload_dir}/cmath.%{SOABI_debug}.so
+%{dynload_dir}/crypt.%{SOABI_debug}.so
+%{dynload_dir}/_datetime.%{SOABI_debug}.so
+%{dynload_dir}/fcntl.%{SOABI_debug}.so
+%{dynload_dir}/grp.%{SOABI_debug}.so
+%{dynload_dir}/math.%{SOABI_debug}.so
+%{dynload_dir}/mmap.%{SOABI_debug}.so
+%{dynload_dir}/nis.%{SOABI_debug}.so
+%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so
+%{dynload_dir}/parser.%{SOABI_debug}.so
+%{dynload_dir}/pyexpat.%{SOABI_debug}.so
+%{dynload_dir}/readline.%{SOABI_debug}.so
+%{dynload_dir}/resource.%{SOABI_debug}.so
+%{dynload_dir}/select.%{SOABI_debug}.so
+%{dynload_dir}/spwd.%{SOABI_debug}.so
+%{dynload_dir}/syslog.%{SOABI_debug}.so
+%{dynload_dir}/termios.%{SOABI_debug}.so
+%{dynload_dir}/time.%{SOABI_debug}.so
+%{dynload_dir}/unicodedata.%{SOABI_debug}.so
+%{dynload_dir}/zlib.%{SOABI_debug}.so
 
 # No need to split things out the "Makefile" and the config-32/64.h file as we
 # do for the regular build above (bug 531901), since they're all in one package
@@ -1148,25 +1107,22 @@ rm -fr %{buildroot}
 %endif
 
 # Analog of the -devel subpackage's files:
-%dir %{pylibdir}/config-debug
-%{pylibdir}/config-debug/*
-%{_includedir}/python%{pybasever}-debug/*.h
-%{_bindir}/python3-debug-config
-%{_bindir}/python%{pybasever}-debug-config
-%{_libdir}/libpython%{pybasever}_d.so
-%{_libdir}/pkgconfig/python-%{pybasever}-debug.pc
-%{_libdir}/pkgconfig/python3-debug.pc
+%{pylibdir}/config-%{LDVERSION_debug}
+%{_includedir}/python%{LDVERSION_debug}
+%{_bindir}/python%{LDVERSION_debug}-config
+%{_libdir}/libpython%{LDVERSION_debug}.so
+%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc
 
 # Analog of the -tools subpackage's files:
 #  None for now; we could build precanned versions that have the appropriate
 # shebang if needed
 
 # Analog  of the tkinter subpackage's files:
-%{dynload_dir}/_tkinter_d.so
+%{dynload_dir}/_tkinter.%{SOABI_debug}.so
 
 # Analog  of the -test subpackage's files:
-%{dynload_dir}/_ctypes_test_d.so
-%{dynload_dir}/_testcapi_d.so
+%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so
+%{dynload_dir}/_testcapi.%{SOABI_debug}.so
 
 %endif # with_debug_build
 
@@ -1185,6 +1141,25 @@ rm -fr %{buildroot}
 
 
 %changelog
+* Tue Dec 28 2010 David Malcolm <dmalcolm at redhat.com> - 3.2-0.5.b2
+- 3.2b2
+- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs),
+patch 8 (systemtap), patch 102 (lib64)
+- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149),
+patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar
+fixed upstream)
+- regenerate patch 300 (autotool intermediates)
+- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127,
+patch 128)
+- stop using runtest.sh in %%check (dropped by upstream), replacing with
+regrtest; fixup list of failing tests
+- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros
+- rework manifests of shared libraries to use "SOABI_" macros, reflecting
+PEP 3149
+- drop itertools, operator and _collections modules from the manifests as py3k
+commit r84058 moved these inside libpython; json/tests moved to test/json_tests
+- move turtle code into the tkinter subpackage
+
 * Wed Nov 17 2010 David Malcolm <dmalcolm at redhat.com> - 3.2-0.5.a1
 - fix sysconfig to not rely on the -devel subpackage (rhbz#653058)
 
diff --git a/sources b/sources
index c49803c..812bc20 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
 b371e1f7a0e98e7a0d1792823fd0f58c  Python-3.2a1.tar.bz2
+45ab5ff5edfb73ec277b1c763f3d5a42  Python-3.2b2.tar.bz2


More information about the scm-commits mailing list