名前

dh_shlibdeps - 共有ライブラリの依存関係を計算する

書式

dh_shlibdeps [debhelper オプション] [ -Lパッケージ] [-lディレクトリ] [ -Xitem] [-- パラメータ]

説明

dh_shlibdeps は、ビルド中のパッケージに含まれる共有ライブラリの依存関係を計算する役目の debhelper プログラムです。
このプログラムは dpkg-shlibdeps(1) の単なるラッパープログラムであり、 dpkg-shlibdeps(1)control ファイルに列挙したパッケージ各々について1度呼び出すような動作をします。また、同時に dpkg-shlibdeps(1) へ、動作中見つけた ELF 実行ファイルや、共有ライブラリの一覧を引き渡します。

オプション

-Xitem, --exclude=item
item を名前に含むファイルを、 dpkg-shlibdeps へ渡さないようにします。このオプションにより、指定されたファイルの依存関係検査は無視されるようになります。これは特定の状況下で便利な場合がありますが、気をつけて使って下さい。このオプションを使って除外を複数指定する場合は、繰り返し指定する事により行います。
-- params
paramsdpkg-shlibdeps(1) へ渡します。
-uparams, --dpkg-shlibdeps-params=params
このオプションは paramsdpkg-shlibdeps(1) へ渡す別の方法となります。しかしながら、このオプションは廃止されました。代わりに -- を利用してください。
-ldirectory[:directory ...]
最近のバージョンの dpkg-shlibdeps では、このオプションは概ね不要になっています。 It tells dpkg-shlibdeps (via its -l parameter), to look for private package libraries in the specified directory (or directories -- separate with colons). With recent versions of dpkg-shlibdeps, this is mostly only useful for packages that build multiple flavors of the same library, or other situations where the library is installed into a directory not on the regular library search path.
-Lpackage, --libpackage=package
With recent versions of dpkg-shlibdeps, this option is generally not needed, unless your package builds multiple flavors of the same library or is relying on debian/shlibs.local for an internal library. ライブラリ、シンボルファイル、shlibs ファイルを探索する際に、 dpkg-shlibdeps へ (-S パラメータを使い) パッケージのパッケージビルドディレクトリ内にて、最初に探す場所を指定するものです。 If needed, this can be passed multiple times with different package names.

使用例

ここで、ビルド中のパッケージが libfoo1、libfoo-dev、libfoo-bin のバイナリパッケージを生成すると仮定します。libfoo-bin は libfoo1 にリンクしており、つまりは依存関係になければならない状態です。この場合、パッケージの rules ファイルとして、最初に dh_makeshlibs を呼び出し、次に dh_shlibdeps を呼び出す記述をしなければなりません:
        dh_makeshlibs
        dh_shlibdeps
こちらの記述を行うと、共有ライブラリの依存関係を検討する為に、libfoo1 に関する shlibs ファイルを自動的に生成し、生成された shlibs ファイル及び debian/libfoo1/usr/lib 以下の libfoo1 ライブラリを使うようになります。
libbar1 パッケージを libfoo とは別にビルドし、 /usr/lib/bar/ へインストールしてあるとします。この場合、libfoo-bin について libbar1 を以下のようにして依存させる事ができます。
        dh_shlibdeps -Llibbar1 -l/usr/lib/bar

参照

debhelper(7), dpkg-shlibdeps(1)
このプログラムは debhelper の一部です。

作者

Joey Hess <[email protected]>

Recommended readings

Pages related to dh_shlibdeps you should read also: