]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
SALOME 6.5.0 preparation: update scripts for Python (2.6.6)
authorinv <inv@opencascade.com>
Tue, 3 Apr 2012 15:16:56 +0000 (15:16 +0000)
committerinv <inv@opencascade.com>
Tue, 3 Apr 2012 15:16:56 +0000 (15:16 +0000)
13 files changed:
config_CentOS_5.5_64bit.xml
config_Debian_4.0.xml
config_Debian_4.0_64bit.xml
config_Debian_5.0_64bit.xml
config_Debian_6.0_64bit.xml
config_Mandriva_2008.0.xml
config_Mandriva_2008.0_64bit.xml
config_Mandriva_2010.0.xml
config_Mandriva_2010.0_64bit.xml
config_Red_Hat_Enterprise_WS_4_64bit.xml
config_Scientific_SL_5.1_64bit.xml
config_files/Python.sh [new file with mode: 0755]
config_files/patches/python_patch_lib64.patch [deleted file]

index a1e4616775ced8db5c7e84ea731627ba03256e82..d0f84f68154bb4eaa1cf2942f2781bc74c7b1fb4 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 7eb610066af3ac1e412208dd3ec707a98f3da7dd..ffe84ef9f05df1ad0e9c035e1763aa60557461dc 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index e17f1ddab622d94905d13def90e38dca4405c9b4..497f229c850ca59e26b09a53304dd389636da305 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 18ccca47e6f9d68dd2f51a1255635312cc220519..e2445108b750fecf5290eca87901c4182e920353 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index a2ed2d6971ee043d0bb3e654ec3019d52a9312b3..fbd9c7a09c80220896cdc1ae1e23cd81ad83d239 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 3b4bf0daf74e9c923dd83f445abc6f5166330808..6d44abe9d7be4be5b7908d7bf922ec50adf71bc4 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 2c54f0590fa2f0763e5677fd69cd76926ca50414..7ce898119c07492dfd599e2cfcbca9cd3aede9ca 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 66a9c90c45ec6125e6e3e9e81a837420ea5fadd4..74135d68b028ef554b86a47897fa9745677b0bd6 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 5c533a6b73a2a12b784e69a09ae3492031b549fd..30ca1ec0671ff72012f639ab2db187f9f5586c89 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 82a0bc5263e6e524abeaa26e0216940d7ea502f7..2cc7c11f78cfcfe8490c3bfd83e5ffdc1ceb0f11 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
index 4a77fbfab9b8fdda0167247d7372a4fd00003975..04944d533a8500e495903d65450e4a07ba6ffc9b 100755 (executable)
                     version="2.6.6" 
                    disable="false"
                    installdiskspace="75364,64576,169376"
-                   script="Python-2.6.6.sh"/>
+                   script="Python.sh"/>
     </product>
     <product name="Qt" 
             type="prerequisite"
