Как сделать deb pkg для моего pygtk приложения?

Я пишу pygtk приложение и хочу сделать deb pkg для него.

$ tree WebPad/
WebPad/
|-- jspad
|   |-- __init__.py
|   |-- main.py
|   |-- t.py
|-- pixmaps
|   |-- c.png
|   |-- run.png
|   `-- webpad.png
|-- README
|-- run.py
`-- templates
    `-- webpad.tpl

3 directories, 19 files

Я должен изменить расположение каталога?

4
задан 10 October 2011 в 19:24

3 ответа

В первую очередь, необходимо создать a setup.py файл с помощью distutils в корневом каталоге проекта. Это должно содержать текст, подобный следующему:

#!/usr/bin/env python

from distutils.core import setup
from glob import glob

setup(name = "WebPad",
    version="0.1",
    author="znetor",
    packages=["jspad"],
    data_files=[('share/webpad/pixmaps', glob("pixmaps/*"), ('share/webpad/templates', ['templates/webpad.tpl'])],
    scripts=['run.py'])

И необходимо также создать файл MANIFEST.in:

recursive-include pixmaps *
recursive-include templates *

Один Вы сделали это, можно выполнить различные команды на терминале для распределения проекта:

chmod +x setup.py
sudo ./setup.py install # installs your project to /usr/local
./setup.py sdist # creates a source distribution in dist/

Последняя команда является той, которой мы интересуемся. После того как у Вас есть исходное распределение с distutils setup.py сценарий, можно затем следовать Python, упаковывающему руководство для Ubuntu. В основном это включает создание a debian/ каталог в корне Вашего проекта с различными битами информации и выполнения debuild.

Я записал учебное руководство о том, как сделать это только что, часть его не является наиболее успешной практикой, но оно поможет Вам понять несколько понятий.

5
ответ дан 1 December 2019 в 09:06

Мне всегда нравилось, "изучают примером" методы, таким образом, здесь он идет: http://packages.ubuntu.com/natty/all/software-center/download

  1. Загрузите пакет с одного из зеркал.
  2. Откройте его с менеджером архива.
  3. Вы будете видеть некоторые каталоги. Они структурированы как Вы, находятся в абсолютном корне файловой системы.

Заключение:

Бегун должен будет войти в/usr/bin/каталог. Переименуйте его в "веб-клавиатуру" или "webpad" и удостоверьтесь, что это запускается с "#!/usr/bin/python". Тем путем можно легко запустить его из командной строки, не имея необходимость писать "веб-клавиатуру Python". Вместо этого "веб-клавиатура" будет достаточно.

Другие файлы должны будут войти/usr/share/web-pad/или/usr/share/webpad/Для средства запуска для работы, необходимо будет сделать/usr/share/pyshared-data/web-pad или/usr/share/pyshared-data/webpad файл. Я думаю, что это добавляет Ваши исходные файлы к включать пути, таким образом, средство запуска может запустить их. Снова, как пример одного, используйте/usr/share/pyshared-data/software-center файл в пакете.

Необходимо также взглянуть на другие файлы в пакете центра программного обеспечения. Они могут предоставить немного очень полезной информации.

И да, посмотрите на файлы в каталоге DEBIAN. Особенно файл управления, как это - где Вы устанавливаете зависимости, описание, версию, конфликты, и т.д...

Триггерный файл позволяет Вам устанавливать триггеры на свое приложение. (вероятно, запускает приложение, когда что-то сделано, но я не уверен. Вы могли всегда пробовать...), prerm выполнения сценария, прежде чем файлы будут удалены. (удаление пакета), preinst выполнения сценария, прежде чем файлы копируются в их место. (установка пакета) postrm сценарий бежит за файлами, удалены. (удаление пакета) postinst сценарий бежит за файлами, копируются в их место. (установка пакета), md5sums файл содержит md5 контрольные суммы файлов внутри. conflies файл, вероятно, содержит конфигурационные файлы, хотя я не уверен в этом.

Как сказано @Flimm, ролик Файла имеет встроенную функциональность открытия deb архивы более дружественным способом - это включает распаковку control.tar.gz в каталог DEBIAN, data.tar.gz в корень (это содержит Ваши файлы), и скрывает debian-двоичный-файл. Открытие deb файлы в Ковчеге не делает этого.

ИСПОЛЬЗУЯ РОЛИК ФАЙЛА ДЛЯ СОЗДАНИЯ ПАКЕТОВ DEB НЕ БУДЕТ РАБОТАТЬ! РОЛИК ФАЙЛА ТОЛЬКО ПОДДЕРЖИВАЕТ ЧТЕНИЕ DEBS!

Вы могли попробовать это приложение, я посмотрел на него, и это кажется довольно хорошим: http://debcreator.cmsoft.net/#download

2
ответ дан 1 December 2019 в 09:06

Вы могли бы также хотеть портировать свое приложение на быстро и затем использовать quickly package команда, чтобы сделать упаковку автоматически для Вас. Существует также больше информации о быстро командах на сайте Разработчика приложения Ubuntu.

2
ответ дан 1 December 2019 в 09:06

Другие вопросы по тегам:

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