deb-control(5)

NOMBRE
deb-control - Formato del fichero de control maestro de paquetes de Debian

SINOPSIS
control

DESCRIPCIÓN
Cada paquete de Debian contiene un fichero maestro «control» con varios campos, o comentarios en aquellas líneas que empiezan con «#». Cada campo empieza con una etiqueta, como Package o Version (sin distinción entre mayúsculas y minúsculas), seguido de dos puntos y el cuerpo del campo. Sólo las etiquetas limitan los campos. En otras palabras, el texto de los campos puede ser de varias líneas pero las herramientas de instalación las juntarán todas en una sola al procesar el cuerpo del campo (excepto el campo Description, véase más abajo).

CAMPOS OBLIGATORIOS

Package: <nombre-del-paquete>
    El valor de este campo determina el nombre del paquete, y casi todas las herramientas de instalación lo usan para generar nombres de ficheros.

Version: <cadena-de-caracteres-con-el-número-de-versión>
    Generalmente, es la versión original del paquete en el formato que use el autor. Puede también incluir el número de revisión de Debian (para paquetes que no sean nativos). El formato exacto y el algoritmo de ordenación se describen en deb-version(5).

Maintainer: <nombre-completo correo-electrónico>
    Debería tener un formato del tipo «Fernando Fernández <ffdez@tal.com>». Generalmente, es la persona que ha empaquetado el programa, y no su autor original.

Description: <descripción-corta>
    <descripción-larga>
    El formato de la descripción de un paquete consiste de un resumen en la primera línea (después del campo «Description»). Las líneas a continuación se deberían usar para la descripción más larga y detallada. Un espacio debe preceder cada línea de la descripción larga, y las líneas en blanco deben tener un único punto «.» a continuación del espacio precedente.

CAMPOS OPCIONALES

Section: <sección>
    Es un campo general que define la categoría del paquete basándose en el programa que instala. Algunas secciones comunes son «utils», «net», «mail», «text», «x11» etc.

Priority: <prioridad>
    Define la importancia del paquete en relación con todo el sistema. Algunas prioridades comunes son «required», «standard», «optional», «extra» etc.

En Debian los campos Section y Priority tienen definidos un conjunto reducido de valores válidos de acuerdo al Manual de Normas de Debian. Puede obtener una lista completa de estos valores con la última versión del paquete debian-policy.

Essential: <yes|no>
    Generalmente, este campo sólo se necesita cuando la respuesta es «yes» (sí). Indica un paquete necesario (esencial) para el correcto funcionamiento del sistema. Dpkg o cualquier otra herramienta de instalación impiden desinstalar un paquete Essential (al menos sin usar opciones de forzado).

Architecture: <arch|all>
    La arquitectura para la que se compiló el paquete. Arquitecturas comunes son «i386», «m68k», «sparc», «alpha», «powerpc», etc. Tenga en cuenta que la opción all es para paquetes independientes de la arquitectura como lo son los scripts de Perl o documentación.

Origin: <nombre>
    El nombre de la distribución origen del paquete.

Bugs: <url>
    La dirección url del sistema de seguimiento de fallos de este paquete. El formato usado actualmente es: <tipo-bts>://<direccion-bts>, por ejemplo debbugs://bugs.debian.org.

Homepage: <url>
    La dirección url de la página oficial del autor original.

Tag: <lista-de-etiquetas>
    Lista de etiquetas que describen las características del paquete. La lista y descripción de las etiquetas aceptadas se pueden encontrar en el paquete debtags.

Multi-Arch: <same|foreign|allowed>
    This field is used to indicate how this package should behave on a multi-arch installations. The value `same' means that the package is co-installable with itself, but it must not be used to satisfy the dependency of any package of a different architecture from itself. The value `foreign' means that the package is not co-installable with itself, but should be allowed to satisfy the dependency of a package of a different arch from itself. The value `allowed` allows reverse-dependencies to indicate in their Depends field that they need a package from a foreign architecture, but has no effect otherwise. This field should not be present in packages with the Architecture: all field.

Source: <nombre-del-código-fuente>
    El nombre del paquete fuente del que proviene el paquete binario, en caso de tener un nombre diferente al paquete original.

Subarchitecture: <value>
Kernel-Version: <value>
Installer-Menu-Item: <value>
    These fields are used by the debian-installer and are usually not needed. See /usr/share/doc/debian-installer/devel/modules.txt from the debian-installer package for more details about them.

