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
- params を dpkg-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>