Provided by: dpkg-dev_1.18.4ubuntu1.7_all bug

NOME

       dpkg-architecture - imposta e determina l'architettura per la compilazione dei pacchetti

SINTASSI

       dpkg-architecture [opzione...] [comando]

DESCRIZIONE

       dpkg-architecture  fornisce  una  funzionalità  per determinare e impostare l'architettura
       host e di compilazione per la compilazione dei pacchetti.

       L'architettura di compilazione è sempre determinata da una chiamata esterna  a  dpkg(1)  e
       non può essere impostata dalla riga di comando.

       You  can specify the host architecture by providing one or both of the options --host-arch
       and --host-type. The default is determined by an external call to gcc(1), or the  same  as
       the  build  architecture  if  CC or gcc are both not available. One out of --host-arch and
       --host-type is sufficient, the value of the other will be set to a usable default. Indeed,
       it  is  often  better to only specify one, because dpkg-architecture will warn you if your
       choice does not match the default.

COMANDI

       -l, --list
              Stampa le variabili d'ambiente, una per riga, nel formato VARIABILE=valore.  Questa
              è l'azione predefinita.

       -e, --equal architettura
              Controlla  l'uguaglianza  dell'architettura  (a partire da dpkg 1.13.13). Confronta
              l'architettura Debian ospite attuale o specificata con architettura, per verificare
              se  sono  uguali. Questa azione non espande l'espressione jolly per l'architettura.
              Il comando termina con uno stato di uscita di 0 se corrispondono e 1 altrimenti.

       -i, --is espressionejolly-architettura
              Controlla l'identità dell'architettura  (a  partire  da  dpkg  1.13.13).  Confronta
              l'architettura      Debian      ospite      attuale      o      specificata     con
              espressionejolly-architettura dopo aver fatto l'espansione  dell'espressione  jolly
              per  l'architettura,  per  verificare  se corrispondono. Il comando termina con uno
              stato di uscita di 0 se corrispondono e 1 altrimenti.

       -q, --query nome-variabile
              Stampa il valore di una singola variabile.

       -s, --print-set
              Stampa un comando di esportazione. Può essere  usata  per  impostare  le  variabili
              d'ambiente usando eval.

       -u, --print-unset
              Stampa un comando simile a --print-unset ma per deimpostare tutte le variabili.

       -c, --command comando
              Esegue  un  comando  in  un  ambiente che ha tutte le variabili impostate al valore
              determinato.

       -L, --list-known
              Stampa un elenco di nomi di architettura validi. Eventualmente ristretto da  una  o
              più delle opzioni di corrispondenza --match-wildcard, --match-bits o --match-endian
              (a partire da dpkg 1.17.14).

       -?, --help
              Mostra il messaggio sull'uso ed esce.

       --version
              Mostra la versione ed esce.

OPZIONI

       -a, --host-arch architettura
              Imposta l'architettura host Debian.

       -t, --host-type tipo-sistema-gnu
              Imposta il tipo di sistema GNU ospite.

       -A, --target-arch architettura
              Set the target Debian architecture (since dpkg 1.17.14).

       -T, --target-type tipo-sistema-gnu
              Set the target GNU system type (since dpkg 1.17.14).

       -W, --match-wildcard espressionejolly-architettura
              Limita le architetture elencate da --list-known a  quelle  che  corrispondono  alla
              espressione jolly specificata per l'architettura (a partire da dpkg 1.17.14).

       -B, --match-bits bit-architettura
              Limita  le architetture elencate da --list-known a quelle con i bit CPU specificati
              (a partire da dpkg 1.17.14). O 32 o 64.

       -E, --match-endian endian-architettura
              Limita le architetture elencate da --list-known a quelle  con  la  modalità  endian
              specificata (a partire da dpkg 1.17.14). O little o big.

       -f, --force
              Values  set  by  existing  environment  variables with the same name as used by the
              scripts are honored (i.e. used by dpkg-architecture), except if this force flag  is
              present.  This  allows  the  user  to  override  a  value  even  when  the  call to
              dpkg-architecture   is   buried    in    some    other    script    (for    example
              dpkg-buildpackage(1)).

