Provided by: dpkg-dev_1.17.5ubuntu5.8_all bug

名前

       dpkg-buildpackage - バイナリパッケージおよびソースパッケージのビルド

書式

       dpkg-buildpackage [option...]

説明

       dpkg-buildpackage  は、Debian パッケージのビルドを自動化するプログラムである。これには以下
       のステップが含まれる:

       1. 様々な環境変数     (環境変数      を参照のこと)      を定義することで、ビルド環境を設定
          し、dpkg-source  --before-build  を呼び出す  (-T  もしくは --targetが指定されていない限
          り)。

       2. ビルドにおける依存関係が満たされているか、競合が発生していないかをチェックする (-d が指
          定されていない限り)。

       3. -T  もしくは  --target オプションにより、ビルドのターゲットが指定されている場合は、ター
          ゲットを呼び出して、そこで実行を停止する。それ以外の場合は fakeroot debian/rules  clean
          を呼び出し、ビルドツリーをクリアする (-nc が指定されていない限り)。

       4. dpkg-source  -b を呼び出し、ソースパッケージを生成する (-b, -B, -A によってバイナリパッ
          ケージのみのビルドが指定されていない限り)。

       5. fakeroot debian/rules binary-target に続き、debian/rules build-target を呼び出す (-S に
          よってソースパッケージのみのビルドが指定されていない限り)。build-target          および
          binary-targetbuild  および  binary  (デフォルト、もしくは  -b  が指定されていた場
          合)、build-arch   および   binary-arch  (-B  が指定されていた場合)、build-indep  および
          binary-indep (-A が指定されていた場合) のいずれかの値をとる。

       6. It calls gpg2 or gpg to sign the .dsc file (if any,  unless  -us  is  specified  or  on
          UNRELEASED builds).

       7. dpkg-genchanges を呼び出して、.changes ファイルを生成する。dpkg-buildpackage のオプショ
          ンの多くが dpkg-genchanges に引き継がれる。

       8. It calls gpg2 or gpg to  sign  the  .changes  file  (unless  -uc  is  specified  or  on
          UNRELEASED builds).

       9. -tc   が指定されていた場合、fakeroot   debian/rules   clean  が再度呼び出される。最後に
          dpkg-source --after-build が呼び出される。

オプション

       -b     バイナリパッケージのみのビルドを指定する。ソースファイルはビルドされず、配布もされ
              ない。オプションは dpkg-genchanges に渡される。

       -B     アーキテクチャ依存のパッケージについて、バイナリパッケージのみのビルドを指定す
              る。オプションは dpkg-genchanges に渡される。

       -A     アーキテクチャ非依存のパッケージについて、バイナリパッケージのみのビルドを指定す
              る。オプションは dpkg-genchanges に渡される。

       -S     ソースパッケージのみのビルドを指定する。バイナリパッケージは作成されない。オプショ
              ンは dpkg-genchanges に渡される。

       -F     バイナリパッケージとソースパッケージの両方をビルドする、通常のフルビルドを指定す
              る。これはビルドオプションを指定しなかった際のデフォルトの挙動である。

       --target=target
       --target target
       -Ttarget
              ビルド環境の設定後に、debian/rules  target を呼び出し、そこでパッケージのビルド処理
              を中止する。--as-root も設定されていた場合、コマンドは root として実行される (-r も
              参照のこと)。Debian policy によって、公式に root での実行が必須とされているターゲッ
              トについては、本オプションは不要である。

       --as-root
              --target と併せて指定された場合のみ有効であり、target の実行に root  権限が必要であ
              ることを指定する。

       -si
       -sa
       -sd
       -vversion
       -Cchanges-description
       -mmaintainer-address
       -emaintainer-address
              dpkg-genchanges にそのまま引き渡される。そちらのマニュアルページを参照のこと。

       -aarchitecture
              ビルド対象となる  Debian アーキテクチャを指定する。ビルドを実行するマシンのアーキテ
              クチャは自動的に判別され、ホストマシンのデフォルト値となる。

       -tgnu-system-type
              ビルド対象となる GNU システムタイプを指定する。これは  -a  オプションの代わりとして
              ターゲットの Debian アーキテクチャに対応するデフォルトの GNU システムタイプを上書き
              するために用いられる。

       -Pprofile[,...]
              Specify the profile(s) we build, as a comma-separated list, without the  "profile."
              namespace  prefix.  The  default behavior is to build for no specific profile. Also
              adds them (as  a  space  separated  list)  to  the  DEB_BUILD_PROFILES  environment
              variable  which allows, for example, debian/rules files to use this information for
              conditional builds.

       -jjobs Number of jobs allowed to be run simultaneously, equivalent to the make(1)   option
              of  the  same  name.  Will  add itself to the MAKEFLAGS environment variable, which
              should cause all subsequent make invocations  to  inherit  the  option.  Also  adds
              parallel=jobs   to   the   DEB_BUILD_OPTIONS   environment  variable  which  allows
              debian/rules  files  to  use  this  information  for  their  own   purposes.    The
              parallel=jobs  in DEB_BUILD_OPTIONS environment variable will override the -j value
              if this option is given.

       -D     ビルドの依存関係と競合をチェックし、問題がある場合は処理を中断させる。これはデフォ
              ルトの挙動である。

       -d     ビルドの依存関係と競合をチェックしない。

       -nc    ソースツリーを消去しない  (-B, -A, -S いずれもが指定されない場合は、-b が指定された
              と見なされる)。

       -tc    パッケージのビルド後にソースツリーを消去する (gain-root-command debian/rules  clean
              が用いられる)。

       -rgain-root-command
              dpkg-buildpackage  がビルド処理の一部を root 権限で実行する必要がある場合、このオプ
              ションが指定されていれば、実行するコマンドの前に gain-root-command が付けられる。こ
              のオプションが指定されていなかった場合は、fakeroot が存在していれば、それがデフォル
              トで用いられる。gain-root-commandPATH 上のプログラム名である必要があり、実際に実
              行したいコマンドに続き、そのコマンドの引数を引数として指定する。gain-root-command
              には (スペースで区切られた)  パラメータを含めてもよいが、シェルのメタキャラクタを含
              めることはできない。gain-root-command は通常 fakeroot, sudo, super, really などであ
              る。su は、実行したいコマンドに引数を個々に引き渡すのではなく、-c  を用いてユーザの
              シェルを起動するだけであるため適切ではない。

       -Rrules-file
              Debian パッケージのビルドの際は、通常 debian/rules コマンドが幾つかの標準的な引数を
              付けて実行される。このオプションにより、パッケージのビルドの際に別のプログラムを使
              用することが可能となる   (スペースで区切られた引数を含めることも可能である)。標準の
              ルールファイルを別の  make  プログラムで実行する  (例えば   rules-file   の代わりに
              /usr/local/bin/make -f debian/rules を使用する) ために使用することもできる。

       -psign-command
              When dpkg-buildpackage needs to execute GPG to sign a source control (.dsc) file or
              a .changes file it will run sign-command (searching the PATH if necessary)  instead
              of gpg2 or gpg. sign-command will get all the arguments that gpg2 or gpg would have
              gotten. sign-command should not contain spaces or any other shell metacharacters.

       -kkey-id
              パッケージに署名する際に使用する鍵のIDを指定する。

       -us    ソースパッケージに署名しない。

       -uc    .changes ファイルに署名しない。

       --force-sign
              Force the signing of the resulting files (since dpkg 1.17.0), regardless of -us  or
              -uc or other internal heuristics.

       -i[regex]
       -I[pattern]
       -s[nsAkurKUR]
       -z, -Z dpkg-source にそのまま引き渡される。そちらのマニュアルページを参照のこと。

       --source-option=opt
              dpkg-sourceopt オプションを引き渡す。

       --changes-option=opt
              dpkg-genchangesopt オプションを引き渡す。

       --admindir=dir
       --admindir dir
              dpkg データベースの位置を変更する。デフォルトの位置は /var/lib/dpkg である。

       -?, --help
              利用方法を表示して終了する。

       --version
              バージョン情報を表示して終了する。

