deb-src-control(5)

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

SINOPSIS
control

DESCRIPCIÓN
Cada paquete fuente de Debian incluye el fichero maestro «control», que contiene al menos 2 párrafos separados por una línea en blanco. El primer párrafo menciona la información del paquete fuente en general, mientras que el siguiente párrafo describe un único paquete binario. Cada párrafo incluye al menos un campo. Un campo empieza con un nombre de campo, como Package o Section (sin diferenciación entre mayúsculas y minúsculas), seguido de dos puntos, el cuerpo del campo y una nueva línea. Se permiten campos de varias líneas, pero cada línea adicional, sin nombre de campo, debe tener al menos un espacio al principio de la línea. Habitualmente, las herramientas unen un campo de varias líneas en una sola (a excepción del campo Description, a continuación). Para insertar líneas en blanco en un campo de varias líneas, inserte un punto a continuación del espacio. Las líneas que comienzan con «#» se tratan como comentarios.

CAMPOS DE FUENTE

Source: nombre-del-paquete-fuente (obligatorio)
    El valor de este campo es el nombre del paquete fuente, y debería coincidir con el nombre del paquete fuente en el fichero «debian/changelog». Un nombre de paquete solo puede consistir de minúsculas (a-z), dígitos (0-9), signos de suma (+), resta (-) y puntos (.). Los nombres de paquete deben tener una longitud mínima de 2 caracteres, y empezar con un carácter alfanumérico.

Maintainer: nombre-completo correo-electrónico (obligatorio)
    Debería tener un formato del tipo «Fernando Fernández <ffdez@tal.com>». Habitualmente hace referencia a la persona que ha creado el paquete del programa, y no a su autor original.

Uploaders: nombre-completo correo-electrónico
    Enumera los nombres y direcciones de correo electrónico de los co-responsables del paquete, con el mismo formato que el campo «Maintainer». Varios co-responsables se deben separar con comas.

Standards-Version: cadena-de-caracteres-con-el-número-de-versión
    Esto documenta la versión más reciente de los estándares con la que cumple este paquete (que consiste del manual de Normas de Debian y textos mencionados en el paquete debian-policy).

DM-Upload-Allowed: yes|no
    Este campo indica si los responsables de Debian incluidos en los campos «Maintainer» u «Uploaders» pueden enviar el paquete al archivo. El valor predefinido es «no».

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

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. Habitualmente, este campo no es necesario.

Vcs-*: url
    La dirección url del repositorio del sistema de control de versiones utilizado para desarrollar este paquete. Los permitidos actualmente son Arch, Bzr (Bazaar), Cvs, Darcs, Git, Hg (Mercurial), Mtn (Monotone) y Svn (Subversion). Habitualmente, este campo apunta a la última versión del paquete, como la rama principal o «trunk».

Vcs-Browser: url
    La dirección url de la interfaz web para explorar el repositorio del sistema de control de versiones.

Origin:nombre
    El nombre de la distribución origen del paquete. Habitualmente, este campo no es necesario.

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.

Build-Depends: lista-de-paquetes
    A list of packages that need to be installed and configured to be able to build the source package. Including a dependency in this list has the same effect as including it in both Build-Depends-Arch and Build-Depends-Indep, with the additional effect of being used for source-only builds.

Build-Depends-Arch: package list
    Same as Build-Depends, but they are only needed when building the architecture dependent packages. The Build-Depends are also installed in this case. This field was introduced in dpkg version 1.16.4; in order to build with older dpkg versions, Build-Depends should be used instead.

Build-Depends-Indep: lista-de-paquetes
    Idéntico a Build-Depends, pero es necesario solo al construir paquetes independientes de la arquitectura, en cuyo caso también se instalan los paquetes Build-Depends.

Build-Conflicts: package list
    A list of packages that should not be installed when the package is built, for example because they interfere with the build system used. Including a dependency in this list has the same effect as including it in both Build-Conflicts-Arch and Build-Conflicts-Indep, with the additional effect of being used for source-only builds.

Build-Conflicts-Arch: package list
    Same as Build-Conflicts, but only when building the architecture dependent packages. This field was introduced in dpkg version 1.16.4; in order to build with older dpkg versions, Build-Conflicts should be used instead.

Build-Conflicts-Indep: lista-de-paquetes
    Idéntico a Build-Conflicts, pero solo al construir paquetes independientes de la arquitectura.

The syntax of the Build-Depends, Build-Depends-Arch and Build-Depends-Indep 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 and an architecture specification in square brackets. The syntax of the Build-Conflicts, Build-Conflicts-Arch and Build-Conflicts-Indep fields is a list of comma-separated package names, where the comma is read as an "AND". Specifying alternative packages using a "pipe" is not supported. Each package name is optionally followed by a version number specification in parentheses and an architecture specification in square brackets. 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». Una especificación de arquitectura consiste de uno o más nombres de arquitectura, separados por espacios en blanco. Un signo de exclamación puede preceder a cualquier de estos nombres, con el significado de «NOT». Tenga en cuenta que los paquetes del conjunto de paquetes build-essential se pueden omitir, y que es casi imposible declarar conflictos de construcción frente a ellos. Puede encontrar una lista de estos paquetes en el paquete build-essential.

