DH_STRIP(1) | Debhelper | DH_STRIP(1) |
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 を拡張子に持つファイルのようなバイナリモジュールからデバッグ情報の除去を行う事について、未だサポートしていません。
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.
デバッグシンボルが取り除かれる一方、パッケージビルドディレクトリ以下にある usr/lib/debug/ ディレクトリへ取り除いたデバッグシンボルを取り置きます。--dbg-package オプションの方が本オプションよりも使うのは易しいのですが、本オプションは --dbg-package オプションよりも柔軟な指定が可能です。
This option implies --no-automatic-dbgsym and cannot be used with --automatic-dbgsym.
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~)'
デフォルトはデバッグシンボルパッケージを作成します。
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 の一部です。
Joey Hess <joeyh@debian.org>
2023-01-02 | 13.11.4 |