Scroll to navigation

DH_INSTALL(1) Debhelper DH_INSTALL(1)
 

名前

dh_install - パッケージビルドディレクトリにファイルをインストールする

書式

dh_install [-Xitem] [--autodest] [--sourcedir= dir] [ debhelper options] [file|dir ...  destdir]

説明

dh_install はパッケージビルドディレクトリにファイルをインストールする debhelper プログラムです。なお、沢山の dh_install* コマンドは、文章や例、あるいは man ページ等のファイルの種類に応じたインストールを担います。こちらのコマンドは、特定の処理を行う為に各々専用の処理を持っていますので、可能な限り、これらのファイルをインストールするときには、 dh_install* コマンドを使ってください。なお、 dh_install は、ファイルにあわせた特別な処理が不要なファイルをインストールする時に使うと良いでしょう。 dh_install は、以前存在した dh_movefiles コマンドを置き換えるコマンドです。
このプログラムは2つの用途で利用されます。1つ目は、単に1つ2つのファイルについて開発元 (upstream) の Makefile がインストールをしようとしない時、 dh_install を使ってこれらのファイルを目的の場所へ移動できます。2つ目としては、複数のバイナリパッケージをビルドするような大きなパッケージの元で利用する場合であり、開発元 (upstream) の Makefile により、 debian/tmp へ一旦インストールしてから、 dh_install を使って適切なパッケージビルドディレクトリへディレクトリとファイルをコピーするのに使うというものです。
debhelper の互換性レベル 7 から、 dh_install はファイルをカレントディレクトリで見つけられなければ (あるいは --sourcedir オプションを使って指定したディレクトリの中を探してファイルが見けられなければ) 、自動的に debian/tmp を探しにいくようになりました

ファイル

debian/package.install
各々のパッケージにインストールすべきファイルと、これらファイルがインストールされるべきディレクトリを列挙します。フォーマットとしては、一連の行から成り、1つの行には、最初に1つもしくは複数のインストールしたいファイルを書き、行の最後の部分には、インストールされる先のディレクトリ名を書いていきます。ファイルの名前 (あるいはディレクトリの名前) について、インストールしたい側はカレントディレクトリからの相対パスで、また、インストールされる側のディレクトリの場合はパッケージビルドディレクトリからの相対パスで記載する必要があります。インストールする側のファイル名にはワイルドカードを使う事ができます (この機能は互換性レベルv3以上で利用可能です)。
明示的にインストール先を記述せず、ただ1つのファイル名もしくはワイルドカードパターンを指定した行を列挙した場合は、--autodest オプションが使われた時同様に dh_install は自動的に利用されるインストール先を推測します。
debian/not-installed
List the files that are deliberately not installed in any binary package. Paths listed in this file are ( only) ignored by the check done via --list-missing (or --fail-missing). However, it is not a method to exclude files from being installed. Please use --exclude for that.
dh_install は、このファイル内でワイルドカードを 展開しない点に注意して下さい。

オプション

--list-missing
このオプションにより、dh_install はインストールするファイル群を記録し、そして最後にソースディレクトリにあるファイルの一覧と比較します。もし、ソースファイル中のファイル (もしくはシンボリックリンク) でインストールされていないものが発見されると、警告を標準エラー出力に表示します。
このオプションは大きなパッケージをつくろうとしていたり、開発元 (upstream) の新しいリリースにて新たに増えたファイルをインストールし忘れないようにする時に便利です。
-X オプションで除外したファイルは警告対象から除外される事にご注意ください。
--fail-missing
このオプションは --list-missing と同じようなものですが、ファイルがインストールされていないものがあるのを発見すると、そのファイルを列挙して教えてくれるだけでなく、終了コードとして 0 以外を返して処理を失敗します。
-Xitem, --exclude=item
item をファイル名の一部として含んでいるファイルをインストール候補から除外します。
--sourcedir=dir
インストールするファイルを指定されたディレクトリ内で探します。
このオプションは、 dh_auto_ * にあるような --sourcedirectory とは異なる事に注意が必要です。このコマンドではあまりこのオプションは利用する機会がありません。というのも dh_install は互換性レベル v7 以上では自動的に debian/tmp へファイルを探しに行く為です。
--autodest
Guess as the destination directory to install things to. If this is specified, you should not list destination directories in debian/package.install files or on the command line. Instead, dh_install will guess as follows:
まず、インストール元のファイル名の先頭から debian/tmp の文字列 (あるいは指定されていればソースディレクトリ名) を取り除きます。ファイル名が残っていれば、これをディレクトリ名としてその中にインストールします。つまり、ソースディレクトリとして debian/tmp/usr/bin が与えられると、ファイルのコピー先のディレクトリは debian/package/usr/ となります。ファイル名が debian/tmp/etc/passwd であれば、debian/package/etc/ へ行われます。
file|dir ... destdir
インストールするファイル (またはディレクトリ) と、どこへインストールするかについて列挙します。ファイルは dh_install が処理する最初のパッケージへインストールされます。

制限事項

dh_install はファイルやディレクトリをリネームできません。パッケージビルドツリー内のどこへでも望む場所へ、既に付けられた名前でそれらをインストールすることだけが可能です。
ですが、リネームは互換性レベル 9 以上で dh-exec を使うことで実現できます。 dh-exec を使う debian/ package.install ファイルの例は以下のようになります:
 #!/usr/bin/dh-exec
 debian/default.conf => /etc/my-package/start.conf
以下の 3 点に留意して下さい:
パッケージは互換性レベル 9 以降を使う必要があります ( debhelper(7) 参照)
パッケージは dh-exec へのビルド依存が必要になります。
install ファイルは実行可能になっている必要があります。

参照

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

作者

Joey Hess <joeyh@debian.org>
2017-01-25 10.2.5