легкий, простой способ упаковать программу Python для debian?

я испытываю затруднения при навигации по лабиринту инструментов распределения для Python и debian; cdbs, debhelper, python-support, python-central, и тому подобное..

мое приложение является довольно простым - единственный пакет Python (каталог, содержащий модули и a __init__.py), сценарий для того, чтобы запустить программу (script.py) и некоторые значки (.png) и пункты меню (.desktop файлы).

из этих файлов, как я могу создать простое, чистят .deb файл с нуля, не используя бессмысленные упомянутые выше инструменты?

я главным образом нацелен на человечность, но хотел бы ее, если пакет продолжил работать прямой debian

7
задан the paul 12 July 2012 в 22:42
поделиться

2 ответа

Во-первых, ответ заключается в том, что не существует прямого способа создания dpkg, а документация разбросана в миллионе крошечных кусочков из стольких же мест. Однако, ubuntu Python Packaging Guide довольно полезен.

Для простых пакетов (тех, которые легко описать с помощью setuptools), шаги довольно просты, если у вас настроена структура управления debian:

  • Запустите setup. py --sdist --prune и также убедитесь, что установили dist-dir на что-то разумное
  • Вызовите dpkg-buildpackage с соответствующими опциями для вашего пакета (вероятно, -b, по крайней мере)

Вам понадобится файл debian/rules для работы buildpackage, но, к счастью, работа сделана за вас, если вы используете cdbs, вам понадобится что-то очень похожее:

#!/usr/bin/make -f

DEB_PYTHON_SYSTEM := pysupport

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk

Если вы не используете distutils, вы можете взглянуть на страницу DebianPython/Policy в wiki (в разделе "CDBS + трудный путь"). Существует pycentral опция для DEB_PYTHON_SYSTEM, о которой вы также можете погуглить, если хотите найти больше информации.

3
ответ дан 7 December 2019 в 05:18
поделиться

python-stdeb должен вам подойти. Он есть в Debian testing/unstable и Ubuntu (Lucid и далее). apt-get install python-stdeb

Это не столько метод быстрого доступа, сколько инструмент, который пытается создать как можно больше исходного пакета. Он действительно может создать пакет, который работает правильно и почти соответствует стандартам. Если вы хотите, чтобы ваш пакет соответствовал стандартам качества для включения в Debian, Ubuntu и т.д., вам нужно будет заполнить файлы типа debian/copyright и т.д.

Как бы люди ни утверждали, что cdbs действительно прост, я хотел бы отметить, что файл правил, о котором упомянул Ник, легко можно было бы сделать с помощью debhelper7. Не стоит забывать, что dh7 можно настроить гораздо проще, чем cdbs.

#!/usr/bin/make -f
%:
    dh $@

Примечание: Вы должны проверить, соответствует ли ваш пакет политике Debian, политике Debian Python и т.д., прежде чем отправлять его в Debian. Для этого вам придётся прочитать документы - это не просто.

5
ответ дан 7 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: