Упаковка приложения, использующего Perl и Python в Debian

У меня есть приложение, которое имеет различные разделы, некоторые из которых написаны на Perl, а некоторые на Python. Какой инструмент лучше всего использовать для упаковки такого приложения.

Сейчас я смотрю на deb-helper и все еще учусь его использовать, хотя не могу найти КАК для чего-то подобного. Идеи?

Обновить

Мой исходный макет:

AppRoot/
    agi-bin/
        MyApp/
        Common/
    web/
    conf/

agi-bin - Perl-скрипты; web скрипты на питоне. Я хотел бы, чтобы место установки поддерживало эту иерархию для сценариев perl/python в /usr/lib/ а также conf переход к /etc/myapp/

Обновление 2:

Если работа с скомпилированными приложениями скажем C++, то dh_make с make-файлом делает работу. Если я работаю с Perl есть dh-make-perl, Затем ссылка, предоставленная Томасом (в разделе комментариев) для упаковки Python добавляет distutils в картину. Все это показывает разные способы упаковки разных приложений.

Я ищу идеи / рекомендации по наилучшему способу упаковки приложения, которое использует несколько языков, например, Python и Perl. Должен ли я использовать файл Makefile для обоих или это нормально просто переопределить dh_install в файле правил и перемещать файлы вокруг? Что бы вы сказали, "правильный" способ сделать это?

Кроме того, я только изучаю весь этот упаковочный бизнес, так что все рекомендации приветствуются.

1 ответ

Решение

Использование debhelper - правильный подход - вам, безусловно, следует создать пакет.deb. Я рекомендую начать с этого урока.

Редактировать: если скрипты, которые вы пытаетесь установить, на самом деле являются "исполняемыми файлами" (в том смысле, что они предназначены для вызова в качестве программ, а не для работы в качестве библиотек на их соответствующих языках), то вам следует игнорировать dh-make-perl, distutils, dh_pycentralи т. д. Все они предназначены для установки библиотек / пакетов / модулей, работы с зависимостями, генерации байт-кода и т. д. Вместо этого настройте debian/foo.install файл, чтобы перечислить все скрипты, которые вы хотите установить, и пусть dh_install развернуть их. Убедитесь, что вручную добавили зависимости (в debian/control) к библиотекам, которые могут понадобиться сценариям, и, в частности, к нужным им версиям Python/Perl. Если на самом деле это просто копирование файлов как во время упаковки, так и во время установки, то ни одна из дополнительных функций debhelper не принесет никакой пользы. Когда вы обнаружите, что пишете сценарии postinstall, вернитесь назад и посмотрите, может ли debhelper сгенерировать их для вас.

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