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

У меня есть приложение, которое имеет различные разделы, некоторые из которых написаны на 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 Ответ

4 голосов
/ 17 января 2011

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

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

...