Scroll to navigation

dpkg-buildpackage(1) Herramientas de dpkg dpkg-buildpackage(1)

NOMBRE

dpkg-buildpackage - Construcción de paquetes binarios o fuente a partir de las fuentes

SINOPSIS

dpkg-buildpackage [opción...]

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 ejecutar 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, ejecutar ese objetivo y se detiene. De no ser así, ejecuta fakeroot debian/rules clean para limpiar el árbol de construcción (a menos que especifique -nc).
4.
Ejecució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.
Ejecución de debian/rules build-target seguido de fakeroot debian/rules binary-target (a menos que sólo se solicite la construcción de las fuentes mediante -S). Tenga en cuenta que y build-target y binary-target son build o binary (por omisión, o si se define -b), o build-arch y binary-arch (si se define -B), o build-indep y binary-indep (si se define -A).
6.
Ejecución de gpg para firmar el fichero .dsc (de existir, a menos que se especifique -us).
7.
Ejecución de dpkg-genchanges para generar el fichero .changes. Muchas de las opciones de dpkg-buildpackage se introducen a dpkg-genchanges.
8.
Ejecución de gpg para firmar el fichero .changes (a menos que se especifique -us).
9.
Si se especifica -tc, se ejecutará nuevamente fakeroot debian/rules clean. Por último, ejecuta 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
Ejecuta 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 utilizar 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 ejecuciones 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 iniciar 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 ejecutar debian/rules como una orden con varios parámetros estándar. Esta opción posibilita ejecutar otro programa para construir el paquete (puede incluir parámetros separados por espacios). Por otra parte, se puede utilizar 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 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 gpg. La orden-para-firmar no debe contener espacios ni tampoco metacaracteres del intérprete de órdenes.
-kllave-id
Especifica una llave de identificación a utilizar 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.
-?, --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 utilizar la interfaz adecuada para obtener los valores necesarios.

Variables definidas por dpkg-architecture

dpkg-architecture se ejecuta 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.

Las opciones de compilación ya no se exportan.

Con las versiones comprendidas entre 1.14.17 y 1.16.1, dpkg-buildpackage exporta las opciones de compilación ( CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS y LDFLAGS) con los valores devueltos por dpkg-buildflags. Este comportamiento se ha eliminado.

COMPATIBILIDAD CON VERSIONES ANTERIORES

A partir de la versión 1.16.2, dpkg-buildpackage utiliza los objetivos build-arch y build-indep. Estos objetivos son obligatorios. Para evitar conflictos con paquetes existentes, y facilitar la transición, utiliza el objetivo build de forma predefinida si make -f debian/rules -qn build-target devuelve un valor de salida 2.

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.

VÉASE TAMBIÉN

dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genchanges(1), fakeroot(1), gpg(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.
4 de mayo del 2012 Proyecto Debian