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

Packagenombre-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 utilizar 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 utilizar 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: bts-type://bts-address, 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
    Este campo se utiliza para indicar el comportamiento de este paquete en instalaciones multiarquitectura. El valor same significa que dos instalaciones del mismo paquete pueden coexistir, pero no se puede utilizar para satisfacer la dependencia de un paquete de arquitectura distinta al mismo. El valor foreign significa que no pueden coexistir dos versiones del mismo paquete, pero se puede utilizar para satisfacer la dependencia de otro paquete de arquitectura distinta. El valor allowed permite que las dependencias inversas indiquen en su campo «Depends» que necesitan un paquete de otro arquitectura, pero no tiene ningún otro efecto.

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: valor
Kernel-Version: valor
Installer-Menu-Item: valor
    debian-installer utiliza estos campos, y habitualmente no son necesarios. Para más información consulte «/usr/share/doc/debian-installer/devel/modules.txt» del paquete debian-installer.

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 utilizar 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 utilizar 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: lista-de-paquetes
    Este campo enumera paquetes fuente adicionales utilizados durante la construcción de este paquete binario. Es una indicación para el programa de mantenimiento del archivo de que estos paquetes fuente adicionales se deben retener, mientras que el binario, mantener. Este campo debe enumerar una lista de nombres de paquete fuente con una estricta relación de versión (=). Tenga que en cuenta que cabe que el programa de mantenimiento del archivo rechace un paquete que declare una relación Built-Using que el archivo no puede satisfacer.

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.