Использование distutils для установки INTO среды chroot - PullRequest
2 голосов
/ 21 января 2011

Я поддерживаю хромированный образ Linux и у меня есть пакет, который я хотел бы установить в этот хромированный образ.

Оба пакета в конечном итоге устанавливаются в обоих местах;Я не могу понять, что происходит и как это исправить.

Мой 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 Ответ

1 голос
/ 21 января 2011

Я понял, что мне нужно указать другой каталог сборки для набора файлов. 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' }
    }
)
...