From 5080ffc5d367eee28d2c2268675e98bde0dfcf1b Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Dec 29 2010 18:26:29 +0000 Subject: * Tue Dec 28 2010 David Malcolm - 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 --- 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 . + # + # + # 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 &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` + 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.2a1-lib64.patch b/python-3.2a1-lib64.patch deleted file mode 100644 index dd259c0..0000000 --- a/python-3.2a1-lib64.patch +++ /dev/null @@ -1,165 +0,0 @@ -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 -@@ -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', - 'scripts': '$base/bin', - 'data' : '$base', - }, - 'unix_home': { - 'purelib': '$base/lib/python', -- 'platlib': '$base/lib/python', -+ 'platlib': '$base/lib64/python', - '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 - prefix = plat_specific and EXEC_PREFIX or PREFIX - - if os.name == "posix": -+ if plat_specific or standard_lib: -+ lib = "lib64" -+ else: -+ lib = "lib" - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib, "python" + get_python_version()) - 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(): - if sys.platform in ('os2emx', 'riscos'): - sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) - elif os.sep == '/': -+ sitepackages.append(os.path.join(prefix, "lib64", -+ "python" + sys.version[:3], -+ "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", - "python" + sys.version[:3], - "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", "site-python")) - else: - sitepackages.append(prefix) -+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) - 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@ - MANDIR= @mandir@ - INCLUDEDIR= @includedir@ - CONFINCLUDEDIR= $(exec_prefix)/include --SCRIPTDIR= $(prefix)/lib -+SCRIPTDIR= $(prefix)/lib64 - - # 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 @@ - #endif - - #ifndef PYTHONPATH --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" -+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ -+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" - #endif - - #ifndef LANDMARK -@@ -129,7 +129,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) - } - else - wcsncpy(zip_path, L"" 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) - fprintf(stderr, - "Could not find platform dependent libraries \n"); - wcsncpy(exec_prefix, L"" 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 -- 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): - elif curses_library: - readline_libs.append(curses_library) - elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -+ ['/usr/lib64/termcap'], - 'termcap'): - readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], -+ library_dirs=['/usr/lib64/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) - else: -@@ -628,8 +628,8 @@ class PyBuildExt(build_ext): - if krb5_h: - ssl_incs += krb5_h - ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, -- ['/usr/local/ssl/lib', -- '/usr/contrib/ssl/lib/' -+ ['/usr/local/ssl/lib64', -+ '/usr/contrib/ssl/lib64/' - ] ) - - 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.2a1-no-static-lib.patch deleted file mode 100644 index 6dd8147..0000000 --- a/python-3.2a1-no-static-lib.patch +++ /dev/null @@ -1,50 +0,0 @@ -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: - - - # 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;; \ - esac - --# Build static library --# avoid long command lines, same as LIBRARY_OBJS --$(LIBRARY): $(LIBRARY_OBJS) -- -rm -f $@ -- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o -- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) -- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) -- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) -- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS) -- $(AR) $(ARFLAGS) $@ $(MODOBJS) -- $(RANLIB) $@ -- - libpython$(VERSION).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 - else true; \ - fi; \ - done -- @if test -d $(LIBRARY); then :; else \ -- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ -- if test "$(SO)" = .dll; then \ -- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ -- else \ -- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ -- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ -- fi; \ -- else \ -- echo Skip install of $(LIBRARY) - use make frameworkinstall; \ -- fi; \ -- fi - $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c - $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o - $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in diff --git a/python-3.2a1-remove-mimeaudio-tests.patch b/python-3.2a1-remove-mimeaudio-tests.patch deleted file mode 100644 index ff67690..0000000 --- a/python-3.2a1-remove-mimeaudio-tests.patch +++ /dev/null @@ -1,57 +0,0 @@ -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 - - - --# Test the basic MIMEAudio class --class TestMIMEAudio(unittest.TestCase): -- def setUp(self): -- # Make sure we pick up the audiotest.au that lives in email/test/data. -- # In Python, there's an audiotest.au living in Lib/test but that isn't -- # included in some binary distros that don't include the test -- # package. The trailing empty string on the .join() is significant -- # since findfile() will do a dirname(). -- datadir = os.path.join(os.path.dirname(landmark), 'data', '') -- with open(findfile('audiotest.au', datadir), 'rb') as fp: -- self._audiodata = fp.read() -- self._au = MIMEAudio(self._audiodata) -- -- def test_guess_minor_type(self): -- self.assertEqual(self._au.get_content_type(), 'audio/basic') -- -- def test_encoding(self): -- payload = self._au.get_payload() -- self.assertEqual(base64.decodebytes(bytes(payload, 'ascii')), -- self._audiodata) -- -- def test_checkSetMinor(self): -- au = MIMEAudio(self._audiodata, 'fish') -- self.assertEqual(au.get_content_type(), 'audio/fish') -- -- def test_add_header(self): -- eq = self.assertEqual -- unless = self.assertTrue -- self._au.add_header('Content-Disposition', 'attachment', -- filename='audiotest.au') -- eq(self._au['content-disposition'], -- 'attachment; filename="audiotest.au"') -- eq(self._au.get_params(header='content-disposition'), -- [('attachment', ''), ('filename', 'audiotest.au')]) -- eq(self._au.get_param('filename', header='content-disposition'), -- 'audiotest.au') -- missing = [] -- eq(self._au.get_param('attachment', header='content-disposition'), '') -- unless(self._au.get_param('foo', failobj=missing, -- header='content-disposition') is missing) -- # Try some missing stuff -- unless(self._au.get_param('foobar', missing) is missing) -- unless(self._au.get_param('attachment', missing, -- 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.2a1-systemtap.patch deleted file mode 100644 index 6770b58..0000000 --- a/python-3.2a1-systemtap.patch +++ /dev/null @@ -1,222 +0,0 @@ -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 - OPT="-DDYNAMIC_ANNOTATIONS_ENABLED=1 $OPT" - fi - -+# Check for dtrace support -+AC_MSG_CHECKING(for --with-dtrace) -+AC_ARG_WITH(dtrace, -+ AC_HELP_STRING(--with(out)-dtrace, disable/enable dtrace support)) -+ -+if test ! -z "$with_dtrace" -+then -+ if dtrace -G -o /dev/null -s $srcdir/Include/pydtrace.d 2>/dev/null -+ then -+ AC_DEFINE(WITH_DTRACE, 1, -+ [Define if you want to compile in Dtrace support]) -+ with_dtrace="Sun" -+ DTRACEOBJS="Python/dtrace.o" -+ DTRADEHDRS="" -+ elif dtrace -h -o /dev/null -s $srcdir/Include/pydtrace.d -+ then -+ AC_DEFINE(WITH_DTRACE, 1, -+ [Define if you want to compile in Dtrace support]) -+ with_dtrace="Apple" -+ DTRACEOBJS="" -+ DTRADEHDRS="pydtrace.h" -+ else -+ with_dtrace="no" -+ fi -+else -+ with_dtrace="no" -+fi -+ -+AC_MSG_RESULT($with_dtrace) -+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 -@@ -0,0 +1,10 @@ -+provider python { -+ probe function__entry(const char *, const char *, int); -+ probe function__return(const char *, const char *, int); -+}; -+ -+#pragma D attributes Evolving/Evolving/Common provider python provider -+#pragma D attributes Private/Private/Common provider python module -+#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 \ - Python/formatter_unicode.o \ - Python/$(DYNLOADFILE) \ -+ @DTRACEOBJS@ \ - $(LIBOBJS) \ - $(MACHDEP_OBJS) \ - $(THREADOBJ) -@@ -615,6 +616,18 @@ Python/formatter_unicode.o: $(srcdir)/Py - $(srcdir)/Objects/stringlib/formatter.h - - -+# Only needed with --with-dtrace -+buildinclude: -+ mkdir -p Include -+ -+Include/pydtrace.h: buildinclude $(srcdir)/Include/pydtrace.d -+ dtrace -o $@ $(DFLAGS) -C -h -s $(srcdir)/Include/pydtrace.d -+ -+Python/ceval.o: Include/pydtrace.h -+ -+Python/dtrace.o: buildinclude $(srcdir)/Include/pydtrace.d Python/ceval.o -+ dtrace -o $@ $(DFLAGS) -C -G -s $(srcdir)/Include/pydtrace.d Python/ceval.o -+ - ############################################################################ - # Header files - -@@ -1248,7 +1261,7 @@ Python/thread.o: @THREADHEADERS@ - .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure - .PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools - .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 @@ - /* Define if you want documentation strings in extension modules */ - #undef WITH_DOC_STRINGS - -+/* Define if you want to compile in Dtrace support */ -+#undef WITH_DTRACE -+ - /* 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 @@ - - #include - -+#ifdef WITH_DTRACE -+#include "pydtrace.h" -+#endif -+ - #ifndef WITH_TSC - - #define READ_TIMESTAMP(var) -@@ -752,6 +756,70 @@ PyEval_EvalCode(PyCodeObject *co, PyObje - } - - -+#ifdef WITH_DTRACE -+struct frame_marker_info -+{ -+ char *filename; -+ char *name; -+ int lineno; -+ -+ PyObject *utf8_filename; -+ PyObject *utf8_name; -+}; -+ -+static void -+get_frame_marker_info(PyFrameObject *f, struct frame_marker_info *fmi) -+{ -+ fmi->utf8_filename = PyUnicode_AsUTF8String(f->f_code->co_filename); -+ if (fmi->utf8_filename) { -+ fmi->filename = PyBytes_AsString(fmi->utf8_filename); -+ } else { -+ fmi->filename = NULL; -+ /* FIXME: clear the exception? */ -+ } -+ -+ fmi->utf8_name = PyUnicode_AsUTF8String(f->f_code->co_name); -+ if (fmi->utf8_name) { -+ fmi->name = PyBytes_AsString(fmi->utf8_name); -+ } else { -+ fmi->name = NULL; -+ /* FIXME: clear the exception? */ -+ } -+ -+ fmi->lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); -+} -+ -+static void -+release_frame_marker_info(struct frame_marker_info *fmi) -+{ -+ Py_XDECREF(fmi->utf8_filename); -+ Py_XDECREF(fmi->utf8_name); -+} -+ -+static void -+dtrace_entry(PyFrameObject *f) -+{ -+ struct frame_marker_info fmi; -+ get_frame_marker_info(f, &fmi); -+ PYTHON_FUNCTION_ENTRY(fmi.filename, fmi.name, fmi.lineno); -+ release_frame_marker_info(&fmi); -+} -+ -+static void -+dtrace_return(PyFrameObject *f) -+{ -+ struct frame_marker_info fmi; -+ get_frame_marker_info(f, &fmi); -+ PYTHON_FUNCTION_RETURN(fmi.filename, fmi.name, fmi.lineno); -+ release_frame_marker_info(&fmi); -+} -+#else -+#define PYTHON_FUNCTION_ENTRY_ENABLED() 0 -+#define PYTHON_FUNCTION_RETURN_ENABLED() 0 -+#define dtrace_entry(f) -+#define dtrace_return(f) -+#endif -+ - /* Interpreter main loop */ - - PyObject * -@@ -1156,6 +1224,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int - } - } - -+ if (PYTHON_FUNCTION_ENTRY_ENABLED()) { -+ dtrace_entry(f); -+ } -+ - co = f->f_code; - names = co->co_names; - consts = co->co_consts; -@@ -3046,6 +3118,9 @@ fast_yield: - - /* pop frame */ - exit_eval_frame: -+ if (PYTHON_FUNCTION_RETURN_ENABLED()) { -+ dtrace_return(f); -+ } - Py_LeaveRecursiveCall(); - tstate->frame = f->f_back; - 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.2b2-lib64.patch b/python-3.2b2-lib64.patch new file mode 100644 index 0000000..8d4e91f --- /dev/null +++ b/python-3.2b2-lib64.patch @@ -0,0 +1,200 @@ +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$abiflags/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', + }, + 'unix_home': { + 'purelib': '$base/lib/python', +- 'platlib': '$base/lib/python', ++ 'platlib': '$base/lib64/python', + 'headers': '$base/include/python/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +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": ++ if plat_specific or standard_lib: ++ lib = "lib64" ++ else: ++ lib = "lib" + libpython = os.path.join(prefix, +- "lib", "python" + get_python_version()) ++ lib, "python" + get_python_version()) + if standard_lib: + return libpython + else: +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 == '/': ++ sitepackages.append(os.path.join(prefix, "lib64", ++ "python" + sys.version[:3], ++ "site-packages")) + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "site-packages")) + sitepackages.append(os.path.join(prefix, "lib", "site-python")) + else: + sitepackages.append(prefix) ++ sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) + 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.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 +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 +-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ +- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ ++ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" + #endif + + #ifndef LANDMARK +@@ -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; + + static void + reduce(wchar_t *dir) +@@ -582,7 +582,7 @@ calculate_path(void) + } + else + 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]; +@@ -592,7 +592,7 @@ calculate_path(void) + fprintf(stderr, + "Could not find platform dependent libraries \n"); + 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.) */ + +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 +@@ -619,11 +619,11 @@ class PyBuildExt(build_ext): + elif curses_library: + readline_libs.append(curses_library) + elif self.compiler.find_library_file(lib_dirs + +- ['/usr/lib/termcap'], ++ ['/usr/lib64/termcap'], + 'termcap'): + readline_libs.append('termcap') + exts.append( Extension('readline', ['readline.c'], +- library_dirs=['/usr/lib/termcap'], ++ library_dirs=['/usr/lib64/termcap'], + extra_link_args=readline_extra_link_args, + libraries=readline_libs) ) + else: +@@ -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, +- ['/usr/local/ssl/lib', +- '/usr/contrib/ssl/lib/' ++ ['/usr/local/ssl/lib64', ++ '/usr/contrib/ssl/lib64/' + ] ) + + if (ssl_incs is not None and diff --git a/python-3.2b2-no-static-lib.patch b/python-3.2b2-no-static-lib.patch new file mode 100644 index 0000000..3ef3bc2 --- /dev/null +++ b/python-3.2b2-no-static-lib.patch @@ -0,0 +1,50 @@ +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) + + 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 +-# avoid long command lines, same as LIBRARY_OBJS +-$(LIBRARY): $(LIBRARY_OBJS) +- -rm -f $@ +- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o +- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) +- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) +- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) +- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS) +- $(AR) $(ARFLAGS) $@ $(MODOBJS) +- $(RANLIB) $@ +- + libpython$(LDVERSION).so: $(LIBRARY_OBJS) + if test $(INSTSONAME) != $(LDLIBRARY); then \ + $(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 +- @if test -d $(LIBRARY); then :; else \ +- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ +- if test "$(SO)" = .dll; then \ +- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ +- else \ +- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ +- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ +- fi; \ +- else \ +- echo Skip install of $(LIBRARY) - use make frameworkinstall; \ +- fi; \ +- fi + $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c + $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o + $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in diff --git a/python-3.2b2-remove-mimeaudio-tests.patch b/python-3.2b2-remove-mimeaudio-tests.patch new file mode 100644 index 0000000..118b7b2 --- /dev/null +++ b/python-3.2b2-remove-mimeaudio-tests.patch @@ -0,0 +1,57 @@ +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): +- # Make sure we pick up the audiotest.au that lives in email/test/data. +- # In Python, there's an audiotest.au living in Lib/test but that isn't +- # included in some binary distros that don't include the test +- # package. The trailing empty string on the .join() is significant +- # since findfile() will do a dirname(). +- datadir = os.path.join(os.path.dirname(landmark), 'data', '') +- with open(findfile('audiotest.au', datadir), 'rb') as fp: +- self._audiodata = fp.read() +- self._au = MIMEAudio(self._audiodata) +- +- def test_guess_minor_type(self): +- self.assertEqual(self._au.get_content_type(), 'audio/basic') +- +- def test_encoding(self): +- payload = self._au.get_payload() +- self.assertEqual(base64.decodebytes(bytes(payload, 'ascii')), +- self._audiodata) +- +- def test_checkSetMinor(self): +- au = MIMEAudio(self._audiodata, 'fish') +- self.assertEqual(au.get_content_type(), 'audio/fish') +- +- def test_add_header(self): +- eq = self.assertEqual +- unless = self.assertTrue +- self._au.add_header('Content-Disposition', 'attachment', +- filename='audiotest.au') +- eq(self._au['content-disposition'], +- 'attachment; filename="audiotest.au"') +- eq(self._au.get_params(header='content-disposition'), +- [('attachment', ''), ('filename', 'audiotest.au')]) +- eq(self._au.get_param('filename', header='content-disposition'), +- 'audiotest.au') +- missing = [] +- eq(self._au.get_param('attachment', header='content-disposition'), '') +- unless(self._au.get_param('foo', failobj=missing, +- header='content-disposition') is missing) +- # Try some missing stuff +- unless(self._au.get_param('foobar', missing) is missing) +- unless(self._au.get_param('attachment', missing, +- header='foobar') is missing) +- +- +- + # Test the basic MIMEImage class + class TestMIMEImage(unittest.TestCase): + def setUp(self): diff --git a/python-3.2b2-systemtap.patch b/python-3.2b2-systemtap.patch new file mode 100644 index 0000000..f87fc60 --- /dev/null +++ b/python-3.2b2-systemtap.patch @@ -0,0 +1,214 @@ +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 + ++# Check for dtrace support ++AC_MSG_CHECKING(for --with-dtrace) ++AC_ARG_WITH(dtrace, ++ AC_HELP_STRING(--with(out)-dtrace, disable/enable dtrace support)) ++ ++if test ! -z "$with_dtrace" ++then ++ if dtrace -G -o /dev/null -s $srcdir/Include/pydtrace.d 2>/dev/null ++ then ++ AC_DEFINE(WITH_DTRACE, 1, ++ [Define if you want to compile in Dtrace support]) ++ with_dtrace="Sun" ++ DTRACEOBJS="Python/dtrace.o" ++ DTRADEHDRS="" ++ elif dtrace -h -o /dev/null -s $srcdir/Include/pydtrace.d ++ then ++ AC_DEFINE(WITH_DTRACE, 1, ++ [Define if you want to compile in Dtrace support]) ++ with_dtrace="Apple" ++ DTRACEOBJS="" ++ DTRADEHDRS="pydtrace.h" ++ else ++ with_dtrace="no" ++ fi ++else ++ with_dtrace="no" ++fi ++ ++AC_MSG_RESULT($with_dtrace) ++AC_SUBST(DTRACEOBJS) ++AC_SUBST(DTRACEHDRS) ++ + # -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); ++ probe function__return(const char *, const char *, int); ++}; ++ ++#pragma D attributes Evolving/Evolving/Common provider python provider ++#pragma D attributes Private/Private/Common provider python module ++#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.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) +@@ -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: ++ mkdir -p Include ++ ++Include/pydtrace.h: buildinclude $(srcdir)/Include/pydtrace.d ++ dtrace -o $@ $(DFLAGS) -C -h -s $(srcdir)/Include/pydtrace.d ++ ++Python/ceval.o: Include/pydtrace.h ++ ++Python/dtrace.o: buildinclude $(srcdir)/Include/pydtrace.d Python/ceval.o ++ dtrace -o $@ $(DFLAGS) -C -G -s $(srcdir)/Include/pydtrace.d Python/ceval.o ++ + ############################################################################ + # Header files + +@@ -1282,7 +1295,7 @@ Python/thread.o: @THREADHEADERS@ + .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure + .PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools + .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.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 + ++/* Define if you want to compile in Dtrace support */ ++#undef WITH_DTRACE ++ + /* 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.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 + ++#ifdef WITH_DTRACE ++#include "pydtrace.h" ++#endif ++ + #ifndef WITH_TSC + + #define READ_TIMESTAMP(var) +@@ -766,6 +770,70 @@ PyEval_EvalCode(PyObject *co, PyObject * + } + + ++#ifdef WITH_DTRACE ++struct frame_marker_info ++{ ++ char *filename; ++ char *name; ++ int lineno; ++ ++ PyObject *utf8_filename; ++ PyObject *utf8_name; ++}; ++ ++static void ++get_frame_marker_info(PyFrameObject *f, struct frame_marker_info *fmi) ++{ ++ fmi->utf8_filename = PyUnicode_AsUTF8String(f->f_code->co_filename); ++ if (fmi->utf8_filename) { ++ fmi->filename = PyBytes_AsString(fmi->utf8_filename); ++ } else { ++ fmi->filename = NULL; ++ /* FIXME: clear the exception? */ ++ } ++ ++ fmi->utf8_name = PyUnicode_AsUTF8String(f->f_code->co_name); ++ if (fmi->utf8_name) { ++ fmi->name = PyBytes_AsString(fmi->utf8_name); ++ } else { ++ fmi->name = NULL; ++ /* FIXME: clear the exception? */ ++ } ++ ++ fmi->lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); ++} ++ ++static void ++release_frame_marker_info(struct frame_marker_info *fmi) ++{ ++ Py_XDECREF(fmi->utf8_filename); ++ Py_XDECREF(fmi->utf8_name); ++} ++ ++static void ++dtrace_entry(PyFrameObject *f) ++{ ++ struct frame_marker_info fmi; ++ get_frame_marker_info(f, &fmi); ++ PYTHON_FUNCTION_ENTRY(fmi.filename, fmi.name, fmi.lineno); ++ release_frame_marker_info(&fmi); ++} ++ ++static void ++dtrace_return(PyFrameObject *f) ++{ ++ struct frame_marker_info fmi; ++ get_frame_marker_info(f, &fmi); ++ PYTHON_FUNCTION_RETURN(fmi.filename, fmi.name, fmi.lineno); ++ release_frame_marker_info(&fmi); ++} ++#else ++#define PYTHON_FUNCTION_ENTRY_ENABLED() 0 ++#define PYTHON_FUNCTION_RETURN_ENABLED() 0 ++#define dtrace_entry(f) ++#define dtrace_return(f) ++#endif ++ + /* Interpreter main loop */ + + PyObject * +@@ -1183,6 +1251,10 @@ PyEval_EvalFrameEx(PyFrameObject *f, int + } + } + ++ if (PYTHON_FUNCTION_ENTRY_ENABLED()) { ++ dtrace_entry(f); ++ } ++ + co = f->f_code; + names = co->co_names; + consts = co->co_consts; +@@ -3048,6 +3120,9 @@ fast_yield: + + /* pop frame */ + exit_eval_frame: ++ if (PYTHON_FUNCTION_RETURN_ENABLED()) { ++ dtrace_return(f); ++ } + Py_LeaveRecursiveCall(); + tstate->frame = f->f_back; + 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 - 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 - 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