Mandrake Linux Archives: cooker@mandrivalinux.org

Mandrake Linux: cooker@mandrivalinux.org


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

  • From: Gaetan Lehmann
  • Subject: Re: [Cooker] noarch python packages shared berween i586 and x86_64 ?
  • Date: 22 May 2005 20:38:45 -0000

On Sunday 22 May 2005 17:15, Michael Scherer wrote:
> The problem is that Python use the same directory for compiled C module
> and python module.
> And there is no distinction for this in the distutils modules ( at least
> for installation. ).

there is a distinction. The command 

python setup.py install --install-purelib /usr/lib/python2.4/site-packages/ 
--install-platlib /usr/lib64/python2.4/site-packages/

install biopython (wich contains modules coded in C) in /usr/lib64/python2.4 
but install ipython and urlgrabber (pure python modules) 
in /usr/lib/python2.4/

fedora patch python to use this patch by default (from fedora python patch) :

--- Python-2.4b1/Lib/distutils/sysconfig.py.lib64	2004-10-13 
11:54:16.000000000 -0400
+++ Python-2.4b1/Lib/distutils/sysconfig.py	2004-11-04 14:35:15.886227488 
-0500
@@ -99,8 +99,12 @@
         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:
--- Python-2.4b1/Lib/distutils/command/install.py.lib64	2004-10-13 
08:35:28.000000000 -0400
+++ Python-2.4b1/Lib/distutils/command/install.py	2004-11-04 
14:35:15.886227488 -0500
@@ -39,14 +39,14 @@
 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',



and they add /usr/lib/python2.4 in default module path :


--- Python-2.4b2/Lib/site.py.lib64	2004-07-19 22:28:28.000000000 -0400
+++ Python-2.4b2/Lib/site.py	2004-11-08 20:49:09.444166632 -0500
@@ -179,9 +179,14 @@
                 sitedirs = [os.path.join(prefix, "Lib", "site-packages")]
             elif os.sep == '/':
                 sitedirs = [os.path.join(prefix,
-                                         "lib",
+                                         "lib64",
                                          "python" + sys.version[:3],
                                          "site-packages"),
+                            os.path.join(prefix,
+                                         "lib",
+                                         "python" + sys.version[:3],
+                                         "site-packages"),                            
+                            os.path.join(prefix, "lib64", "site-python"),
                             os.path.join(prefix, "lib", "site-python")]
             else:
                 sitedirs = [prefix, os.path.join(prefix, "lib", 
"site-packages")]



just great :-)
I hope cooker's python will be patched as soon as possible !



Date Index | Thread Index

Search the archive:



To (un)subscribe from/to the lists:

Sympa mailing lists server.





Fund the Mandriva Linux project

Looking for a job?