Scroll to navigation

DH_MAKESHLIBS(1) Debhelper DH_MAKESHLIBS(1)

名前

dh_makeshlibs - 自動的に shlibs ファイルを作成し、dpkg-gensymbols を呼び出す

書式

dh_makeshlibs [debhelper options] [-mmajor] [-V[dependencies]] [-n] [-Xitem] [-- params]

説明

dh_makeshlibs は自動的に共有ライブラリをスキャンし、見つけたライブラリに対する shlibs ファイルを生成する debhelper プログラムです。

It will also ensure that ldconfig is invoked during install and removal when it finds shared libraries. Since debhelper 9.20151004, this is done via a dpkg trigger. In older versions of debhelper, dh_makeshlibs would generate a maintainer script for this purpose.

ファイル

debian/package.shlibs
Installs this file, if present, into the package as DEBIAN/shlibs. If omitted, debhelper will generate a shlibs file automatically if it detects any libraries.

互換性レベル 9 以前では、このファイルは dh_makeshlibs ではなく dh_installdeb(1) によってインストールされる点に注意して下さい。

debian/package.symbols
debian/package.symbols.arch
これらのシンボルファイルは、もし存在すれば、dpkg-gensymbols(1) へ渡され、かかる処理とインストールが行われます。異なるアーキテクチャの元で異なるシンボルを利用するには、arch を指定してください。

オプション

-mmajor, --major=major
objdump をつかってライブラリの主バージョン番号を推定する代わりに、-m パラメータのあとに主バージョン番号を設定できます。以前本プログラムはライブラリの主バージョン番号を求めるのに objdump を使わず、ライブラリのファイル名から判定していた為、このパラメータが便利だった事があります。
-V, -Vdependencies
--version-info, --version-info=dependencies
デフォルトでは、本プログラムにより生成される shlibs ファイルは、共有ライブラリを含むパッケージの特定のバージョンに依存することが無いようにします。これはshlibsファイルにバージョンに関する依存情報をパッケージ作成者により追加する必要があるという事です。-Vが依存関係の情報無しで用いられると、アップストリームのバージョン情報が "packagename (>=packageversion)" の形式で依存関係へ挿入されます。debhelper の互換性レベルが v4 未満の場合、パッケージのバージョン番号のうち Debian のバージョンを示す部分も、この依存関係の情報として含まれます。-V がパラメータと共に指定されると、このパラメータは後に必要とされる (また、パッケージの名前として確実に含まれるように) 正確なバージョン依存情報として扱われます。

-V をパラメータ無しで指定する場合の注意事項は次の通りです。この場合、依存関係にあるパッケージに含まれる共有ライブラリはお互いに必要な依存関係を保っていられるという仮定に基づく保守的な設定です (なおビルド対象のパッケージに含まれるライブラリについて、開発元 (upstream) のバージョン番号が新しくならないにも関わらず、あえて ABI を変更しなければならない場合は除きます)。メンテナが、依存関係解決が難しい為対応ができないような場合は、依存関係を破らざるを得ないときがあります。また、アップグレードが容易に出来ないほど強い依存関係を生じる場合は、依存関係の変更をする必要があります。

-n, --no-scripts
Do not add the "ldconfig" trigger even if it seems like the package might need it. The option is called --no-scripts for historical reasons as dh_makeshlibs would previously generate maintainer scripts that called ldconfig.
-Xitem, --exclude=item
item が対象のファイルや格納されているディレクトリの名前に含まれている場合、共有ファイルとして扱うのを止めます。
--add-udeb=udeb
shlibs ファイルに udebs 用途の追加情報を作成し、通常のライブラリパッケージの名前を使う代わりに、udeb を udebs のパッケージの名前として利用します。
-- params
paramsdpkg-gensymbols(1) へ引き渡します。

使用例

dh_makeshlibs
Assuming this is a package named libfoobar1, generates a shlibs file that looks something like: libfoobar 1 libfoobar1
dh_makeshlibs -V
Assuming the current version of the package is 1.1-3, generates a shlibs file that looks something like: libfoobar 1 libfoobar1 (>= 1.1)
dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
以下のような shlibs ファイルが生成されます: libfoobar 1 libfoobar1 (>= 1.0)

参照

debhelper(7)

このプログラムは debhelper の一部です。

作者

Joey Hess <joeyh@debian.org>
2018-04-08 11.2.1