Provided by: dpkg-dev_1.16.1.2ubuntu7_all bug

NOMBRE

       dpkg-architecture  -  Configurar  y  determinar  la  arquitectura  para la construcción de
       paquetes

SINOPSIS

       dpkg-architecture [option...] [command]

DESCRIPCIÓN

       dpkg-architecture facilita determinar y configurar la arquitectura de construcción y de la
       máquina anfitrión para la construcción de un paquete.

       La arquitectura de construcción siempre se determina con una invocación externa a dpkg(1),
       y no se puede definir en la línea de órdenes.

       Puede definir la arquitectura del anfitrión introduciendo una o ambas opciones -a y -t. El
       valor  por  omisión  es una invocación externa a gcc(1), o la misma que la arquitectura de
       construcción en caso de no disponer de CC o gcc. Es suficiente usar -a o -t, el valor  del
       otro  se  definirá  con  un valor predefinido adecuado. De hecho, a veces es mejor definir
       sólo uno, ya que dpkg-architecture le avisará  si  su  opción  no  encaja  con  la  opción
       predefinida.

ÓRDENES

       -l     Muestra  las  variables  de  entorno, una por línea, con el formato VARIABLE=valor.
              Esta es la acción predefinida.

       -edebian-architecture
              Revisa si la arquitectura es la misma. Por omisión, debian-architecture se  compara
              con la arquitectura del sistema Debian actual, el sistema anfitrión. Esta acción no
              expande los comodines de arquitectura. La orden finaliza con un estado de salida de
              cero si coinciden, y de 1 en caso contrario.

       -icomodín-arquitectura
              Revisa  la  identidad  de  la arquitectura expandiendo comodin-arquitectura como un
              comodín de arquitectura, y comparándola con  la  arquitectura  del  sistema  Debian
              actual.  La  orden  finaliza con un estado de salida de cero si coincide, y de 1 en
              caso contrario.

       -qnombre-variable
              Muestra el valor de una única variable.

       -s     Muestra una orden «export». Se puede usar para definir  las  variables  de  entorno
              mediante eval.

       -u     Muestra una orden similar a -s, pero para eliminar la definición («unset») de todas
              las variables.

       -c orden
              Ejecuta una orden en un entorno cuyas variables ya están  definidas  con  un  valor
              predefinido.

       -L     Muestra una lista de nombres de arquitectura válidos.

       --help Muestra el modo de uso y termina.

       --version
              Muestra la versión y termina.

OPCIONES

       -adebian-architecture
              Define la arquitectura de Debian.

       -ttipo-sistema-gnu
              Define el tipo de sistema GNU.

       -f     Los  scripts  respetan los valores de variables de entorno preexistentes que tienen
              el mismo nombre que los valores contenidos en el script (por  ejemplo,  usados  por
              dpkg-architecture),  a  menos  que se use esta marca de forzado. Permite al usuario
              sobreescribir un valor, aún cuando la invocación a dpkg-architecture  se  encuentra
              en otro script (por ejemplo, dpkg-buildpackage(1)).

TÉRMINOS

       máquina de construcción
           La máquina en la que se construye el paquete.

       máquina anfitrión
           La máquina para la cual se construye el paquete.

       Arquitectura de Debian
           La  cadena de la arquitectura de Debian, que especifica el árbol binario en el archivo
           FTP. Ejemplos: i386, sparc, hurd-i386.

       comodín de arquitectura
           Un comodín de arquitectura es una cadena  especial  de  arquitectura  que  encaja  con
           cualquier  arquitectura  real  del  que es parte. La forma habitual es <kernel>-<cpu>.
           Ejemplos: linux-any, any-i386, hurd-any.

       tipo de sistema GNU
           Una cadena de definición de arquitectura que consiste de dos partes separadas  por  un
           guión:   el  procesador  y  el  sistema.  Ejemplos:  i386-linux-gnu,  sparc-linux-gnu,
           i386-gnu, x86_64-netbsd.