環境変数

       DEB_SIGN_KEYID
              If  set, it will be used to sign the .changes and .dsc files.  Overridden by the -k
              option.

       DEB_BUILD_PROFILES
              If set, it will be used as the active build profile(s) for the package being built.
              It  is  a  space  separated list of profile names, without the "profile." namespace
              prefix. Overridden by the -P option.

   Reliance on exported environment flags
       dpkg-buildpackage が幾つかの変数をエクスポートしていたとしても、debian/rules  はその存在に
       依存してはならない。代わりに必要な値を取得するためのインタフェースを使用すること。

   dpkg-architecture によって設定される変数
       dpkg-architecture-a および -t を引数として呼び出される。このコマンドの -s オプションに
       よって設定された変数はビルド環境にマージされる。

参考

   コンパイラフラグのエクスポート停止
       Between dpkg 1.14.17  and  1.16.1,  dpkg-buildpackage  exported  compiler  flags  (CFLAGS,
       CXXFLAGS,  FFLAGS,  CPPFLAGS and LDFLAGS) with values as returned by dpkg-buildflags. This
       is no longer the case.

   Default build targets
       dpkg-buildpackage is using the build-arch and build-indep targets since dpkg 1.16.2. Those
       targets  are  thus  mandatory.  But  to avoid breakages of existing packages, and ease the
       transition, it will fallback to using  the  build  target  if  make  -f  debian/rules  -qn
       build-target returns 2 as exit code.

バグ

       gain-root-command および sign-command の先頭の引数として、スペースやシェルのメタキャラクタ
       を指定できるようにすべきである。

関連項目

       dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genchanges(1), fakeroot(1),
       gpg2(1), gpg(1).

翻訳者

       高橋 基信 <monyo@monyo.com>.  喜瀬 浩 <kise@fuyuneko.jp>.  関戸 幸一 <sekido@mbox.kyoto-
       inet.or.jp>.  鍋谷 栄展 <nabe@debian.or.jp>.  倉澤 望 <nabetaro@debian.or.jp>.  石川 睦
       <ishikawa@linux.or.jp>.  鵜飼 文敏 <ukai@debian.or.jp>.  中野 武雄
       <nakano@apm.seikei.ac.jp>.

翻訳校正

       Debian JP Documentation ML <debian-doc@debian.or.jp>.