Руководство начинающего разработчика Debian - Обязательные файлы в каталоге debian


Файл control


Этот файл содержит информацию, которая используется программами dpkg и dselect (а также другими) для работы c пакетами. Вот, например, файл control, который был создан программой dh_make. 1 Source: gentoo 2 Section: unknown 3 Priority: optional 4 Maintainer: Josip Rodin <jrodin@jagor.srce.hr> 5 Standards-Version: 3.0.1 6 7 Package: gentoo 8 Architecture: any 9 Depends: ${shlibs:Depends} 10 Description: <insert up to 60 chars description> 11 <insert long description, indented with spaces>

(номера строк добавлены)

Строки 1-5 представляют собой управляющую информацию для пакета, содержащего исходные тексты, где строка 1 — его название.

Строка 2 — это название раздела, к которому относится данный пакет. Как, возможно, вы уже заметили, Debian разбит на несколько разделов: раздел main (основной) содержит свободное программное обеспечение, non-free (не-свободное) содержит пакеты, которые не совсем отвечают определению свободного программного обеспечения, и contib, где находятся пакеты, которые, являясь свободным программным обеспечением, зависят от не-свободного программного обесепеченя. В каждом разделе существуют логические подразделы, определяющие что пакет из данного подраздела делает. Таким образом, существует раздел ‘admin’, где находятся программы для администрирования системы, раздел ‘base’ — для основных пакетов, раздел ‘devel’ содержит инструменты разработки программного обеспечения, ‘doc’ — документацию, ‘libs’ — библиотеки, ‘mail’ — почтовых сервером и программ чтения почты, ‘net’ — для сетевых приложений, ‘x11’ — программ, работающих под X Window System, и много много других.

В нашем случае мы должны указать ‘x11’.

В строке 3 мы должны указать, насколько важен данный пакет. Значения полей Section и Priority пока используется только программой dselect, которая позволяет пользователю сортировать по значениям этих полей, они также могут (и, скорее всего, будут) замещены сопровождающими ftp-сервер. Документ «Policy Manual» подробно описывает, чем нужно руководствоваться при выборе значений для этих полей.

В нашем случае мы оставим значение этого поля равным ‘optional’.

В строке 4 указано имя и адрес разработчика пакета.

Строка 5 — это версия документа «Debian Policy», стандартам которого следует данный пакет (две основные версии пакета debian-policy).

Если для построения программы используется нестандартный компилятор или какие-нибудь дополнительные утилиты, вы должны перечислить их в специальной записи ‘Build-Depends’. Дополнительная информация может быть найдена в «Руководстве по созданию пакетов» (раздел 8.7) и в документации, прилагаемой к пакету build-essential.

В строке 7 указано имя двоичного пакета.

В строке 8 указана архитектура процессора, для которого может быть скомпилирован двоичный пакет. Мы можем оставить в качестве значения ‘any’, так как программа dpkg-gencontrol(1) поместит в это поле значение, соответствующее процессору машины, на которой компилировался пакет (см. в «Руководстве разработчика» объяснение понятия ‘перенос пакета’). Если ваш пакет не зависит от архитектуры процессора (например, сценарий на языке Perl или же документ), измените значение этого поля на ‘all’ и прочитайте раздел Файл rules, раздел 4.4, который описывает цель ‘binary-indep’, используемую при построении пакета.

Одна из самых полезных возможностей системы управления пакетами Debian приведена в строке 9. Пакеты могут зависеть друг от друга различным образом. Помимо зависимости Depends, существуют также зависимости Recommends, Suggests, Pre-Depends, Conflicts, Provides, и Replaces .

Программы управления пакетами (такие как dpkg, dselect или apt) обычно одинаковым образом обрабатывают эти зависимости. Мы попытались дать объяснение тем случаям, когда поведение различается. (см. dpkg(8), dselect(8), apt(8), console-apt(8), gnome-apt(8))

Ниже приведено описание того, что означает каждый тип зависимости:




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