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.  It calls gpg2 or gpg to sign the .dsc file (if any, unless -us is specified or on UNRELEASED builds).

7.  Ejecución de dpkg-genchanges para generar el fichero .changes. Muchas de las opciones de dpkg-buildpackage se introducen a dpkg-genchanges.

8.  It calls gpg2 or gpg to sign the .changes file (unless -uc is specified or on UNRELEASED builds).

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.

-Pprofile[,...]
    Specify the profile(s) we build, as a comma-separated list, without the "profile." namespace prefix. The default behavior is to build for no specific profile. Also adds them (as a space separated list) to the DEB_BUILD_PROFILES environment variable which allows, for example, debian/rules files to use this information for conditional builds.

-jtareas
    Number of jobs allowed to be run simultaneously, equivalent to the make(1) option of the same name. Will add itself to the MAKEFLAGS environment variable, which should cause all subsequent make invocations to inherit the option. Also adds parallel=jobs to the DEB_BUILD_OPTIONS environment variable which allows debian/rules files to use this information for their own purposes. The parallel=jobs in DEB_BUILD_OPTIONS environment variable will override the -j value if this option is given.

-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
    When dpkg-buildpackage needs to execute GPG to sign a source control (.dsc) file or a .changes file it will run sign-command (searching the PATH if necessary) instead of gpg2 or gpg. sign-command will get all the arguments that gpg2 or gpg would have gotten. sign-command should not contain spaces or any other shell metacharacters.

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

--force-sign
    Force the signing of the resulting files (since dpkg 1.17.0), regardless of -us or -uc or other internal heuristics.

-i[regex]
-I[pattern]
-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

DEB_SIGN_KEYID
    If set, it will be used to sign the .changes and .dsc files. Overridden by the -k option.

DEB_BUILD_PROFILES
    If set, it will be used as the active build profile(s) for the package being built. It is a space separated list of profile names, without the "profile." namespace prefix. Overridden by the -P option.

  Reliance on exported environment flags
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.

NOTAS

  Las opciones de compilación ya no se exportan.
Between dpkg 1.14.17 and 1.16.1, dpkg-buildpackage exported compiler flags (CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS and LDFLAGS) with values as returned by dpkg-buildflags. This is no longer the case.

  Default build targets
dpkg-buildpackage is using the build-arch and build-indep targets since dpkg 1.16.2. Those targets are thus mandatory. But to avoid breakages of existing packages, and ease the transition, it will fallback to using the build target if make -f debian/rules -qn build-target returns 2 as exit code.

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), gpg2(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.