Provided by: debhelper_13.18ubuntu2.1_all
名前
dh_strip - 実行ファイル、共有ファイル、静的ライブラリのデバッグ情報を削る
書式
dh_strip [debhelper オプション] [-Xitem] [--dbg-package=パッケージ] [--keep-debug]
説明
dh_strip is a debhelper program that is responsible for stripping out debug symbols in executables, shared libraries, and static libraries that are not needed during execution. 本プログラムはパッケージビルドディレクトリ以下を探索し、どのファイルからデバッグ情報を取り 除くべきかを見つけ出します。本プログラムは、file(1) コマンドを利用し、ファイルパーミッショ ン、ファイル名を利用して、どのファイルが共有ライブラリ (*.so)、実行可能バイナリ、静的ライ ブラリ (lib*.a)、デバッグ用ライブラリ (lib*_g.a, debug/*.so) であるかを判断し、該当する場 合は、デバッグシンボルをできる限り取り除きます (デバッグ用ライブラリについては全く何もしま せん)。多くの場合で、本プログラムは非常に良い推定を行い、正しくデバッグシンボルの除去を行 います。 自動的にファイルがモジュールであるかどうかを見分けるのは難しく、また、どうやってモジュール からデバッグ情報を除外すれば良いかを決定するのも難しい為、dh_strip は、.o を拡張子に持つ ファイルのようなバイナリモジュールからデバッグ情報の除去を行う事について、未だサポートして いません。
オプション
-Xitem, --exclude=item item を名前に含むようなファイルを、デバッグ情報除去の対象から外します。もし、複数の ファイルを処理させないように指定したければ、本オプションを複数回指定することによって行 えます。 --dbg-package=package このオプションは、現在特別な目的のためのオプションであり、通常必要ありません。ほとんど の場合、新しいソースパッケージでは debhelper が自動的にデバッグパッケージ ("dbgsym パッケージ") を生成するので、このオプションを使う理由は少ないはずです。手動で作られた --dbg-package を自動生成されたデバッグシンボルパッケージで置き換えたい場合は --dbgsym-migration オプションを参照して下さい。 dh_strip を使ってパッケージからデバッグシンボルを取き、指定のデバッグ用パッケージの パッケージビルドディレクトリ内に独立したファイルとしてデバッグシンボルを保存します。 例えば、ビルド予定のパッケージとして、libfoo、foo があり、foo-dbg パッケージにはデバッ グシンボルを含めておきたい場合、dh_strip--dbg-package=foo-dbg を実行してください。 This option implies --no-automatic-dbgsym and cannot be used with --automatic-dbgsym or --dbgsym-migration. -k, --keep-debug このオプションは、現在特別な目的のためのオプションであり、通常必要ありません。ほとんど の場合、新しいソースパッケージでは debhelper が自動的にデバッグパッケージ ("dbgsym パッケージ") を生成するので、このオプションを使う理由は少ないはずです。手動で作られた --dbg-package を自動生成されたデバッグシンボルパッケージで置き換えたい場合は --dbgsym-migration オプションを参照して下さい。 デバッグシンボルが取り除かれる一方、パッケージビルドディレクトリ以下にある usr/lib/debug/ ディレクトリへ取り除いたデバッグシンボルを取り置きます。--dbg-package オプションの方が本オプションよりも使うのは易しいのですが、本オプションは --dbg-package オプションよりも柔軟な指定が可能です。 This option implies --no-automatic-dbgsym and cannot be used with --automatic-dbgsym. --dbgsym-migration=package-relation このオプションは、手動 (--dbg-package) で作成した "-dbg" パッケージから自動生成された デバッグシンボルパッケージへ移行するのに利用されます。このオプションでは、(現在では廃 止となっている) -dbg パッケージとファイルが衝突するのを避けるためにデバッグシンボル パッケージに追加される正しい Replaces 及び Breaks の依存関係を記述する筈です。 This option implies --automatic-dbgsym and cannot be used with --keep-debug, --dbg-package or --no-automatic-dbgsym. 例: dh_strip --dbgsym-migration='libfoo-dbg (<< 2.1-3~)' dh_strip --dbgsym-migration='libfoo-tools-dbg (<< 2.1-3~), libfoo2-dbg (<< 2.1-3~)' --automatic-dbgsym, --no-automatic-dbgsym 可能な際に dh_strip がデバッグシンボルパッケージを作るかどうかをコントロールします。 デフォルトはデバッグシンボルパッケージを作成します。 --ddebs, --no-ddebs --automatic-dbgsym と --no-automatic-dbgsym の歴史的な名前です。 --ddeb-migration=package-relation --dbgsym-migration の歴史的な名前です。 --keep-lto Sections containing information generated by -flto -ffat-lto-objects are normally removed from static archives, because the streaming format changes even in minor GCC versions, and because cross package link time optimizations are normally not desired. This option allows to keep this information in the static libraries.
付記
If the DEB_BUILD_OPTIONS environment variable contains nostrip, nothing will be stripped, in accordance with Debian policy (section 10.1 "Binaries"). This will also inhibit the automatic creation of debug symbol packages. The automatic creation of debug symbol packages can also be prevented by adding noautodbgsym to the DEB_BUILD_OPTIONS environment variable. However, dh_strip will still add debuglinks to ELF binaries when this flag is set. This is to ensure that the regular deb package will be identical with and without this flag (assuming it is otherwise "bit- for-bit" reproducible).
確認すべき事
Debian ポリシー バージョン 3.0.1
参照
debhelper(7) このプログラムは debhelper の一部です。
作者
Joey Hess <joeyh@debian.org>