TERMINOLOGIA

       macchina di compilazione
           La macchina usata per creare il pacchetto.

       macchina ospite
           La macchina per cui è compilato il pacchetto.

       macchina di destinazione
           The  machine  the  compiler  is  building  for.   This  is only needed when building a
           cross-toolchain, one that will be built on the build architecture, to be  run  on  the
           host architecture, and to build code for the target architecture.

       architettura Debian
           La  stringa dell'architettura Debian che specifica l'albero binario nell'archivio FTP.
           Esempi: i386, sparc, hurd-i386.

       Debian architecture wildcard
           A Debian architecture wildcard is a special architecture string that  will  match  any
           real  architecture  being  part  of it. The general form is <kernel>-<cpu>.  Examples:
           linux-any, any-i386, hurd-any.

       tipo di sistema GNU
           An architecture specification string consisting of two parts separated  by  a  hyphen:
           cpu and system.  Examples: i586-linux-gnu, sparc-linux-gnu, i686-gnu, x86_64-netbsd.

       multiarch triplet
           The  clarified  GNU  system  type,  used  for filesystem paths.  This triplet does not
           change even when the baseline ISA gets bumped, so that the resulting paths are  stable
           over  time.  The only current difference with the GNU system type is that the CPU part
           for i386 based systems is always i386.   Examples:  i386-linux-gnu,  x86_64-linux-gnu.
           Example paths: /lib/powerpc64le-linux-gnu/, /usr/lib/i386-kfreebsd-gnu/.

VARIABILI

       dpkg-architecture imposta le seguenti variabili:

       DEB_BUILD_ARCH
           L'architettura Debian della macchina di compilazione.

       DEB_BUILD_ARCH_OS
           Il nome di sistema Debian della macchina di compilazione (a partire da dpkg 1.13.2).

       DEB_BUILD_ARCH_CPU
           Il nome Debian per la CPU della macchina di compilazione (a partire da dpkg 1.13.2).

       DEB_BUILD_ARCH_BITS
           La  dimensione del puntatore della macchina di compilazione (in bit; a partire da dpkg
           1.15.4).

       DEB_BUILD_ARCH_ENDIAN
           La modalità endian della macchina di compilazione (little o big;  a  partire  da  dpkg
           1.15.4).

       DEB_BUILD_GNU_CPU
           La parte CPU di DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_SYSTEM
           La parte sistema di DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_TYPE
           Il tipo di sistema GNU della macchina di compilazione.

       DEB_BUILD_MULTIARCH
           Il  tipo  di  sistema GNU chiarito della macchina di compilazione usato per i percorsi
           del file system (a partire da dpkg 1.16.0).

       DEB_HOST_ARCH
           L'architettura Debian della macchina ospite.

       DEB_HOST_ARCH_OS
           Il nome di sistema Debian della macchina ospite (a partire da dpkg 1.13.2).

       DEB_HOST_ARCH_CPU
           Il nome Debian per la CPU della macchina host (a partire da dpkg 1.13.2).

       DEB_HOST_ARCH_BITS
           La dimensione del puntatore della macchina ospite (in bit; a partire da dpkg 1.15.4).

       DEB_HOST_ARCH_ENDIAN
           La modalità endian della macchina ospite (little o big; a partire da dpkg 1.15.4).

       DEB_HOST_GNU_CPU
           La parte CPU di DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_SYSTEM
           La parte sistema di DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_TYPE
           Il tipo di sistema GNU della macchina ospite.

       DEB_HOST_MULTIARCH
           Il tipo di sistema GNU chiarito della macchina ospite usato per i  percorsi  del  file
           system (a partire da dpkg 1.16.0).

       DEB_TARGET_ARCH
           L'architettura Debian della macchina di destinazione (a partire da dpkg 1.17.14).

       DEB_TARGET_ARCH_OS
           Il nome di sistema Debian della macchina di destinazione (a partire da dpkg 1.17.14).

       DEB_TARGET_ARCH_CPU
           Il nome Debian per la CPU della macchina di destinazione (a partire da dpkg 1.17.14).

       DEB_TARGET_ARCH_BITS
           La  dimensione del puntatore della macchina di destinazione (in bit; a partire da dpkg
           1.17.14).

       DEB_TARGET_ARCH_ENDIAN
           La modalità endian della macchina di destinazione (little o big;  a  partire  da  dpkg
           1.17.14).

       DEB_TARGET_GNU_CPU
           La parte CPU di DEB_TARGET_GNU_TYPE (a partie da dpkg 1.17.14).

       DEB_TARGET_GNU_SYSTEM
           La parte sistema di DEB_TARGET_GNU_TYPE (a partire da dpkg 1.17.14).

       DEB_TARGET_GNU_TYPE
           Il tipo di sistema GNU della macchina di destinazione (a partire da dpkg 1.17.14).

       DEB_TARGET_MULTIARCH
           Il  tipo  di  sistema GNU chiarito della macchina di destinazione usato per i percorsi
           del file system (a partire da dpkg 1.17.14).

