.\" dpkg manual page - dpkg-architecture(1) .\" .\" Copyright Š 2005 Marcus Brinkmann .\" Copyright Š 2005 Scott James Remnant .\" Copyright Š 2006-2011 Guillem Jover .\" Copyright Š 2009-2012 RaphaĂŤl Hertzog .\" .\" This is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH dpkg\-architecture 1 2012\-01\-20 "Projekt Debian" "programy pomocnicze dpkg" .SH NAZWA dpkg\-architecture \- ustawia i zwraca architekturę budowania pakietów. . .SH SKŁADNIA \fBdpkg\-architecture\fP [\fIopcja\fP...] [\fIpolecenia\fP] .PP . .SH OPIS dpkg\-architecture dostarcza sposobu na określenie i ustawienie architektury budowania oraz architektury docelowej dla budowania pakietów. .PP Architektura budowania jest zawsze określana przez wywołanie \fBdpkg\fP i nie może być ustawiona w linii poleceń. .PP Można podać architekturę docelową przez podanie jednej lub obu opcji spośród \fB\-a\fP i \fB\-t\fP. Wartość domyślna jest określana przez wywołanie programu \fBgcc\fP(1), a w razie gdy \s-1CC\s0 i gcc nie są dostępne, jest taka sama jak architektura budowania. Wystarczy podać tylko jedną spośród opcji \fB\-a\fP i \fB\-t\fP, ponieważ ta druga zostanie ustawiona na sensowną wartość domyślną. Co więcej, często podanie jednej opcji jest lepsze niż podanie ich obu naraz, gdyż \fBdpkg\-architecture\fP wypisze ostrzeżenie, jeśli podane wartości nie będą odpowiadały wartościom domyślnym. . .SH POLECENIA .TP \fB\-l\fP Wyświetla zmienne środowiskowe, po jednej w każdej linii, w formacie \fIZMIENNA=wartość\fP. Jest to domyślna akcja. .TP \fB\-e\fP\fIarchitektura\-debiana\fP Sprawdza równoważność architektur. Domyślnie \fIarchitektura\-debiana\fP jest porównywana z bieżącą architekturą Debiana, traktowaną jako architektura gospodarza. Ta akcja nie rozwija masek architektur. Polecenie kończy się kodem wyjścia 0 jeśli dopasowanie architektur się powiodło, lub kodem 1 jeśli nie było dopasowania. .TP \fB\-i\fP\fImaska\-architektury\fP Sprawdzenie architektury przez rozwinięcie w odpowiedni sposób \fImaski\-architektury\fP i porównanie z bieżącą architekturą Debiana. Polecenie kończy się kodem wyjścia 0 jeśli dopasowanie architektur się powiodło, lub kodem 1 jeśli nie było dopasowania. .TP \fB\-q\fP\fInazwa\-zmiennej\fP Wyświetla wartość pojedynczej zmiennej. .TP \fB\-s\fP Wyświetla polecenie export, które może być użyte do ustawienia zmiennych środowiskowych za pomocą eval. .TP \fB\-u\fP Wyświetla polecenie podobne do \fB\-s\fP, jednakże ze wszystkimi zmiennymi nieustawionymi. .TP \fB\-c\fP\fI polecenie\fP Wykonuje \fIpolecenie\fP w środowisku, które ma wszystkie zmienne ustawione na wyznaczone wartości. .TP \fB\-L\fP Wyświetla listę poprawnych nazw architektur. .TP \fB\-?\fP, \fB\-\-help\fP Wyświetla informację o użytkowaniu i kończy działanie. .TP \fB\-\-version\fP Wyświetla informację o wersji i pomyślnie kończy działanie. . .SH OPCJE .TP \fB\-a\fP\fIarchitektura\-debiana\fP Ustawia architekturę Debiana. .TP \fB\-t\fP\fItyp\-systemu\-gnu\fP Ustawia typ systemu GNU. .TP \fB\-f\fP Honorowane są wartości ustawione w istniejących zmiennych środowiskowych o tych samych nazwach, co używane w skryptach (np. użyte przez \fBdpkg\-architecture\fP), chyba że jest obecna ta flaga wymuszenia. Pozwala to na nadpisanie wartości nawet jeśli wywołanie \fBdpkg\-architecture\fP jest ukryte głęboko w jakimś innym skrypcie (np. \fBdpkg\-buildpackage\fP(1)). . .SH WARUNKI .IP "maszyna budowania" 4 Rodzaj maszyny, na której pakiet jest budowany. .IP "maszyna docelowa" 4 Rodzaj maszyny, dla której pakiet jest budowany. .IP "architektura Debiana" 4 Łańcuch znaków zawierający architekturę Debiana, która określa drzewo binarne w archiwum \s-1FTP\s0. Przykłady: i386, sparc, hurd\-i386. .IP "maska architektury" 4 Maska architektury jest specjalnym łańcuchem znaków, który będzie pasował do każdej architektury, która jest jego częścią. Ogólna postać jest następująca: \-. Przykłady: linux\-any, any\-i386, hurd\-any. .IP "typ systemu \s-1GNU\s0" 4 Łańcuch znaków określający architekturę składający się z dwóch części oddzielonych myślnikiem: procesor i system. Przykłady: i386\-linux\-gnu, sparc\-linux\-gnu, i386\-gnu, x86_64\-netbsd. . .SH ZMIENNE \fBdpkg\-architecture\fP ustawia następujące zmienne: .IP \s-1DEB_BUILD_ARCH\s0 4 Architektura wg Debiana komputera, na którym budowany jest pakiet. .IP \s-1DEB_BUILD_ARCH_OS\s0 4 Nazwa systemu wg Debiana komputera, na którym budowany jest pakiet. .IP \s-1DEB_BUILD_ARCH_CPU\s0 4 Nazwa procesora wg Debiana komputera, na którym budowany jest pakiet. .IP \s-1DEB_BUILD_ARCH_BITS\s0 4 Rozmiar wskaźnika na komputerze budującym (w bitach). .IP \s-1DEB_BUILD_ARCH_ENDIAN\s0 4 Kolejność bajtów (endian) na komputerze budującym (little / big). .IP \s-1DEB_BUILD_GNU_CPU\s0 4 Część dotycząca \s-1CPU\s0 z \s-1DEB_BUILD_GNU_TYPE\s0. .IP \s-1DEB_BUILD_GNU_SYSTEM\s0 4 Cześć dotycząca systemu z \s-1DEB_BUILD_GNU_TYPE\s0. .IP \s-1DEB_BUILD_GNU_TYPE\s0 4 Typ systemu \s-1GNU\s0 komputera, na którym budowany jest pakiet. .IP \s-1DEB_BUILD_MULTIARCH\s0 4 Typ systemu \s-1GNU\s0 komputera, na którym budowany jest pakiet, używana do ścieżek systemu plików. .IP \s-1DEB_HOST_ARCH\s0 4 Architektura wg Debiana dla maszyny docelowej. .IP \s-1DEB_BUILD_ARCH_OS\s0 4 Nazwa systemu wg Debiana dla maszyny docelowej. .IP \s-1DEB_HOST_ARCH_CPU\s0 4 Nazwa procesora wg Debiana dla maszyny docelowej. .IP \s-1DEB_HOST_ARCH_BITS\s0 4 Rozmiar wskaźnika na maszynie docelowej (w bitach). .IP \s-1DEB_HOST_ARCH_ENDIAN\s0 4 Kolejność bajtów (endian) na maszynie docelowej (little / big). .IP \s-1DEB_HOST_GNU_CPU\s0 4 Część dotycząca \s-1CUP\s0 z \s-1DEB_HOST_GNU_TYPE\s0. .IP \s-1DEB_HOST_GNU_SYSTEM\s0 4 Część dotycząca systemu z \s-1DEB_HOST_GNU_TYPE\s0. .IP \s-1DEB_HOST_GNU_TYPE\s0 4 Typ systemu \s-1GNU\s0 dla maszyny docelowej. .IP \s-1DEB_HOST_MULTIARCH\s0 4 Oczyszczony typ systemu \s-1GNU\s0 dla maszyny docelowej, używany do ścieżek systemu plików. . .SH DEBIAN/RULES Zmienne środowiskowe ustawione przez \fBdpkg\-architecture\fP są przekazywane do \fIdebian/rules\fP jako zmienne programu make (patrz dokumentacja do make). Jednakże nie należy na nich polegać, gdyż psuje to ręczne uruchomienie tego skryptu. Zamiast tego, należy zawsze inicjować je, używając \fBdpkg\-architecture\fP z opcją \-q. Poniżej znajduje się parę przykładów, które także pokazują, jak można polepszyć wsparcie dla kompilacji krzyżowej pakietu: .PP Otrzymywanie typu GNU systemu i przekazanie go do ./configure: .IP .nf \&\s-1DEB_BUILD_GNU_TYPE\s0 := $(shell dpkg\-architecture \-qDEB_BUILD_GNU_TYPE) \&\s-1DEB_HOST_GNU_TYPE\s0 := $(shell dpkg\-architecture \-qDEB_HOST_GNU_TYPE) [...] configure \-\-build=$(\s-1DEB_BUILD_GNU_TYPE\s0) \-\-host=$(\s-1DEB_HOST_GNU_TYPE\s0) .fi .PP Robienie czegoś tylko do określonej architektury: .IP .nf \&\s-1DEB_HOST_ARCH\s0 := $(shell dpkg\-architecture \-qDEB_HOST_ARCH) ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha) [...] endif .fi .PP albo jeśli trzeba sprawdzić tylko typ CPU lub OS, należy użyć zmiennych DEB_HOST_ARCH_CPU lub DEB_HOST_ARCH_OS. .PP Można również polegać na zewnętrznym fragmencie Makefile, aby poprawnie ustawić wszystkie zmienne, które może udostępnić \fBdpkg\-architecture\fP: .IP .nf include /usr/share/dpkg/architecture.mk ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha) [...] endif .fi .PP Niezależnie od sposobu, nie powinno się nigdy używać \fBdpkg \-\-print\-architecture\fP aby otrzymać informacje o architekturze, podczas budowania pakietu. . .SH "KOMPATYBILNOŚĆ WSTECZNA" Fragment /usr/share/dpkg/architecture.mk Makefile jest udostępniany przez dpkg\-dev od wersji 1.16.1. .PP Zmienne DEB_*_ARCH_BITS oraz DEB_*_ARCH_ENDIAN zostały wprowadzone w dpkg\-dev 1.15.4. Używanie ich w \fIdebian/rules\fP wymaga więc zależności czasu budowania dla dpkg\-dev (>= 1.15.4). .PP Zmienne DEB_HOST_ARCH_CPU i DEB_HOST_ARCH_OS zostały wprowadzone w dpkg\-dev 1.13.2. .PP Opcje \fB\-e\fP i \fB\-i\fP zostały wprowadzone w miarę nowych wersjach \fBdpkg\-architecture\fP (od wersji dpkg 1.13.13). . .SH PRZYKŁADY \fBdpkg\-buildpackage\fP akceptuje opcję \fB\-a\fP i przekazuje ją do \fBdpkg\-architecture\fP. Inne przykłady: .IP CC=i386\-gnu\-gcc dpkg\-architecture \-c debian/rules build .IP eval \`dpkg\-architecture \-u\` .PP Sprawdzanie, czy architektura jest równa architekturze bieżącej lub podanej: .IP dpkg\-architecture \-elinux\-alpha .IP dpkg\-architecture \-amips \-elinux\-mips .PP Sprawdzanie, czy architektura bieżąca podana przez \-a jest systemem Linuksa: .IP dpkg\-architecture \-ilinux\-any .IP dpkg\-architecture \-ai386 \-ilinux\-any . .SH PLIKI Wszystkie te pliki muszą być obecne, aby \fBdpkg\-architecture\fP w ogóle działał. Ich położenie można zmienić w czasie działania programu przez ustawienie zmiennej środowiskowej \fBDPKG_DATADIR\fP. .TP \fI/usr/share/dpkg/cputable\fP Tabela znanych nazw procesorów i ich mapowanie na nazwy GNU. .TP \fI/usr/share/dpkg/ostable\fP Tabela nazw znanych systemów operacyjnych i ich mapowanie na nazwy GNU. .TP \fI/usr/share/dpkg/triplettable\fP Mapowanie między trójkami architektur Debiana a nazwami architektur Debiana. . .SH "ZOBACZ TAKŻE" \fBdpkg\-buildpackage\fP(1), \fBdpkg\-cross\fP(1). .SH "TŁUMACZE" Piotr Roszatycki , 1999 .br Bartosz Feński , 2004-2005 .br Robert Luberda , 2006-2008 .br Wiktor Wandachowicz , 2008 .br Michał Kułach , 2012