CAMPOS BINARIOS

Tenga en cuenta que los campos Priority, Section y Homepage también se pueden incluir en una párrafo binario para sustituir el valor global del paquete fuente.

Package: nombre-del-paquete-binario (obligatorio)
    Este campo se utiliza para nombrar a un paquete binario. Se aplican las mismas restricciones que afectan al nombre del paquete fuente.

Architecture: arch|all|any (obligatorio)
    La arquitectura especifica el tipo de hardware sobre el que se ejecuta este paquete. Para paquetes que se ejecutan en todas las arquitecturas, utilice el valor any. Para paquetes independientes de la arquitectura, como scripts de intérprete de órdenes, de Perl, o documentación, utilice el valor all. Para limitar los paquetes a un conjunto de arquitecturas defina los nombres de arquitectura separados por espacio. También es posible utilizar comodines de arquitectura en esta lista. Para más información consulte dpkg-architecture(1).

Package-Type: deb|udeb
    Este campo define el tipo de paquete. «udeb» se utiliza para paquetes de tamaño limitado utilizados por el instalador de Debian. «deb» es el valor predefinido cuando se omite el campo. Se añadirán más tipos en el futuro.

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.
Essential: yes|no
Multi-Arch: same|foreign|allowed
Tag: lista-de-etiquetas
Description: descripción-corta (obligatorio)
    Estos campos se describen en la página de manual deb-control(5), ya que se copian de forma literal al fichero «control» del paquete binario.
Depends: lista-de-paquetes
Pre-Depends: lista-de-paquetes
Recommends: lista-de-paquetes
Suggests: lista-de-paquetes
Breaks: lista-de-paquetes
Enhances: lista-de-paquetes
Replaces: lista-de-paquetes
Conflicts: lista-de-paquetes
Provides: lista-de-paquetes
Built-Using: lista-de-paquetes
    Estos campos declaran relaciones entre paquetes. Se describen en la página de manual deb-control(5) y el paquete debian-policy.

CAMPOS DEFINIDOS POR USUARIO
El fichero de control permite añadir campos definidos por usuario. Las herramientas ignoran estos campos. Si quiere que los campos se copien a los ficheros de salida, como los paquetes binarios, tendrá que utilizar un esquema de denominación predefinido: los campos deben empezar con «X», seguido de una o más de las letras BCS y un guión. Si se utiliza la letra B, el campo aparecerá en el fichero de control del paquete binario, consulte deb-control(5). Si utiliza la letra S, aparecerá en el fichero de control de paquete fuente generado por dpkg-source(1). Si utiliza la letra C, aparecerá en el fichero de control de envío («.changes»). Tenga en cuenta que los prefijos «X[BCS]-» se eliminan cuando los campos se copian a los ficheros de salida. Un campo XC-Approved-By aparece como Approved-By en el fichero «.changes», y no aparecerá en los ficheros de control de paquete fuente o binario. Take into account that these user-defined fields will be using the global namespace, which might at some point in the future collide with officially recognized fields. To avoid such potential situation you can prefix those fields with Private-, such as XB-Private-New-Field, which as a side effect will make dpkg-deb not warn on them as unknown fields.

EJEMPLO
# Comment
Source: dpkg
Section: admin
Priority: required
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
# this field is copied to the binary and source packages
XBS-Upstream-Release-Status: stable
Homepage: http://wiki.debian.org/Teams/Dpkg
Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git
Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git
Standards-Version: 3.7.3
Build-Depends: pkg-config, debhelper (>= 4.1.81),
 libselinux1-dev (>= 1.28-4) [!linux-any]
Package: dpkg-dev
Section: utils
Priority: optional
Architecture: all
# this is a custom field in the binary package
XB-Mentoring-Contact: Raphael Hertzog <hertzog@debian.org>
Depends: dpkg (>= 1.14.6), perl5, perl-modules, cpio (>= 2.4.2-2),
 bzip2, lzma, patch (>= 2.2-1), make, binutils, libtimedate-perl
Recommends: gcc | c-compiler, build-essential
Suggests: gnupg, debian-keyring
Conflicts: dpkg-cross (<< 2.0.0), devscripts (<< 2.10.26)
Replaces: manpages-pl (<= 20051117-1)
Description: Debian package development tools
 This package provides the development tools (including dpkg-source)
 required to unpack, build and upload Debian source packages.
 .
 Most Debian source packages will require additional tools to build;
 for example, most packages need make and the C compiler gcc.

VÉASE TAMBIÉN
deb-control(5), deb-version(5), dpkg-source(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.