Введение в создание пакетов для дистрибутива GNU Debian Linux


Сборка с использованием debhelper


В debian существует достаточное количество инструментов, помогающих автоматизировать процесс дебианизации. Рассмотрим debhelper(1), как наиболее часто встречающийся и рекомендованный в developers-reference. Пакет debhelper представляет собой набор скриптов dh_*, облегчающие процесс конфигурирования и компиляции программы, инсталяции ее и сборки в результирующий deb. Для работы с debhelper рекомендую воспользоваться программой dh_make из пакета dh-make.

  1. приводим название каталога исходников к виду, необходимому для dh_make(8): <название пакета>-<версия>;
  2. в корне каталога исходников зовем dh_make(8). Например,

    dh_make -c gpl -e mycool@e-mail.com

  3. идем в debian/ и правим необходимые файлы, удаляем ненужные

Подробнее о последнем пункте. Рассмотрим ситуацию генерации single binary (есть еще варианты multiple binary, library и kernel module) dh_make сгенерирует rules таким образом, что программа будет устанавливаться в debian/tmp (либо в debian/tmp/package в случае multi-binary пакета). Рассмотрим файлы:

changelog

- Готовый файл с единственной записью ``Initial release''

conffiles.ex

- файл состоит из комментария о его использовании. К слову, в conffiles коментарии # не поддерживаются, поэтому их нужно удалить4.

control

- Этот шаблон необходимо обязательно заполнить в соответствии с указанными выше правилами оформления файла control. Кроме того, debhelper поддерживает набор макросов. Например, в Depends: можно записать

${shlibs:Depends}

вместо списка библиотек;

${misc:Depends}

макрос раскрывается многими программами debhelper. Например, если Вы используете dh_installdebconf, то Вам необходим debconf, для dh_installxfonts понадобятся xutils. Эти зависимости и будут автоматически сгенерированы;

${perl:Depends}

генерируется dh_perl и содержит список используемых модулей perl.

copyright

- в этом файле кроме лиценции указывается информация об upstream, то есть производителе программы (где взяли, кто написал).

cron.d.ex

- файл в формате crontab(5). Будет установлен скриптом dh_installcron в $(prefix)/etc/cron.d/<package>




- Начало -  - Назад -  - Вперед -