2011-01-20 39 views
2

我维护一个chrooted Linux映像,我有一个我想要安装到该chrooted映像的包。使用distutils安装INTO chrooted环境

这两个软件包最终都安装到两个位置;我无法弄清楚发生了什么以及如何解决这个问题。

我setup.py:

import os 
from distutils.core import setup 

setup(name='ServerLibrary', 
    version='1.1', 
    description='Server Framework', 
    author='Michael Brown', 
    scripts = [ 'foo.py' ], 
    packages = [ 'ServerLibrary' ], 
) 

os.chroot('/srv/nfs/chrooted-nfs-client/') 
setup(name='ClientLibrary', 
    version='1.1', 
    description='Client Framework', 
    author='Michael Brown', 
    packages = [ 'ClientLibrary' ], 
) 

什么是完成我想要做的最好方法是什么?

回答

1

我发现我需要为一组文件指定一个不同的构建目录。 distutils假设每一次都需要安装'build'内的所有东西。

希望我会救别人解决如何做到这一点的麻烦。这里是我的脚本的第二部分:

os.chroot('/srv/nfs/chrooted-nfs-client/') 
setup(name='ClientLibrary', 
    version='1.1', 
    description='Client Framework', 
    author='Michael Brown', 
    packages = [ 'ClientLibrary' ], 
    options = { 
     'build': { 'build_base': 'build-chroot' } 
    } 
)