2

chroot された Linux イメージを維持しており、その chroot されたイメージにインストールしたいパッケージがあります。

両方のパッケージが両方の場所にインストールされることになります。何が起こっているのか、それを修正する方法がわかりません。

私の 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' ],
)

私がやろうとしていることを達成するための最良の方法は何ですか?

4

1 に答える 1

1

ファイルのセットに別のビルド ディレクトリを指定する必要があることがわかりました。distutils は、'build' 内のすべてのものを毎回インストールする必要があると想定していました。

うまくいけば、他の誰かがこれを行う方法を理解する手間を省くことができます。これがスクリプトの私の修正された2番目の部分です:

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' }
    }
)
于 2011-01-20T21:53:31.423 に答える