DH_SHLIBDEPS(1)

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

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

説明
dh_shlibdeps は、ビルド中のパッケージに含まれる共有ライブラリの依存関係を計算する役目の debhelper プログラムです。

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

オプション

-Xitem, --exclude=item
    item を名前に含むファイルを、dpkg-shlibdeps へ渡さないようにします。このオプションにより、指定されたファイルの依存関係検査は無視されるようになります。これは特定の状況下で便利な場合がありますが、気をつけて使って下さい。このオプションを使って除外を複数指定する場合は、繰り返し指定する事により行います。

-- params
    params を dpkg-shlibdeps(1) へ渡します。

-uparams, --dpkg-shlibdeps-params=params
    このオプションは params を dpkg-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 <joeyh@debian.org>