Provided by:
dpkg-dev_1.16.1.2ubuntu7_all 
NOMBRE
dpkg-architecture - Configurar y determinar la arquitectura para la
construccion de paquetes
SINOPSIS
dpkg-architecture [option...] [command]
DESCRIPCI'ON
dpkg-architecture facilita determinar y configurar la arquitectura de
construccion y de la maquina anfitrion para la construccion de un
paquete.
La arquitectura de construccion siempre se determina con una invocacion
externa a dpkg(1), y no se puede definir en la linea de ordenes.
Puede definir la arquitectura del anfitrion introduciendo una o ambas
opciones -a y -t. El valor por omision es una invocacion externa a
gcc(1), o la misma que la arquitectura de construccion en caso de no
disponer de CC o gcc. Es suficiente usar -a o -t, el valor del otro se
definira con un valor predefinido adecuado. De hecho, a veces es mejor
definir solo uno, ya que dpkg-architecture le avisara si su opcion no
encaja con la opcion predefinida.
'ORDENES
-l Muestra las variables de entorno, una por linea, con el formato
VARIABLE=valor. Esta es la accion predefinida.
-edebian-architecture
Revisa si la arquitectura es la misma. Por omision,
debian-architecture se compara con la arquitectura del sistema
Debian actual, el sistema anfitrion. Esta accion 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'in-arquitectura
Revisa la identidad de la arquitectura expandiendo
comodin-arquitectura como un comodin de arquitectura, y
comparandola 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 unica 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 definicion
(<<unset>>) de todas las variables.
-c orden
Ejecuta una orden en un entorno cuyas variables ya estan
definidas con un valor predefinido.
-L Muestra una lista de nombres de arquitectura validos.
--help Muestra el modo de uso y termina.
--version
Muestra la version 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, aun cuando la
invocacion a dpkg-architecture se encuentra en otro script (por
ejemplo, dpkg-buildpackage(1)).
T'ERMINOS
maquina de construccion
La maquina en la que se construye el paquete.
maquina anfitrion
La maquina para la cual se construye el paquete.
Arquitectura de Debian
La cadena de la arquitectura de Debian, que especifica el arbol
binario en el archivo FTP. Ejemplos: i386, sparc, hurd-i386.
comodin de arquitectura
Un comodin 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 definicion de arquitectura que consiste de dos partes
separadas por un guion: 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 maquina de construccion.
DEB_BUILD_ARCH_OS
El nombre del sistema Debian de la maquina de construccion.
DEB_BUILD_ARCH_CPU
El nombre de Debian del procesador de la maquina de construccion.
DEB_BUILD_ARCH_BITS
El tamano del puntero de la maquina de construccion, en bits.
DEB_BUILD_ARCH_ENDIAN
El nivel de <<endianizacion>> de la maquina de construccion,
<<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 maquina de construccion.
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 maquina anfitrion.
DEB_HOST_ARCH_OS
El nombre de sistema Debian de la maquina anfitrion.
DEB_HOST_ARCH_CPU
El nombre del procesador Debian de la maquina anfitrion.
DEB_HOST_ARCH_BITS
El tamano del puntero de la maquina anfitrion, en bits.
DEB_HOST_ARCH_ENDIAN
El nivel de <<endianizacion>> de la maquina anfitrion, <<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 maquina anfitrion.
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 documentacion de
make). Por otra parte, no deberia depender de ellos, ya que esto rompe
la invocacion manual del script. En lugar de ello, se deberian iniciar
mediante dpkg-architecture con la opcion <<-q>>. Aqui hay algunos
ejemplos, que muestran tambien como mejorar la compatibilidad de su
paquete con la construccion 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 solo 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 informacion de arquitectura esta obsoleto (a menos que desee
ofrecer compatibilidad con versiones anteriores, vease a continuacion).
La opcion <<--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 version 1.15.4 de dpkg-dev. Su uso en
debian/rules requiere una dependencia de construccion sobre dpkg-dev
(>= 1.15.4).
Las variables <<DEB_HOST_ARCH_CPU>> y <<DEB_HOST_ARCH_OS>> se
introdujeron a partir de la version 1.13.2 de dpkg-dev. Antes, los
ficheros debian/rules solian revisar aquellos valores de
<<DEB_HOST_GNU_CPU>> o <<DEB_HOST_GNU_TYPE>> susceptibles de haber
cambiado.
Se deberian 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 codigo 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 incluian
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 lineas al inicio del fichero
<<debian/rules>>; estos valores predefinidos se sobreescribiran 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 solo 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 maquina de construccion,
pero recuerde que solo intentamos crear la compatibilidad con versiones
anteriores que tienen una compilacion nativa).
Las opciones -e y -i aparecieron en recientes versiones de
dpkg-architecture (a partir de la version 1.13.13 de dpkg).
EJEMPLOS
dpkg-buildpackage acepta la opcion -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 correlacion con su nombre
GNU.
/usr/share/dpkg/ostable
Tabla de sistemas operativos conocidos y su correlacion con su
nombre GNU.
/usr/share/dpkg/triplettable
Correlacion entre tuples de 3 de la arquitectura de Debian, y
los nombres de arquitectura de Debian.
V'EASE TAMBI'EN
dpkg-buildpackage(1), dpkg-cross(1).
AUTOR
dpkg-architecture y su pagina de manual fueron escritos originalmente
por Marcus Brinkmann <brinkmd@debian.org>.
TRADUCTOR
Rudy Godoy <rudy@kernel-panik.org>, Ruben 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
Fernandez-Sanguino, Ruben Porras, Luis Uribe y Omar Campagne.