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.

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