Как создать пакет 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, проблема становится связанной с созданием леса символических ссылок, включая скрученный каталог (поскольку это не пакет).