Rechercher une page de manuel
dpkg-architecture
Langue: pl
Version: 2009\-08\-15 (ubuntu - 25/10/10)
Section: 1 (Commandes utilisateur)
Sommaire
NAZWA
dpkg-architecture - ustawia i zwraca architekturê budowania pakietów.SK£ADNIA
dpkg-architecture [opcje] [polecenia]OPIS
dpkg-architecture dostarcza sposobu na okre¶lenie i ustawienie architektury budowania oraz architektury docelowej dla budowania pakietów.Architektura budowania jest zawsze okre¶lana przez wywo³anie dpkg i nie mo¿e byæ ustawiona w linii poleceñ.
Mo¿na podaæ architekturê docelow± przez podanie jednej lub obu opcji spo¶ród -a i -t. Warto¶æ domy¶lna jest okre¶lana przez wywo³anie programu gcc(1), a w razie gdy CC i gcc nie s± dostêpne, jest taka sama jak architektura budowania. Wystarczy podaæ tylko jedn± spo¶ród opcji -a i -t, 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¿ dpkg-architecture wypisze ostrze¿enie, je¶li podane warto¶ci nie bêd± odpowiada³y warto¶ciom domy¶lnym.
POLECENIA
- -l
- Wy¶wietla zmienne ¶rodowiskowe, po jednej w ka¿dej linii, w formacie ZMIENNA=warto¶æ. Jest to domy¶lna akcja.
- -earchitektura-debiana
- Sprawdza równowa¿no¶æ architektur. Domy¶lnie architektura-debiana 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.
- -imaska-architektury
- Sprawdzenie architektury przez rozwiniêcie w odpowiedni sposób maski-architektury 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.
- -qnazwa-zmiennej
- Wy¶wietla warto¶æ pojedynczej zmiennej.
- -s
- Wy¶wietla polecenie export, które mo¿e byæ u¿yte do ustawienia zmiennych ¶rodowiskowych za pomoc± eval.
- -u
- Wy¶wietla polecenie podobne do -s, jednak¿e ze wszystkimi zmiennymi nieustawionymi.
- -c polecenie
- Wykonuje polecenie w ¶rodowisku, które ma wszystkie zmienne ustawione na wyznaczone warto¶ci.
- -L
- Wy¶wietla listê poprawnych nazw architektur.
- --help
- Wy¶wietla informacjê o u¿ytkowaniu i koñczy dzia³anie.
- --version
- Wy¶wietla informacjê o wersji i pomy¶lnie koñczy dzia³anie.
OPCJE
- -aarchitektura-debiana
- Ustawia architekturê Debiana.
- -ttyp-systemu-gnu
- Ustawia typ systemu GNU.
- -f
- Honorowane s± warto¶ci ustawione w istniej±cych zmiennych ¶rodowiskowych o tych samych nazwach, co u¿ywane w skryptach (np. u¿yte przez dpkg-architecture), chyba ¿e jest obecna ta flaga wymuszenia. Pozwala to na nadpisanie warto¶ci nawet je¶li wywo³anie dpkg-architecture jest ukryte g³êboko w jakim¶ innym skrypcie (np. dpkg-buildpackage(1)).
WARUNKI
- maszyna budowania
- Rodzaj maszyny, na której pakiet jest budowany.
- maszyna docelowa
- Rodzaj maszyny, dla której pakiet jest budowany.
- architektura Debiana
- £añcuch znaków zawieraj±cy architekturê Debiana, która okre¶la drzewo binarne w archiwum FTP. Przyk³ady: i386, sparc, hurd-i386.
- maska architektury
- 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: <j±dro>-<procesor>. Przyk³ady: linux-any, any-i386, hurd-any.
- typ systemu GNU
- £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.
ZMIENNE
dpkg-architecture ustawia nastêpuj±ce zmienne:- DEB_BUILD_ARCH
- Architektura wg Debiana komputera, na którym budowany jest pakiet.
- DEB_BUILD_ARCH_OS
- Nazwa systemu wg Debiana komputera, na którym budowany jest pakiet.
- DEB_BUILD_ARCH_CPU
- Nazwa procesora wg Debiana komputera, na którym budowany jest pakiet.
- DEB_BUILD_ARCH_BITS
- Rozmiar wskaŒnika na komputerze buduj±cym (w bitach).
- DEB_BUILD_ARCH_ENDIAN
- Kolejno¶æ bajtów (endian) na komputerze buduj±cym (little / big).
- DEB_BUILD_GNU_CPU
- The CPU part of DEB_BUILD_GNU_TYPE.
- DEB_BUILD_GNU_SYSTEM
- Cze¶æ dotycz±ca systemu z DEB_BUILD_GNU_TYPE.
- DEB_BUILD_GNU_TYPE
- Typ systemu GNU komputera, na którym budowany jest pakiet.
- DEB_HOST_ARCH
- Architektura wg Debiana dla maszyny docelowej.
- DEB_BUILD_ARCH_OS
- Nazwa systemu wg Debiana dla maszyny docelowej.
- DEB_HOST_ARCH_CPU
- Nazwa procesora wg Debiana dla maszyny docelowej.
- DEB_HOST_ARCH_BITS
- Rozmiar wskaŒnika na maszynie docelowej (w bitach).
- DEB_HOST_ARCH_ENDIAN
- Kolejno¶æ bajtów (endian) na maszynie docelowej (little / big).
- DEB_HOST_GNU_CPU
- Czê¶æ dotycz±ca CUP z DEB_HOST_GNU_TYPE.
- DEB_HOST_GNU_SYSTEM
- Czê¶æ dotycz±ca systemu z DEB_HOST_GNU_TYPE.
- DEB_HOST_GNU_TYPE
- Typ systemu GNU dla maszyny docelowej.
DEBIAN/RULES
Zmienne ¶rodowiskowe ustawione przez dpkg-architecture s± przekazywane do debian/rules 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 dpkg-architecture 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:Zamiast:
-
ARCH=`dpkg --print-architecture` configure $(ARCH)-linux
proszê u¿ywaæ:
-
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)
Zamiast:
-
ARCH=`dpkg --print-architecture` ifeq ($(ARCH),alpha) ... endif
proszê u¿ywaæ:
-
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) ifeq ($(DEB_HOST_ARCH),alpha) ... endif
albo je¶li trzeba sprawdziæ tylko typ CPU lub OS, nale¿y u¿yæ zmiennych DEB_HOST_ARCH_CPU lub DEB_HOST_ARCH_OS.
Ogólnie wywo³ywanie dpkg w pliku rules w celu pobrania informacji o architekturze jest przestarza³e (chyba ¿e chce siê zachowaæ kompatybilno¶æ wsteczn±, patrz ni¿ej). W szczególno¶ci opcja --print-architecture jest niezbyt wiarygodna, poniewa¿ istniej± architektury Debiana, które nie s± równe nazwie procesora.
KOMPATYBILNOŠÆ WSTECZNA
Zmienne DEB_*_ARCH_BITS oraz DEB_*_ARCH_ENDIAN zosta³y wprowadzone w dpkg-dev 1.15.4. U¿ywanie ich w debian/rules wymaga wiêc zale¿no¶ci czasu budowania dla dpkg-dev (>= 1.15.4).Zmienne DEB_HOST_ARCH_CPU oraz DEB_HOST_ARCH_OS s± dostêpne w miarê nowych wersjach dpkg-architecture (od dpkg 1.13.2). Wcze¶niej w plikach debian/rules by³y sprawdzane zmienne DEB_HOST_GNU_CPU lub DEB_HOST_GNU_TYPE, które zosta³y zmienione.
Wszystkie pliki debian/rules, decyduj±ce na podstawie tych zmiennych jak i co kompilowaæ, powinny byæ zaktualizowane i przystosowane do u¿ywania nowych zmiennych i ich warto¶ci. Aby zachowaæ wsteczn± kompatybilno¶æ z poprzednimi wersjami dpkg-dev, mo¿na u¿yæ nastêpuj±cego kodu:
-
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) # Bierze pod uwagê wyj¶cie ze starego dpkg-architecture. 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
I podobnie dla DEB_BUILD_ARCH_CPU oraz DEB_BUILD_ARCH_OS.
Je¶li chcesz wci±¿ obs³ugiwaæ wersje dpkg-dev, które nie zawieraj± dpkg-architecture, to poni¿szy kod wykonuje to zadanie:
-
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)
Umie¶æ podzbiór tych linii na górze pliku debian/rules; te domy¶lne warto¶ci bêd± nadpisane przez dpkg-architecture, je¶li jest u¿ywane.
Nie ma potrzeby u¿ywania pe³nego zestawu zmiennych. Mo¿na wybraæ spójny ich zbiór, zawieraj±cy warto¶ci u¿ywane w pliku rules. Na przyk³ad, je¿eli potrzebna jest tylko architektura Debiana maszyny, dla której budowany jest pakiet, wystarczaj±ce jest u¿ycie "DEB_HOST_ARCH=`dpkg --print-architecture`" (tak naprawdê jest to architektura Debiana maszyny, na której jest budowany pakiet, ale proszê pamiêtaæ, ¿e próbujemy tylko zachowaæ wsteczn± zgodno¶æ z natywn± kompilacj±).
Opcje -e i -i zosta³y wprowadzone w miarê nowych wersjach dpkg-architecture (od wersji dpkg 1.13.13).
PRZYK£ADY
dpkg-buildpackage akceptuje opcjê -a i przekazuje j± do dpkg-architecture. Inne przyk³ady:- CC=i386-gnu-gcc dpkg-architecture -c debian/rules build
- eval `dpkg-architecture -u`
Sprawdzanie, czy architektura jest równa architekturze bie¿±cej lub podanej:
- dpkg-architecture -elinux-alpha
- dpkg-architecture -amips -elinux-mips
Sprawdzanie, czy architektura bie¿±ca podana przez -a jest systemem Linuksa:
- dpkg-architecture -ilinux-any
- dpkg-architecture -ai386 -ilinux-any
PLIKI
Wszystkie te pliki musz± byæ obecne, aby dpkg-architecture w ogóle dzia³a³. Ich po³o¿enie mo¿nazmieniæ w czasie dzia³ania programu przez ustawienie zmiennej ¶rodowiskowej DPKG_DATADIR.- /usr/share/dpkg/cputable
- Tabela znanych nazw procesorów i ich mapowanie na nazwy GNU.
- /usr/share/dpkg/ostable
- Tabela nazw znanych systemów operacyjnych i ich mapowanie na nazwy GNU.
- /usr/share/dpkg/triplettable
- Mapowanie miêdzy trójkami architektur Debiana a nazwami architektur Debiana.
ZOBACZ TAK¯E
dpkg-buildpackage(1), dpkg-cross(1).AUTOR
dpkg-architecture i ta strona podrêcznika ekranowego zosta³y napisane Marcusa Brinkmanna <brinkmd@debian.org>.T£UMACZE
Piotr Roszatycki <dexter@debian.org>, 1999Bartosz Feñski <fenio@debian.org>, 2004-2005
Robert Luberda <robert@debian.org>, 2006-2008
Wiktor Wandachowicz <siryes@gmail.com>, 2008
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre