.\" 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 "Debian Project" "dpkg ユーティリティ" .SH 名前 dpkg\-architecture \- パッケージのビルドに用いられたアーキテクチャの設定と判別 . .SH 書式 \fBdpkg\-architecture\fP [\fIoption\fP...] [\fIcommand\fP] .PP . .SH 説明 dpkg\-architecture は、パッケージのビルドに用いられたビルドおよびホストのアーキテクチャを判別する機能を提供する。 .PP ビルドアーキテクチャは、常に \fBdpkg\fP(1) を呼び出すことで判別される。コマンドラインから設定することはできない。 .PP ホストのアーキテクチャは \fB\-a\fP もしくは \fB\-t\fP オプションにより指定することができる。デフォルトは、外部プログラムの \fBgcc\fP(1) を呼び出して判別するが、\s-1CC\s0 や gcc が利用できない場合は、ビルドのアーキテクチャと同じ値が設定される。\fB\-a\fP と \fB\-t\fP オプションは、いずれかを指定すればよく、他方はその値に応じたデフォルト値に設定される。\fBdpkg\-architecture\fP は、他方に対してデフォルト値に合致しない値が設定されると警告を発するため、実用上も、いずれか片方のみを指定することが好ましい。 . .SH コマンド .TP \fB\-l\fP 環境変数の値を 1 行に 1 つずつ、\fIVARIABLE=value\fP 形式で表示する。これは、デフォルトの動作である。 .TP \fB\-e\fP\fIdebian\-architecture\fP アーキテクチャとの合致性を比較する。デフォルトでは、\fIdebian\-architecture\fP が現在のホストの Debian アーキテクチャと比較される。このオプションでは、アーキテクチャワイルドカードは展開されない。コマンドは、アーキテクチャが合致すると 0 を、合致しないと 1 を戻り値として返却する。 .TP \fB\-i\fP\fIarchitecture\-wildcard\fP アーキテクチャワイルドカードとして \fIarchitecture\-wildcard\fP を展開し、現在の Debian アーキテクチャと比較することにより、アーキテクチャの同一性を確認する。コマンドは、アーキテクチャが合致すると 0 を、合致しないと 1 を戻り値として返却する。 .TP \fB\-q\fP\fIvariable\-name\fP 指定した単一の変数の値を表示する。 .TP \fB\-s\fP 変数をエクスポートするコマンドを出力する。これは、eval を用いて環境変数を設定する際に使用することができる。 .TP \fB\-u\fP \fB\-s\fP と同様は逆に、すべての変数を未設定にするコマンドを表示する。 .TP \fB\-c\fP\fI command\fP すべての変数が指定された値に設定された環境で、\fIcommand\fP を実行する。 .TP \fB\-L\fP 有効なアーキテクチャ名の一覧を表示する。 .TP \fB\-?\fP, \fB\-\-help\fP 利用方法を表示して終了する。 .TP \fB\-\-version\fP バージョン情報を表示して終了する。 . .SH オプション .TP \fB\-a\fP\fIdebian\-architecture\fP Debian アーキテクチャを設定する。 .TP \fB\-t\fP\fIgnu\-system\-type\fP GNU システムタイプを設定する。 .TP \fB\-f\fP スクリプトが使用する (例えば \fBdpkg\-architecture\fP が使用する) 環境変数と同じ名前の環境変数が既に存在していた場合、この強制フラグを設定していない限り、既存の値がそのまま残される。このオプションにより、\fBdpkg\-architecture\fP の呼び出し後に、別のスクリプト (例えば \fBdpkg\-buildpackage\fP(1)) が実行される際に、変数の値を上書きすることが可能となる。 . .SH 用語 .IP "ビルド (build) マシン" 4 パッケージのビルドが実行されるマシン .IP "ホスト (host) マシン" 4 パッケージのビルドの対象となるマシン .IP "Debian アーキテクチャ" 4 Debian のアーキテクチャを示す文字列で、\s-1FTP\s0 アーカイブ内のバイナリツリーを指定する。例: i386, sparc, hurd\-i386 。 .IP アーキテクチャワイルドカード 4 アーキテクチャワイルドカードは、アーキテクチャ文字列のある部分に関して実際に存在している任意のアーキテクチャ文字列にマッチする特別なアーキテクチャ文字列である。一般的には、 \- という形式をとる。例: linux\-any, any\-i386, hurd\-any 。 .IP "\s-1GNU\s0 システムタイプ" 4 ダッシュで区切られた 2 つの部分、CPU とシステム名からなるアーキテクチャを識別する文字列。例: i386\-linux\-gnu, sparc\-linux\-gnu, i386\-gnu, x86_64\-netbsd 。 . .SH 変数 \fBdpkg\-architecture\fP により設定される変数を以下に示す。 .IP \s-1DEB_BUILD_ARCH\s0 4 ビルドマシンの Debian アーキテクチャ .IP \s-1DEB_BUILD_ARCH_OS\s0 4 ビルドマシンの Debian システム名 .IP \s-1DEB_BUILD_ARCH_CPU\s0 4 ビルドマシンの Debian CPU 名 .IP \s-1DEB_BUILD_ARCH_BITS\s0 4 ビルドマシンのポインタサイズ (ビット単位) .IP \s-1DEB_BUILD_ARCH_ENDIAN\s0 4 ビルドマシンのエンディアン (little / big) .IP \s-1DEB_BUILD_GNU_CPU\s0 4 \s-1DEB_BUILD_GNU_TYPE\s0 の \s-1CPU\s0 の部分 .IP \s-1DEB_BUILD_GNU_SYSTEM\s0 4 \s-1DEB_BUILD_GNU_TYPE\s0 のシステムの部分 .IP \s-1DEB_BUILD_GNU_TYPE\s0 4 ビルドマシンの \s-1GNU\s0 システムタイプ .IP \s-1DEB_BUILD_MULTIARCH\s0 4 ビルドマシンの \s-1GNU\s0 システムタイプ、ファイルシステムのパスに使用するよう整形済。 .IP \s-1DEB_HOST_ARCH\s0 4 ホストマシンの Debian アーキテクチャ .IP \s-1DEB_HOST_ARCH_OS\s0 4 ホストマシンの Debian システム名 .IP \s-1DEB_HOST_ARCH_CPU\s0 4 ホストマシンの Debian CPU 名 .IP \s-1DEB_HOST_ARCH_BITS\s0 4 ホストマシンのポインタサイズ (ビット単位) .IP \s-1DEB_HOST_ARCH_ENDIAN\s0 4 ホストマシンのエンディアン (little / big) .IP \s-1DEB_HOST_GNU_CPU\s0 4 \s-1DEB_HOST_GNU_TYPE\s0 の \s-1CPU\s0 部分 .IP \s-1DEB_HOST_GNU_SYSTEM\s0 4 \s-1DEB_HOST_GNU_TYPE\s0 のシステム部分 .IP \s-1DEB_HOST_GNU_TYPE\s0 4 ホストマシンの \s-1GNU\s0 システムタイプ .IP \s-1DEB_HOST_MULTIARCH\s0 4 ホストマシンの \s-1GNU\s0 システムタイプ、ファイルシステムのパスに使用するよう整形済。 . .SH DEBIAN/RULES \fBdpkg\-architecture\fP によって設定された環境変数は、make 変数 (make のドキュメントを参照のこと) として\fIdebian/rules\fP に渡される。しかし、スクリプトが手動で実行される場合を考慮すると、上記の点に依存すべきではない。\fBdpkg\-architecture\fP の \-q オプションを用いて、常に初期化を行うようにすべきである。パッケージのクロスコンパイルのサポートの改善方法を示す例を幾つか提示する: .PP GNU システムタイプを取得し、それを ./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 特定のアーキテクチャに特化した処理を行う: .IP .nf \&\s-1DEB_HOST_ARCH\s0 := $(shell dpkg\-architecture \-qDEB_HOST_ARCH) ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha) [...] endif .fi .PP ただし、CPU か OS タイプのみをチェックしたい場合は、DEB_HOST_ARCH_CPU や DEB_HOST_ARCH_OS 変数を使用する。 .PP \fBdpkg\-architecture\fP が提供可能なすべての変数を適切に設定する目的で、外部の Makefile スニペットに依存することも可能である: .IP .nf include /usr/share/dpkg/architecture.mk ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha) [...] endif .fi .PP いかなる場合も、パッケージのビルド中にアーキテクチャ情報を取得する目的で、\fBdpkg \-\-print\-architecture\fP を使用すべきではない。 . .SH 後方互換性 /usr/share/dpkg/architecture.mk Makefile スニペットは、dpkg\-dev 1.16.1 以降で提供されている。 .PP DEB_*_ARCH_BITS と DEB_*_ARCH_ENDIAN 変数は、dpkg\-dev 1.15.4 から導入された。そのため、これらを \fIdebian/rules\fP で使用する時は、build\-dependency として、dpkg\-dev (>= 1.15.4) が必要となる。 .PP DEB_HOST_ARCH_CPU と DEB_HOST_ARCH_OS 変数は、dpkg\-dev 1.13.2 から導入された。 .PP \fB\-e\fP および \fB\-i\fP オプションは、比較的新しいバージョンの \fBdpkg\-architecture\fP (dpkg 1.13.13 以降) にのみ存在する。 . .SH 例 \fBdpkg\-buildpackage\fP は \fB\-a\fP オプションを認識して、これを\fBdpkg\-architecture\fP に引き渡す。以下に実行例を幾つか示す: .IP CC=i386\-gnu\-gcc dpkg\-architecture \-c debian/rules build .IP eval \`dpkg\-architecture \-u\` .PP あるアーキテクチャが現在のアーキテクチャと同一かどうかのチェック: .IP dpkg\-architecture \-elinux\-alpha .IP dpkg\-architecture \-amips \-elinux\-mips .PP 現在のアーキテクチャ、もしくは \-a で提供されたアーキテクチャが Linux かどうかのチェック: .IP dpkg\-architecture \-ilinux\-any .IP dpkg\-architecture \-ai386 \-ilinux\-any . .SH ファイル \fBdpkg\-architecture\fP が動作するためには、以下のファイルが存在している必要がある。ファイルの位置は、環境変数 \fBDPKG_DATADIR\fP を設定することで、実行時に変更することができる。 .TP \fI/usr/share/dpkg/cputable\fP 認識される CPU 名と、GNU 名へのマッピングテーブル .TP \fI/usr/share/dpkg/ostable\fP 認識される OS 名と、GNU 名へのマッピングテーブル .TP \fI/usr/share/dpkg/triplettable\fP Debian アーキテクチャの文字列 (triplets) と Debian アーキテクチャ名とのマッピング . .SH 関連項目 \fBdpkg\-buildpackage\fP(1), \fBdpkg\-cross\fP(1) .SH 翻訳者 高橋 基信 . 喜瀬 浩 . 関戸 幸一 . 鍋谷 栄展 . 倉澤 望 . 石川 睦 . 鵜飼 文敏 . 中野 武雄 . .SH 翻訳校正 Debian JP Documentation ML .