VARIABLES

       Las siguientes variables se definen mediante dpkg-architecture:

       DEB_BUILD_ARCH
           La arquitectura de Debian de la máquina de construcción.

       DEB_BUILD_ARCH_OS
           El nombre del sistema Debian de la máquina de construcción.

       DEB_BUILD_ARCH_CPU
           El nombre de Debian del procesador de la máquina de construcción.

       DEB_BUILD_ARCH_BITS
           El tamaño del puntero de la máquina de construcción, en bits.

       DEB_BUILD_ARCH_ENDIAN
           El nivel de «endianización» de la máquina de construcción, «little» o «big».

       DEB_BUILD_GNU_CPU
           La parte CPU de DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_SYSTEM
           La parte de «System» de DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_TYPE
           El tipo de sistema GNU de la máquina de construcción.

       DEB_BUILD_MULTIARCH
           The clarified GNU system type of the build machine, used for filesystem paths.

       DEB_HOST_ARCH
           La arquitectura de Debian de la máquina anfitrión.

       DEB_HOST_ARCH_OS
           El nombre de sistema Debian de la máquina anfitrión.

       DEB_HOST_ARCH_CPU
           El nombre del procesador Debian de la máquina anfitrión.

       DEB_HOST_ARCH_BITS
           El tamaño del puntero de la máquina anfitrión, en bits.

       DEB_HOST_ARCH_ENDIAN
           El nivel de «endianización» de la máquina anfitrión, «little» o «big».

       DEB_HOST_GNU_CPU
           La parte de CPU de DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_SYSTEM
           La parte de «System» de DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_TYPE
           El tipo de sistema GNU de la máquina anfitrión.

       DEB_HOST_MULTIARCH
           The clarified GNU system type of the host machine, used for filesystem paths.

DEBIAN/RULES

       Las variables de entorno definidas por dpkg-architecture se introducen a debian/rules como
       variables  de  «make»  (consulte  la  documentación  de  make). Por otra parte, no debería
       depender de ellos, ya que esto rompe la invocación manual del script. En lugar de ello, se
       deberían iniciar mediante dpkg-architecture con la opción «-q». Aquí hay algunos ejemplos,
       que muestran también como mejorar la compatibilidad de su paquete con la construcción para
       varias arquitecturas.

       En lugar de:

              ARCH=`dpkg --print-architecture`
              configure $(ARCH)-linux

       use lo siguiente:

              DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
              DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)

              configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)

       En lugar de:

              ARCH=`dpkg --print-architecture`
              ifeq ($(ARCH),alpha)
                ...
              endif

       use:

              DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)

              ifeq ($(DEB_HOST_ARCH),alpha)
                ...
              endif

       o si sólo precisa revisar el tipo de sistema o CPU, use las variables «DEB_HOST_ARCH_OS» o
       «DEB_HOST_ARCH_CPU».

       En general, invocar dpkg en el fichero de reglas («rules») para obtener la información  de
       arquitectura  está  obsoleto  (a  menos  que  desee  ofrecer  compatibilidad con versiones
       anteriores, véase a continuación). La  opción  «--print-architecture»  es  particularmente
       inestable,  ya  que  existen  arquitecturas  de  Debian que no encajan con el nombre de un
       procesador.