FILE

   Tabelle delle architetture
       Tutti questi file devono essere presenti affinché dpkg-architecture possa  funzionare.  La
       loro  posizione  può  essere  sovrascritta  al  momento  dell'esecuzione  con la variabile
       d'ambiente DPKG_DATADIR.

       /usr/share/dpkg/cputable
              Tabella dei nomi di CPU conosciuti a mappatura al loro nome GNU.

       /usr/share/dpkg/ostable
              Tabella dei nomi di sistema operativo conosciuti e mappatura al loro nome GNU.

       /usr/share/dpkg/triplettable
              Mappatura delle triplette per architettura Debian e nomi di architettura Debian.

       /usr/share/dpkg/abitable
              Table of Debian architecture ABI attribute overrides.

   Supporto per pacchettizzazione
       /usr/share/dpkg/architecture.mk
              Frammento di makefile che imposta ed esporta in modo corretto  tutte  le  variabili
              prodotte in output da dpkg-architecture (a partire da dpkg 1.16.1).

ESEMPI

       dpkg-buildpackage  accepts  the  -a  option  and  passes  it  to  dpkg-architecture. Other
       examples:

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

              eval `dpkg-architecture -u`

       Controlla se l'architettura ospite corrente o specificata è uguale ad un'architettura:

              dpkg-architecture -elinux-alpha

              dpkg-architecture -amips -elinux-mips

       Controlla se l'architettura ospite corrente o specificata è un sistema Linux:

              dpkg-architecture -ilinux-any

              dpkg-architecture -ai386 -ilinux-any

   Uso in debian/rules
       The environment variables set by dpkg-architecture are  passed  to  debian/rules  as  make
       variables  (see  make documentation). However, you should not rely on them, as this breaks
       manual invocation of  the  script.  Instead,  you  should  always  initialize  them  using
       dpkg-architecture  with the -q option. Here are some examples, which also show how you can
       improve the cross compilation support in your package:

       Recuperare il tipo di sistema GNU e passarlo a ./configure:

           DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
           DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
           [...]
           ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
             confflags += --build=$(DEB_HOST_GNU_TYPE)
           else
             confflags += --build=$(DEB_BUILD_GNU_TYPE) \
                          --host=$(DEB_HOST_GNU_TYPE)
           endif
           [...]
           ./configure $(confflags)

       Fare qualcosa solo per un'architettura specifica:

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

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

       oppure se è necessario solo controllare il tipo di  CPU  o  sistema  operativo,  usare  le
       variabili DEB_HOST_ARCH_CPU o DEB_HOST_ARCH_OS.

       Notare  che  ci  si può anche appoggiare su un frammento di Makefile esterno per impostare
       correttamente tutte le variabili che possono essere fornite da dpkg-architecture.

           include /usr/share/dpkg/architecture.mk

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

       In ogni caso non si dovrebbe mai usare dpkg --print-architecture per ottenere informazioni
       sull'architettura durante la compilazione di un pacchetto.

NOTE

       Tutti i nomi lunghi di comandi e opzioni disponibili solo a partire da dpkg 1.17.17.

VEDERE ANCHE

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