Существует масса информации о том, как это сделать, но, поскольку "существует более одного способа избавиться от кошки", и все учебные пособия/руководства, которые охватывают часть процесса, похоже, делают определенные предположения, которые отличаются от других учебники, я все еще не смог понять это.
Пока это то, что я думаю, я понял.
- Моя конечная цель должна заключаться в создании "двоичного" пакета .deb. Такой пакет будет независимым от платформы (32/64 бит), как и все программы Python.
- Чтобы создать "бинарный" пакет, мне нужно сначала создать исходный пакет.
- Для создания исходного пакета я могу использовать либо
CDBS
либоdebhelper
. Debhelper - рекомендуемый способ для начинающих. - Ядром создания исходного пакета является
DEBIAN
каталогаDEBIAN
в исходном каталоге несколькими файлами, в которых уточняется, куда следует копировать файлы, какой схеме авторского права и лицензирования они подвержены, какие у них зависимости и т.д. - Шаг № 4 может быть в значительной степени автоматизирован командой
dh_make
если исходный код Python также поставляется со скриптом dist.tilssetup.py
.
Теперь мои вопросы:
- Правильно ли мое понимание процесса? Есть ли что-то, что я пропускаю, или что-то, что я ошибся?
- Шаг № 5 действительно более запутанный для меня: в частности, два вопроса, которые остаются наиболее неясными для меня:
- Как мне написать скрипт
setup.py
который устанавливает автономную программу? РЕДАКТИРОВАТЬ: Под автономной программой я имею в виду программу, предназначенную для использования настольным пользователем (в отличие от модуля, который я понимаю, как набор функций, которые будут использоваться другим программным обеспечением после импорта). В моем конкретном случае мне фактически потребовалось бы две такие "программы": основное программное обеспечение и отдельная утилита (в сущности, вторая "программа", которая должна быть в одном пакете с другой). - Каковы особенности такого скрипта для пакетов DEB? Официальная документация имеет дело только с RPM и Windows...
- Как мне написать скрипт
КСТАТИ: Это лучшие источники информации, которые я мог найти себя до сих пор. Если у вас есть что-то лучше, чем это, пожалуйста, поделитесь! :)
- Руководство по упаковке Ubuntu Python
- Создание пакета .deb из python setup.py (он показывает шаги, но не объясняет их достаточно для того, чтобы я следовал за ними)
- Видео ShowMeDo о "создании пакета .deb из программы на Python" (оно не выглядит современным и - если я правильно понял - создаст пакеты для личного использования, без зависимостей, без подписанного журнала изменений и т.д. ключевые данные, которые сделают его несовместимым с политикой Debian).