Depends: <lista-de-paquetes>
    Lista de paquetes necesarios para que el paquete ofrezca una funcionalidad aceptable. El gestor de paquetes no instalará el programa a menos que se instalen previamente todos los programas listados en el campo Depends (al menos sin tener que usar las opciones de forzado). Una instalación siempre ejecutará los scripts «postinst» (post-instalación) de los paquetes listados bajo «Depends:» antes de los del programa que depende de ellos. Por otra parte, al eliminar un paquete, ejecutará los scripts de «prerm» (pre-eliminación) de este antes de los scripts de los paquetes listados en su campo «Depends:».

Pre-Depends: <lista-de-paquetes>
    Lista de paquetes que deben estar instalados y configurados antes de la instalación del paquete. Se suele usar en caso de que el paquete requiera algún otro paquete para la ejecución de su script «preinst».

Recommends: <lista-de-paquetes>
    Lista de paquetes que habitualmente estarían instalados con este paquete. El programa de gestión de paquetes avisará al usuario si instala un paquete sin los paquetes listados en su campo Recommends.

Suggests: <lista-de-paquetes>
    Lista de paquetes relacionados con el paquete y que probablemente mejoran su utilidad, aunque debe ser perfectamente razonable instalar el programa sin éstos.

La sintaxis de los campos Depends, Pre-Depends, Recommends y Suggests es una lista de grupos de paquetes alternativos. Cada grupo es una lista de paquetes separado por una barra vertical «|». Los grupos se separan mediante comas. Las comas se leen como «AND», y las barras horizontales como «OR», lo cual se evalúa antes que «AND». Cada elemento es un nombre de paquete que puede ir seguido de un número de versión definido entre paréntesis.

Un número de versión puede empezar con «>>», en cuyo caso cualquier versión posterior encajaría, siendo posible omitir el número de revisión de Debian (separado por un guión). Las relaciones de versión válidas son «>>» para mayor que, «<<» para menor que,«>=» para mayor o igual que, «<=» para menor o igual y «=» para igual que.

Breaks: <lista-de-paquetes>
    Lista de paquetes que este paquete rompe, por ejemplo, al generar fallos cuando los paquetes mencionados dependen de éste. El programa de gestión de paquetes impedirá la configuración de paquetes rotos; la solución más común es actualizar los paquetes mencionados en el campo Breaks.

Conflicts: <lista-de-paquetes>
    Lista de paquetes que entran en conflicto con éste, por ejemplo, por que contienen ficheros con el mismo nombre. El programa de gestión de paquetes impedirá que dos paquetes en conflicto estén instalados a la vez. Dos paquetes con conflictos entre ellos deben incluir al otro en su campo Conflicts.

Replaces: <lista-de-paquetes>
    Lista de paquetes que este paquete reemplaza. Se usa para permitir que el paquete sobreescriba los ficheros de otro paquete, habitualmente listado también en el campo Conflicts para forzar la desinstalación del otro paquete en caso de que este paquete tenga ficheros con el mismo nombre.

Provides: <lista-de-paquetes>
    Lista de paquetes virtuales proporcionados por este paquete. Habitualmente, se usa cuando hay varios paquetes que proporcionan el mismo servicio. Por ejemplo, tanto sendmail como exim pueden servir como servidor de correo, y por ello ambos proporcionan el paquete «mail-transport-agent», del cual pueden depender otros paquetes. Esto permite que tanto sendmail como exim sean una opción válida para satisfacer la dependencia. Esto evita que un paquete dependiente de un servidor de correo necesite conocer los nombres de todos los paquetes de los servidores de correo, usando una «|» para separarlos.

La sintaxis de Breaks, Conflicts, Replaces y Provides es una lista de nombres de paquete separados por comas (y opcionalmente espacios en blanco). En el campo Conflicts la coma se lee como «OR». Además, puede proporcionar una versión opcional con la misma sintaxis de arriba en los campos Breaks, Conflicts y Replaces.

Built-Using: <package list>
    This field lists extra source packages that were used during the build of this binary package. This is an indication to the archive maintenance software that these extra source packages must be kept whilst this binary package is maintained. This field must be a list of source package names with strict (=) version relationships. Note that the archive maintenance software is likely to refuse to accept an upload which declares a Built-Using relationship which cannot be satisfied within the archive.

EJEMPLO
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.)

VÉASE TAMBIÉN
deb(5), deb-version(5), debtags(1), dpkg(1), dpkg-deb(1).

TRADUCTOR
Rudy Godoy <rudy@kernel-panik.org>, Rubén Porras <nahoo@inicia.es>, Bruno Barrera C. <bruno.barrera@igloo.cl>, Carlos Izquierdo <gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n Spanish <debian-l10n-spanish@lists.debian.org>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.