diff --git a/config_files/Python.sh b/config_files/Python.sh
new file mode 100755 (executable)
index 0000000..53c75e9
--- /dev/null
@@ -0,0 +1,183 @@
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : Python.sh
+#  Created   : Thu Dec 18 12:01:00 2002
+#  Author    : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+#  Project   : SALOME
+#  Module    : Installation Wizard
+#  Copyright : 2002-2012 CEA
+#
+#  This script is the part of the SALOME installation procedure.
+#
+####################################################################################
+
+#
+# Python version
+#
+PY_VERSION=2.6.6
+PY_XVERSION=`echo ${PY_VERSION} | awk -F. '{v1=0;v2=0;v3=0;if(NF>0)v1=$1;if(NF>1)v2=$2;if(NF>2)v3=$3;print v1*10000+v2*100+v3}'`
+PY_LIBVERSION=`echo ${PY_VERSION} | awk -F. '{printf("%d.%d",$1,$2)}'`
+
+check_version()
+{
+if [ -z "$PYTHONHOME"  ]; then
+   return 1
+fi
+isPython=`which python 2>/dev/null`
+if [ -n "$isPython" ]; then
+  # version number is calculated as: <major>*10000+<minor>*100+<release>
+  ver=`python -V 2>&1`
+  ver=`echo $ver | awk '{print $2}' | awk -F. '{v1=0;v2=0;v3=0;if(NF>0)v1=$1;if(NF>1)v2=$2;if(NF>2)v3=$3;print v1*10000+v2*100+v3}'`
+  if [ $ver -eq ${PY_XVERSION} ] ;  then 
+    return 0
+  fi
+fi
+return 1 
+}
+
+print_env_bin()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+#$DELIM ${PRODUCT_TYPE} $DELIM
+export PYTHONROOT=\${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PYTHONHOME=\$PYTHONROOT
+export PATH=\${PYTHONROOT}/bin:\${PATH}
+export LD_LIBRARY_PATH=\${PYTHONROOT}/lib:\${LD_LIBRARY_PATH}
+export PYTHON_VERSION=$PY_LIBVERSION
+export PYTHON_INCLUDE=\${PYTHONROOT}/include/python\${PYTHON_VERSION}
+export PYTHONPATH=\${PYTHONROOT}/lib/python\${PYTHON_VERSION}:\${PYTHONPATH}
+##
+EOF
+(test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+print_env_src()
+{
+cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh <<EOF
+#$DELIM ${PRODUCT_TYPE}_src $DELIM
+# nothing to do
+##
+EOF
+(test -w ${PRODUCT_SRC_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}_src.sh ${PRODUCT_SRC_DIR})
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
+}
+
+try_preinstalled(){
+try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+try_existing ${PRODUCT_SRC_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+return $?
+}
+
+install_source()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}_src
+source ${INSTALL_WORK}/$SHRC
+
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${INST_ROOT}
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+cd ${PRODUCT_SRC_DIR}
+
+export PYTHON_ARCHIVE_PREFIX=""
+PYTHON_CONFIGURE_OPTIONS="--with-threads --with-cxx=`which g++` --enable-shared --without-test --with-libs=-lstdc++"
+### --with-pydebug ### (for debug)
+
+tcl_dir=`where_tcl`
+tk_dir=`where_tk`
+INCDIR=
+LIBDIR=
+if [ "${tcl_dir}" != "" ] ; then
+    source ${tk_dir}/tclConfig.sh
+    INCDIR="${TCL_INCLUDE_SPEC}"
+    LIBDIR="-L${TCL_PACKAGE_PATH}"
+fi
+#if [ "${tk_dir}" != "" ] ; then
+#    INCDIR="${INCDIR} ${TK_INCLUDE_SPEC}"
+#    LIBDIR="${LIBDIR} -L${TCL_PACKAGE_PATH}"
+#fi
+
+if test `uname -m` = "x86_64" ; then
+    PYTHON_CONFIGURE_OPTIONS="${PYTHON_CONFIGURE_OPTIONS} CFLAGS=-m64 CXXFLAGS=-m64"
+fi
+
+check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --prefix=${PRODUCT_DIR} $PYTHON_CONFIGURE_OPTIONS CPPFLAGS="${INCDIR}" LDFLAGS="${LIBDIR}"
+
+GCC=`which gcc`
+cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
+used gcc=$GCC
+EOF
+unset PYTHONPATH PYTHONHOME
+check_job ${PRODUCT_DIR}/MAKE.LOG make 
+check_job ${PRODUCT_DIR}/MAKINSTALL.LOG make install
+(cd ${PRODUCT_DIR}/lib${PYTHON_LIB_PREFIX}/python${PY_LIBVERSION}/config; ln -fs ../../libpython${PY_LIBVERSION}.so.1.0 libpython${PY_LIBVERSION}.so)
+
+cd ${PRODUCT_DIR}/bin
+for sc in idle pydoc smtpd.py 2to3 python${PY_LIBVERSION}-config ; do
+    if [ -e $sc ] ; then
+       sed -i "s%^#\!.*python.*$%#\!/usr/bin/env python%" "$sc"
+    fi
+done
+
+cd ${PRODUCT_DIR};
+
+# remove sources and temporary files after building
+if [ ${REMOVE_SRC_TMP} == "TRUE" ] ; then
+    test -d ${PRODUCT_SRC_DIR} && rm -fr ${PRODUCT_SRC_DIR}
+fi
+
+# to generate environment scripts
+try_preinstalled
+}
+
+install_binary()
+{
+make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
+source ${INSTALL_WORK}/$SHRC
+
+# create a product directory
+test -z ${SINGLE_DIR} && makedir ${PRODUCT_DIR} || mkdir -p ${PRODUCT_DIR}
+
+check_jb tar xfz ${SOURCE_DIR}/${PRODUCT}.tar.gz -C ${PRODUCT_DIR}
+
+(cd ${PRODUCT_DIR}/lib/python${PY_LIBVERSION}/config; ln -fs ../../libpython${PY_LIBVERSION}.so.1.0 libpython${PY_LIBVERSION}.so)
+(cd ${PRODUCT_DIR}/lib/python${PY_LIBVERSION}/config && test -e Makefile && sed -i "s%^\(prefix[[:space:]]*=[[:space:]]*\).*%\1${PRODUCT_DIR}%g;s%^\(CONFIG_ARGS[[:space:]]*=.*\)--prefix=[^']*'%\1--prefix=${PRODUCT_DIR}'%g" Makefile)
+
+cd ${PRODUCT_DIR}/bin
+for sc in idle pydoc smtpd.py ; do
+    if [ -e $sc ] ; then
+       sed -i "s%#\!.*python%#\!/usr/bin/env python%" "$sc"
+    fi
+done
+
+# to generate environment scripts
+try_preinstalled
+}
+
+export PROCEDURE=$1;
+export INSTALL_WORK=$2;
+export SOURCE_DIR=$3;
+export INST_ROOT=$4;
+export PRODUCT_SEQUENCE=$5;
+export PRODUCT_TYPE=$6;
+export INSTALL_PRODUCTS=$7;
+shift
+REMOVE_SRC_TMP=$8;
+test $# == 10 && shift && SINGLE_DIR=$9
+export PRODUCT="Python-${PY_VERSION}"
+export PRODUCT_DIR=${INST_ROOT}/${SINGLE_DIR:-${PRODUCT}}
+export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
+export PRODUCT_SRC_DIR=${INST_ROOT}/${PRODUCT}_SRC
+source ./common.sh
+${PROCEDURE}
diff --git a/config_files/patches/python_patch_lib64.patch b/config_files/patches/python_patch_lib64.patch
deleted file mode 100755 (executable)
index 1e99600..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-diff -Naur --exclude=CVS Python-2.4.4/configure.in Python-2.4.4-patched/configure.in
---- Python-2.4.4/configure.in  2006-10-17 20:03:36.000000000 +0400
-+++ Python-2.4.4-patched/configure.in  2007-04-23 19:31:52.000000000 +0400
-@@ -494,6 +494,41 @@
-     ;;
- esac
-+AC_SUBST(ARCH)
-+AC_MSG_CHECKING(ARCH)
-+ARCH=`uname -m`
-+case $ARCH in
-+i?86) ARCH=i386;;
-+esac
-+AC_MSG_RESULT($ARCH)
-+
-+AC_SUBST(LIB)
-+AC_MSG_CHECKING(LIB)
-+case $ac_sys_system in
-+Linux*)
-+  # Test if the compiler is 64bit
-+  echo 'int i;' > conftest.$ac_ext
-+  python_cv_cc_64bit_output=no
-+  if AC_TRY_EVAL(ac_compile); then
-+    case `/usr/bin/file conftest.$ac_objext` in
-+    *"ELF 64"*)
-+      python_cv_cc_64bit_output=yes
-+      ;;
-+    esac
-+  fi
-+  rm -rf conftest*
-+  ;;
-+esac
-+
-+case $ARCH:$python_cv_cc_64bit_output in
-+powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes)
-+  LIB="lib64"
-+  ;;
-+*:*)
-+  LIB="lib"
-+  ;;
-+esac
-+AC_MSG_RESULT($LIB)
- AC_SUBST(LIBRARY)
- AC_MSG_CHECKING(LIBRARY)
-diff -Naur --exclude=CVS Python-2.4.4/Include/pythonrun.h Python-2.4.4-patched/Include/pythonrun.h
---- Python-2.4.4/Include/pythonrun.h   2004-10-07 07:58:07.000000000 +0400
-+++ Python-2.4.4-patched/Include/pythonrun.h   2007-04-23 19:10:18.000000000 +0400
-@@ -93,6 +93,8 @@
- /* In their own files */
- PyAPI_FUNC(const char *) Py_GetVersion(void);
- PyAPI_FUNC(const char *) Py_GetPlatform(void);
-+PyAPI_FUNC(const char *) Py_GetArch(void);
-+PyAPI_FUNC(const char *) Py_GetLib(void);
- PyAPI_FUNC(const char *) Py_GetCopyright(void);
- PyAPI_FUNC(const char *) Py_GetCompiler(void);
- PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
-diff -Naur --exclude=CVS Python-2.4.4/Lib/distutils/command/install.py Python-2.4.4-patched/Lib/distutils/command/install.py
---- Python-2.4.4/Lib/distutils/command/install.py      2005-01-20 22:15:39.000000000 +0300
-+++ Python-2.4.4-patched/Lib/distutils/command/install.py      2007-04-23 19:12:27.000000000 +0400
-@@ -19,6 +19,8 @@
- from distutils.errors import DistutilsOptionError
- from glob import glob
-+libname = sys.lib
-+
- if sys.version < "2.2":
-     WINDOWS_SCHEME = {
-         'purelib': '$base',
-@@ -38,15 +40,15 @@
- INSTALL_SCHEMES = {
-     'unix_prefix': {
--        'purelib': '$base/lib/python$py_version_short/site-packages',
--        'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+        'purelib': '$base/'+libname+'/python$py_version_short/site-packages',
-+        'platlib': '$platbase/'+libname+'/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',
-+        'purelib': '$base/'+libname+'/python',
-+        'platlib': '$base/'+libname+'/python',
-         'headers': '$base/include/python/$dist_name',
-         'scripts': '$base/bin',
-         'data'   : '$base',
-diff -Naur --exclude=CVS Python-2.4.4/Lib/distutils/sysconfig.py Python-2.4.4-patched/Lib/distutils/sysconfig.py
---- Python-2.4.4/Lib/distutils/sysconfig.py    2006-10-08 21:41:25.000000000 +0400
-+++ Python-2.4.4-patched/Lib/distutils/sysconfig.py    2007-04-23 19:21:19.000000000 +0400
-@@ -100,7 +100,7 @@
-     if os.name == "posix":
-         libpython = os.path.join(prefix,
--                                 "lib", "python" + get_python_version())
-+                                 sys.lib, "python" + get_python_version())
-         if standard_lib:
-             return libpython
-         else:
-diff -Naur --exclude=CVS Python-2.4.4/Lib/distutils/tests/test_install.py Python-2.4.4-patched/Lib/distutils/tests/test_install.py
---- Python-2.4.4/Lib/distutils/tests/test_install.py   2004-06-26 03:02:59.000000000 +0400
-+++ Python-2.4.4-patched/Lib/distutils/tests/test_install.py   2007-04-23 19:20:24.000000000 +0400
-@@ -1,6 +1,7 @@
- """Tests for distutils.command.install."""
- import os
-+import sys
- import unittest
- from distutils.command.install import install
-@@ -38,7 +39,7 @@
-             expected = os.path.normpath(expected)
-             self.assertEqual(got, expected)
--        libdir = os.path.join(destination, "lib", "python")
-+        libdir = os.path.join(destination, sys.lib, "python")
-         check_path(cmd.install_lib, libdir)
-         check_path(cmd.install_platlib, libdir)
-         check_path(cmd.install_purelib, libdir)
-diff -Naur --exclude=CVS Python-2.4.4/Lib/site.py Python-2.4.4-patched/Lib/site.py
---- Python-2.4.4/Lib/site.py   2004-07-20 06:28:28.000000000 +0400
-+++ Python-2.4.4-patched/Lib/site.py   2007-04-23 19:23:19.000000000 +0400
-@@ -179,12 +179,18 @@
-                 sitedirs = [os.path.join(prefix, "Lib", "site-packages")]
-             elif os.sep == '/':
-                 sitedirs = [os.path.join(prefix,
--                                         "lib",
-+                                         sys.lib,
-                                          "python" + sys.version[:3],
-                                          "site-packages"),
--                            os.path.join(prefix, "lib", "site-python")]
-+                            os.path.join(prefix, sys.lib, "site-python")]
-+                if sys.lib != 'lib':
-+                    sitedirs.append(os.path.join(prefix,
-+                                                 'lib',
-+                                                 "python" + sys.version[:3],
-+                                                 "site-packages"))
-+                    sitedirs.append(os.path.join(prefix, 'lib', "site-python"))
-             else:
--                sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")]
-+                sitedirs = [prefix, os.path.join(prefix, sys.lib, "site-packages")]
-             if sys.platform == 'darwin':
-                 # for framework builds *only* we add the standard Apple
-                 # locations. Currently only per-user, but /Library and
-diff -Naur --exclude=CVS Python-2.4.4/Makefile.pre.in Python-2.4.4-patched/Makefile.pre.in
---- Python-2.4.4/Makefile.pre.in       2006-10-08 21:41:25.000000000 +0400
-+++ Python-2.4.4-patched/Makefile.pre.in       2007-04-23 19:34:43.000000000 +0400
-@@ -70,6 +70,8 @@
- # Machine-dependent subdirectories
- MACHDEP=      @MACHDEP@
-+LIB=          @LIB@
-+ARCH=         @ARCH@
- # Install prefix for architecture-independent files
- prefix=               @prefix@
-@@ -79,11 +81,11 @@
- # Expanded directories
- BINDIR=               $(exec_prefix)/bin
--LIBDIR=               $(exec_prefix)/lib
-+LIBDIR=               $(exec_prefix)/$(LIB)
- MANDIR=               @mandir@
- INCLUDEDIR=   @includedir@
- CONFINCLUDEDIR=       $(exec_prefix)/include
--SCRIPTDIR=    $(prefix)/lib
-+SCRIPTDIR=    $(prefix)/$(LIB)
- # Detailed destination directories
- BINLIBDEST=   $(LIBDIR)/python$(VERSION)
-@@ -471,7 +473,7 @@
- Python/compile.o Python/symtable.o: $(GRAMMAR_H)
- Python/getplatform.o: $(srcdir)/Python/getplatform.c
--              $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-+              $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
- Python/importdl.o: $(srcdir)/Python/importdl.c
-               $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-diff -Naur --exclude=CVS Python-2.4.4/Modules/getpath.c Python-2.4.4-patched/Modules/getpath.c
---- Python-2.4.4/Modules/getpath.c     2006-02-20 20:37:39.000000000 +0300
-+++ Python-2.4.4-patched/Modules/getpath.c     2007-04-23 19:25:34.000000000 +0400
-@@ -111,9 +111,17 @@
- #define EXEC_PREFIX PREFIX
- #endif
-+#ifndef LIB_PYTHON
-+#if defined(__x86_64__)
-+#define LIB_PYTHON "lib64/python" VERSION
-+#else
-+#define LIB_PYTHON "lib/python" VERSION
-+#endif
-+#endif
-+
- #ifndef PYTHONPATH
--#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
--              EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
-+#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \
-+              EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload"
- #endif
- #ifndef LANDMARK
-@@ -124,7 +132,7 @@
- static char exec_prefix[MAXPATHLEN+1];
- static char progpath[MAXPATHLEN+1];
- static char *module_search_path = NULL;
--static char lib_python[] = "lib/python" VERSION;
-+static char lib_python[] = LIB_PYTHON;
- static void
- reduce(char *dir)
-diff -Naur --exclude=CVS Python-2.4.4/Python/getplatform.c Python-2.4.4-patched/Python/getplatform.c
---- Python-2.4.4/Python/getplatform.c  2000-09-02 03:29:29.000000000 +0400
-+++ Python-2.4.4-patched/Python/getplatform.c  2007-04-23 19:27:19.000000000 +0400
-@@ -10,3 +10,23 @@
- {
-       return PLATFORM;
- }
-+
-+#ifndef ARCH
-+#define ARCH "unknown"
-+#endif
-+
-+const char *
-+Py_GetArch(void)
-+{
-+      return ARCH;
-+}
-+
-+#ifndef LIB
-+#define LIB "lib"
-+#endif
-+
-+const char *
-+Py_GetLib(void)
-+{
-+      return LIB;
-+}
-diff -Naur --exclude=CVS Python-2.4.4/Python/sysmodule.c Python-2.4.4-patched/Python/sysmodule.c
---- Python-2.4.4/Python/sysmodule.c    2006-10-05 22:08:58.000000000 +0400
-+++ Python-2.4.4-patched/Python/sysmodule.c    2007-04-23 19:29:43.000000000 +0400
-@@ -1035,6 +1035,10 @@
-                           PyString_FromString(Py_GetCopyright()));
-       SET_SYS_FROM_STRING("platform",
-                           PyString_FromString(Py_GetPlatform()));
-+      SET_SYS_FROM_STRING("arch",
-+                          PyString_FromString(Py_GetArch()));
-+      SET_SYS_FROM_STRING("lib",
-+                          PyString_FromString(Py_GetLib()));
-       SET_SYS_FROM_STRING("executable",
-                           PyString_FromString(Py_GetProgramFullPath()));
-       SET_SYS_FROM_STRING("prefix",
-diff -Naur --exclude=CVS Python-2.4.4/setup.py Python-2.4.4-patched/setup.py
---- Python-2.4.4/setup.py      2006-10-08 21:41:25.000000000 +0400
-+++ Python-2.4.4-patched/setup.py      2007-04-23 19:38:02.000000000 +0400
-@@ -263,12 +263,12 @@
-         except NameError:
-             have_unicode = 0
-+        libname = sys.lib
-         # lib_dirs and inc_dirs are used to search for files;
-         # if a file is found in one of those directories, it can
-         # be assumed that no additional -I,-L directives are needed.
-         lib_dirs = self.compiler.library_dirs + [
--            '/lib64', '/usr/lib64',
--            '/lib', '/usr/lib',
-+            libname, '/usr/'+libname
-             ]
-         inc_dirs = self.compiler.include_dirs + ['/usr/include']
-         exts = []
-@@ -450,7 +450,7 @@
-             elif self.compiler.find_library_file(lib_dirs, 'curses'):
-                 readline_libs.append('curses')
-             elif self.compiler.find_library_file(lib_dirs +
--                                               ['/usr/lib/termcap'],
-+                                               ['/usr/'+libname+'/termcap'],
-                                                'termcap'):
-                 readline_libs.append('termcap')
-@@ -465,7 +465,7 @@
-                 readline_extra_link_args = ()
-             exts.append( Extension('readline', ['readline.c'],
--                                   library_dirs=['/usr/lib/termcap'],
-+                                   library_dirs=['/usr/'+libname+'/termcap'],
-                                    extra_link_args=readline_extra_link_args,
-                                    libraries=readline_libs) )
-         if platform not in ['mac']:
-@@ -1069,8 +1069,8 @@
-             added_lib_dirs.append('/usr/openwin/lib')
-         elif os.path.exists('/usr/X11R6/include'):
-             include_dirs.append('/usr/X11R6/include')
--            added_lib_dirs.append('/usr/X11R6/lib64')
--            added_lib_dirs.append('/usr/X11R6/lib')
-+            added_lib_dirs.append('/usr/X11R6/'+sys.lib)
-+            #added_lib_dirs.append('/usr/X11R6/lib')
-         elif os.path.exists('/usr/X11R5/include'):
-             include_dirs.append('/usr/X11R5/include')
-             added_lib_dirs.append('/usr/X11R5/lib')