deb-control(5)

НАЗВАНИЕ
deb-control -- формат мастер файла control пакетов Debian

СИНТАКСИС
control

ОПИСАНИЕ
Каждый пакет Debian содержит мастер файл `control', состоящий из нескольких полей. Каждое поле начинается с тега, например Package или Version (регистр значения не имеет), затем двоеточие и содержимое поля. Поля разделяются только тегами. Другими словами, текст поля может занимать несколько строк, но утилиты установки обычно объединяют эти строки при обработке содержимого поля (кроме поля Description, описанного ниже).

ОБЯЗАТЕЛЬНЫЕ ПОЛЯ

Package: <имя пакета>
    Значение этого поля задаёт имя пакета и используется при конструировании имён файлов большинством установочных утилит.

Version: <строка с версией>
    Typically, this is the original package's version number in whatever form the program's author uses. It may also include a Debian revision number (for non-native packages). If both version and revision are supplied, they are separated by a hyphen, `-'. For this reason, the original version may not have a hyphen in its version number.

Maintainer: <полное имя и адрес эл.почты>
    Тело поля должно быть в формате `Joe Bloggs <jbloggs@foo.com>' и обычно представляет собой имя создателя пакета, а не имя автора программы, которая была упакована.

Description: <короткое описание>
    <длинное описание>
    The format for the package description is a short brief summary on the first line (after the "Description" field). The following lines should be used as a longer, more detailed description. Each line of the long description must be preceded by a space, and blank lines in the long description must contain a single '.' following the preceding space.

НЕОБЯЗАТЕЛЬНЫЕ ПОЛЯ

Section: <секция>
    Это обобщающее поле, в котором пакету присваивается категория, в зависимости от типа программного обеспечения, которое он содержит. Примерами секций могут служить `utils', `net', `mail', `text', `x11' и т.д.

Priority: <приоритет>
    Устанавливает важность данного пакета, в зависимости от его значимости для системы. Приоритеты могут быть такими: `required', `standard', `optional', `extra' и т.д.

In Debian, the Section and Priority fields have a defined set of accepted values based on the Policy Manual. They are used to decide how the packages are layed out in the archive. A list of these values can be obtained from the latest version of the debian-policy package.

Essential: <yes|no>
    Данное поле обычно необходимо только когда ответ - `yes' (да). Это означает, что данный пакет требуется для нормального функционирования системы. Dpkg и другие программы установки не разрешают удаление пакетов, помеченных как Essential (по крайней мере, без указания специальных флагов).

Architecture: <архитектура|all>
    The architecture specifies which type of hardware this package was compiled for. Common architectures are `i386', `m68k', `sparc', `alpha', `powerpc' etc. Note that the all option is meant for packages that are architecture independent. Some examples of this are shell and Perl scripts, and documentation.

Source: <имя архивов с исходниками>
    Имя пакета с исходниками, из которого компилируется бинарный пакет, если оно отличается от имени самого пакета.

Depends: <список пакетов>
    Список пакетов, требующихся для обеспечения нормальной работы данного пакета. Программа установки не позволит (по крайней мере, без использования специальных флагов) установить данный пакет, если пакеты, перечисленные в Depends, ещё не установлены. При установке скрипты postinst этих пакетов будут выполнены перед скриптом postinst данного пакета, а при удалении из системы скрипты prerm будут выполнены после скрипта prerm данного пакета.

Pre-Depends: <список пакетов>
    Список пакетов, которые должны быть установлены и настроены перед тем, как будет устанавливаться данный пакет. Обычно это используется в случае, когда пакет требует наличия другого пакета для запуска собственного сценария preinst.

Recommends: <список пакетов>
    Список пакетов, которые рекомендуется установить вместе с данным пакетом. Программа установки предупредит пользователя, если он устанавливает пакет без пакетов, которые перечислены в поле Recommends.

Suggests: <список пакетов>
    Список пакетов, которые расширяют функциональность устанавливаемого пакета, но без которых данный пакет может прекрасно обойтись.

The syntax of Depends, Pre-Depends, Recommends and Suggests fields is a list of groups of alternative packages. Each group is a list of packages separated by vertical bar (or `pipe') symbols, `|'. The groups are separated by commas. Commas are to be read as `AND', and pipes as `OR', with pipes binding more tightly. Each package name is optionally followed by a version number specification in parentheses.

Если номер версии начинается с `>>', то это означает любую более позднюю версию, при чём также может быть задан или пропущен номер ревизии Debian (который отделен от версии дефисом). Таким образом: ">>" означает "больше чем", "<<" -- "меньше чем", ">=" -- "больше или равно чем", "<=" -- "меньше или равно чем", а "=" -- "только версия, которая указана".

Conflicts: <список пакетов>
    Список пакетов, которые конфликтуют с пакетом; например, если в них содержатся файлы с теми же именами. Программа установки не позволит установить в систему два конфликтующих пакета. Каждый из двух конфликтующих пакетов должен указать в строке Conflicts имя другого.

Replaces: <список пакетов>
    Список пакетов, которые заменяют данный пакет. Он используется для того, чтобы разрешить данному пакету перезаписать файлы другого пакета и обычно используется совместно с полем Conflicts, чтобы сразу же заставить удалить этот другой пакет, если он содержит такие же файлы, как устанавливаемый.

Provides: <список пакетов>
    This is a list of virtual packages that this one provides. Usually this is used in the case of several packages all providing the same service. For example, sendmail and exim can serve as a mail server, so they provide a common package (`mail-transport-agent') on which other packages can depend. This will allow sendmail or exim to serve as a valid option to satisfy the dependency. This prevents the packages that depend on a mail server from having to know the package names for all of them, and using `|' to separate the list.

Синтаксис Conflicts, Replaces и Provides позволяет перечислить пакеты через запятую (и необязательный пробел). В поле Conflicts запятая читается как `ИЛИ'. В значениях полей Conflicts и Replaces можно указывать номер версии пакета (используя вышеописанный синтаксис).

ПРИМЕР
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma@debian.org>
Architecture: sparc
Version: 2.4-1
Pre-Depends: libc6 (>= 2.0.105)
Provides: rgrep
Conflicts: rgrep
Description: GNU grep, egrep and fgrep.
 The GNU family of grep utilities may be the "fastest grep in the west".
 GNU grep is based on a fast lazy-state deterministic matcher (about
 twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
 search for a fixed string that eliminates impossible text from being
 considered by the full regexp matcher without necessarily having to
 look at every character. The result is typically many times faster
 than Unix grep or egrep. (Regular expressions containing backreferencing
 will run more slowly, however).

СМОТРИТЕ ТАКЖЕ
deb(5), dpkg(1), dpkg-deb(1).

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <victor_v@permonline.ru> Обновление и корректура: Alexey Mahotkin <alexm@hsys.msk.ru>.