dpkg-buildpackage(1) Construcción de paquetes binarios o fuente a partir de

SINOPSIS

dpkg-buildpackage [opciones]

DESCRIPCIÓN

dpkg-buildpackage es un programa que automatiza el proceso de construcción de un paquete de Debian. Éste consiste de los siguientes pasos:
1.
Preparación del entorno de construcción, definiendo varias variables de entorno (consulte VARIABLES DE ENTORNO) para invocar dpkg-source --before-build (a menos que se defina -T o --target.
2.
Verificar que las dependencias y conflictos de construcción («build-dependencies» y «build-conflicts», respectivamente) estén satisfechas (a menos que especifique -d).
3.
Si se selecciona un objetivo específico con -T o --target, invoca ese objetivo y se detiene. De no ser así, invoca fakeroot debian/rules clean para limpiar el árbol de construcción (a menos que especifique -nc).
4.
Invocación de dpkg-source -b para generar el paquete fuente (a menos que se requiera sólo la construcción del paquete binario con -b, -B o -A).
5.
Invocación de debian/rules build seguido de fakeroot debian/rules binary-target (a menos que se requiera sólo la construcción de las fuentes mediante -S). Tenga en cuenta que binary-target es o bien binary (por omisión, o si se especifica -b), binary-arch (si se especifica -B), o binary-indep (si se especifica -A).
6.
Invocación de gpg para firmar el fichero .dsc (de existir, a menos que se especifique -us).
7.
Invocación de dpkg-genchanges para generar el fichero .changes. Muchas de las opciones de dpkg-buildpackage se introducen a dpkg-genchanges.
8.
Invocación de gpg para firmar el fichero .changes (a menos que se especifique -us).
9.
Si se especifica -tc, se invocará nuevamente fakeroot debian/rules clean. Por último, invoca dpkg-source --after-build.

OPCIONES

-b
Especifica una construcción sólo binaria, no se construirán ficheros de fuentes y/o distribuidas. Se introduce a dpkg-genchanges.
-B
Especifica una construcción sólo binaria, limitada a paquetes dependientes de arquitectura. Se introduce a dpkg-genchanges.
-A
Especifica una construcción sólo binaria, limitada a paquetes independientes de la arquitectura. Se introduce a dpkg-genchanges.
-S
Especifica una construcción sólo de las fuentes, no se construirá ningún paquete binario. Se introduce a dpkg-genchanges.
-F
Define una construcción completa normal, se construyen los paquetes binarios y de fuente. Es idéntica al comportamiento predefinido cuando no se define ninguna opción de construcción.

--target=target
--target target
-Ttarget

Invoca debian/rules target después de definir el entorno de construcción, deteniendo en este punto el proceso de construcción del paquete. Si se introduce --as-root, la orden se ejecutará como el usuario «root» (véase -r). Tenga en cuenta que los objetivos oficiales que precisan ejecutarse como administrador según las directrices de Debian no necesitan esta opción.
--as-root
Su uso sólo tiene sentido con --target. Requiere que se ejecute el objetivo con permisos del usuario «root».

-si
-sa
-sd
-vversión
-Cdescripción-de-cambios
-mdirección-mantenedor
-edirección-mantenedor

Se introduce sin cambios a dpkg-genchanges. Consulte la página de manual.
-aarquitectura
Especifica la arquitectura de Debian para la cual se construye el paquete. La arquitectura de la máquina en la que se construye el paquete se detecta automáticamente, y es también la arquitectura de destino por omisión para la máquina anfitrión.
-ttipo-sistema-gnu
Define el tipo de sistema GNU para el cual se construye el paquete. Se puede usar en lugar de «-a», o como un complemento para invalidar el tipo de sistema GNU predefinido de la arquitectura Debian de destino.
-jtareas
El número máximo de tareas («jobs») ejecutándose simultáneamente, equivalente a la opción de make(1) del mismo nombre. Se añadirá a la variable de entorno «MAKEFLAGS», que causa que todas las invocaciones posteriores a «make» hereden esta opción. También añade parallel=tareas a la variable de entorno «DEB_BUILD_OPTIONS», que permite que los ficheros «debian/rules» usen esta información para sus propios propósitos. parallel=tareas en la variable de entorno «DEB_BUILD_OPTIONS» invalida el valor -j en caso de introducir esta opción.
-D
Verifica las dependencias y los conflictos de construcción, interrumpiendo el proceso si alguna no está satisfecha. Este es el comportamiento por omisión.
-d
No revisa dependencias ni conflictos de construcción.
-nc
No limpia el árbol de fuentes (implica -b si no se introdujo -B, -A o -S).
-tc
Limpia el árbol de fuentes (usando orden-para-obtener-root debian/rules clean) después de la creación del paquete.
-rorden-para-obtener-root
Cuando dpkg-buildpackage necesite ejecutar parte del proceso de construcción como «root», añade el prefijo orden-para-obtener-root a la orden a ejecutar en caso de haberse especificado. La orden-para-obtener-root debe ser el nombre de un programa que esté dentro del PATH, y tomará como argumentos el nombre del proceso a ejecutar, así como los argumentos que éste toma. La orden-para-obtener-root puede incluir parámetros, pero no caracteres especiales del intérprete de órdenes. La orden-para-obtener-root puede ser fakeroot, sudo, super o really. su no es adecuado ya que sólo puede invocar el intérprete de órdenes del usuario con -c, en lugar de introducir los argumentos individualmente a la orden a ejecutar.
-Rfichero-reglas
Habitualmente, construir un paquete de Debian incluye invocar debian/rules como una orden con varios parámetros estándar. Esta opción posibilita invocar otro programa para construir el paquete (puede incluir parámetros separados por espacios). Por otra parte, se puede usar para ejecutar el fichero de reglas («rules») estándar con otro programa de make (por ejemplo, usando /usr/local/bin/make -f debian/rules como fichero-reglas.
-porden-para-firmar
Cuando dpkg-buildpackage necesita ejecutar GPG o PGP para firmar el fichero fuente de control (.dsc) o un fichero .changes, ejecutará orden-para-firmar (buscando en PATH si es necesario) en lugar de gpg. orden-para-firmar recibirá todos los argumentos que obtendría pgp. Debe usar la opción -sgpg si la orden-para-firmar toma los argumentos en formato GPG en vez de PGP. La orden-para-firmar no debe contener espacios ni tampoco caracteres especiales del intérprete de órdenes.
-kllave-id
Especifica una llave de identificación a usar para firmar los paquetes.
-us
No firma el paquete fuente.
-uc
No firma el fichero .changes.

-i[exp-reg]
-I[patrón]
-s[nsAkurKUR]
-z, -Z

Se introduce sin cambios a dpkg-source. Consulte la página de manual.
--source-option=opción
Introduce la opción opción a dpkg-source.
--changes-option=opción
Introduce la opción opción a dpkg-genchanges.

--admindir=directorio
--admindir directorio

Cambia el directorio con la base de datos de dpkg. Por omisión es /var/lib/dpkg.
-h, --help
Muestra el modo de uso y termina.
--version
Muestra la versión y termina.

ENTORNO

Aún en el caso de que dpkg-buildpackage exporte algunas variables, debian/rules no debería depender de su presencia, sino que debería usar la interfaz adecuada para obtener los valores necesarios.

Variables definidas por dpkg-architecture

dpkg-architecture se invoca con los parámetros -a y -t. Toda variable que ofrece una salida mediante su opción -s se integra en el entorno de construcción.

Opciones de compilación

Las variables de entorno CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS y LDFLAGS se define con los valores que devuelve dpkg-buildflags. Para más información consulte su página de manual.

FALLOS

Debería ser posible especificar espacios y caracteres especiales del intérprete de órdenes en los argumentos iniciales de la orden-para-obtener-root y la orden-para-firmar.

AUTORES

Copyright © 1995-1996 Ian Jackson
Copyright © 2000 Wichert Akkerman
Copyright © 2007 Frank Lichtenheld
Copyright © 2008-2010 Raphaël Hertzog

Esto es software libre; vea la versión 2 o posterior de la Licencia Pública General GNU para condiciones de copia. NO hay ninguna garantía.

TRADUCTOR

Rudy Godoy <[email protected]>, Rubén Porras <[email protected]>, Bruno Barrera C. <[email protected]>, Carlos Izquierdo <[email protected]>, Esteban Manchado y NOK. Debian L10n Spanish <[email protected]>.
Revisiones por Santiago Vila <[email protected]>, Javier Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.