COMPATIBILIDAD CON VERSIONES ANTERIORES

       Las variables «DEB_*_ARCH_BITS» y «DEB_*_ARCH_ENDIAN»  se  introdujeron  a  partir  de  la
       versión   1.15.4  de  dpkg-dev.  Su  uso  en  debian/rules  requiere  una  dependencia  de
       construcción sobre dpkg-dev (>= 1.15.4).

       Las variables «DEB_HOST_ARCH_CPU» y «DEB_HOST_ARCH_OS» se  introdujeron  a  partir  de  la
       versión  1.13.2  de  dpkg-dev.  Antes,  los  ficheros debian/rules solían revisar aquellos
       valores de «DEB_HOST_GNU_CPU» o «DEB_HOST_GNU_TYPE» susceptibles de haber cambiado.

       Se deberían actualizar aquellas partes  de  los  ficheros  debian/rules  que  revisan  las
       variables  que deciden el modo o el objetivo a compilar. Puede usar el siguiente código si
       desea permitir la compatibilidad con versiones anteriores de dpkg-dev:

              DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)
              DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)

              # Take account of old dpkg-architecture output.
              ifeq ($(DEB_HOST_ARCH_CPU),)
                DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
                ifeq ($(DEB_HOST_ARCH_CPU),x86_64)
                  DEB_HOST_ARCH_CPU := amd64
                endif
              endif
              ifeq ($(DEB_HOST_ARCH_OS),)
                DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))
                ifeq ($(DEB_HOST_ARCH_OS),gnu)
                  DEB_HOST_ARCH_OS := hurd
                endif
              endif

       Y de forma parecida con «DEB_BUILD_ARCH_CPU» y «DEB_BUILD_ARCH_OS».

       Si desea la compatibilidad con versiones de dpkg-dev que  no  incluían  dpkg-architecture,
       puede usar lo siguiente:

              DEB_BUILD_ARCH := $(shell dpkg --print-architecture)
              DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH))
              ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
                DEB_BUILD_GNU_SYSTEM := gnu
              else
                DEB_BUILD_GNU_SYSTEM := linux-gnu
              endif
              DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)

              DEB_HOST_ARCH := $(DEB_BUILD_ARCH)
              DEB_HOST_GNU_CPU := $(DEB_BUILD_GNU_CPU)
              DEB_HOST_GNU_SYSTEM := $(DEB_BUILD_GNU_SYSTEM)
              DEB_HOST_GNU_TYPE := $(DEB_BUILD_GNU_TYPE)

       Inserte un subconjunto de estas líneas al inicio del fichero «debian/rules»; estos valores
       predefinidos se sobreescribirán en caso de usar dpkg-architecture.

       No necesita el conjunto completo. Seleccione un  conjunto  consistente  que  contenga  los
       valores  que  usa  en  el fichero de reglas. Por ejemplo, si sólo necesita la arquitectura
       Debian   del   sistema   de   destino,   tiene   suficiente    con    «DEB_HOST_ARCH=`dpkg
       --print-architecture\[u00BB] (de hecho, esta es la arquitectura de Debian de la máquina de
       construcción, pero recuerde que sólo intentamos  crear  la  compatibilidad  con  versiones
       anteriores que tienen una compilación nativa).

       Las  opciones -e y -i aparecieron en recientes versiones de dpkg-architecture (a partir de
       la versión 1.13.13 de dpkg).

EJEMPLOS

       dpkg-buildpackage acepta la opción -a y la introduce a dpkg-architecture. Otros ejemplos:

              CC=i386-gnu-gcc dpkg-architecture -c debian/rules build

              eval `dpkg-architecture -u`

       Revisa si una arquitectura equivale a la arquitectura actual o dada:

              dpkg-architecture -elinux-alpha

              dpkg-architecture -amips -elinux-mips

       Revisa si la arquitectura actual o introducida con «-a» es de un sistema Linux:

              dpkg-architecture -ilinux-any

              dpkg-architecture -ai386 -ilinux-any

FICHEROS

       All these files have to be present for dpkg-architecture to work. Their  location  can  be
       overridden at runtime with the environment variable DPKG_DATADIR.

       /usr/share/dpkg/cputable
              Tabla de nombres de CPU conocidos y su correlación con su nombre GNU.

       /usr/share/dpkg/ostable
              Tabla de sistemas operativos conocidos y su correlación con su nombre GNU.

       /usr/share/dpkg/triplettable
              Correlación  entre  tuples  de  3  de  la  arquitectura de Debian, y los nombres de
              arquitectura de Debian.

VÉASE TAMBIÉN

       dpkg-buildpackage(1), dpkg-cross(1).

AUTOR

       dpkg-architecture y su página de manual fueron escritos originalmente por Marcus Brinkmann
       <brinkmd@debian.org>.

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.