Как создать пакет ubuntu/debian для плагина twistd/twisted?
В качестве продолжения Как написать setup.py для twistd/twisted plugin, который работает с setuptools, распространять и т.д., как один сделать debian пакет для скрученного плагина?
Предполагая, что setup.py правильно написана, использование cdbs/python-central/dh_python2 должно просто работать, но до сих пор мне не повезло.
Трюк с этими инструментами состоит в том, что они в основном запускают "python setup.py install --root =", а затем упаковывают все, что попадает в "", поэтому, возможно, после ответа на предыдущий вопрос, этот вопрос становится спорным?
Кто-нибудь здесь успешно упаковал скрипучий плагин для debian?
Ответы
Ответ 1
По всей видимости, проблема связана с поддержкой "python-support", которая просто ломается, когда дело доходит до скрученных плагинов.
Это сообщение от Ubuntu Matthias Klose объясняет проблему и предлагает решение:
упаковка скрученных плагинов с поддержкой python нарушена по дизайну. Даже политика python прямо указывает на то, что вы должны использовать один и тот же вспомогательный пакет для пакетов, имеющих одно и то же пространство имен python.
Вы должны использовать dh_python2 для этого или (устаревшую) сборку с помощью dh_pycentral с использованием `include-links '.
- Маттиас Клозе
Ответ 2
Арг, я попытался сделать это и провалился. Я думаю, что это возможно в зависимости от того, какие выпуски Debian/Ubuntu вы хотите настроить, и сколько усилий вы хотите внести.
Существует два подхода:
- Сделайте свой пакет плагином в файле
twisted/plugins/
в скрученном дереве. Это боль, потому что Twisted упакованы с использованием разных методов в разных версиях (python-support
в Lucid vs dh_python2
в Natty IIRC) и (грубо говоря) ваш пакет должен быть упакован так же, как Twisted, чтобы сделать эту работу.
- У вас есть каталог
twisted/plugins/
, расположенный рядом с вашим кодом. Затем, IIRC, проблема становится связанной с созданием леса символических ссылок, включая скрученный каталог (поскольку это не пакет).