2010-05-28 5 views
7

У меня возникли проблемы с перемещением лабиринта инструментов распространения для python и debian; cdbs, debhelper, python-support, python-central, бла-бла-бла ..простой, простой способ пакетной программы python для debian?

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

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

я буду в основном, для Ubuntu, но хотелось бы, если пакет работал на прямой Debian

ответ

3

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

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

  • Run setup.py --sdist --prune, а также убедитесь, чтобы установить dist-dir к чему-то разумное
  • Invoke 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, а также вы можете найти Google, если хотите найти дополнительную информацию.

+0

Новый руководство по упаковке Ubuntu Python находится по адресу: http://packaging.ubuntu.com/html/python-packaging.html –

+0

@ DanielTrebbien Эта ссылка больше не работает, но ссылка archive.org, похоже, доставляет то, что раньше было. Текущая Ubuntu wiki, похоже, не имеет ничего существенного за пределами https://wiki.ubuntu.com/Python, которая в основном просто отвлекается на вики Debian на все, что связано с упаковкой. – tripleee

5

python-stdeb должен работать на вас. Это на тестировании Debian/нестабильном и Ubuntu (Lucid onwards). apt-get install python-stdeb

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

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

#!/usr/bin/make -f 
%: 
    dh [email protected] 

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