Makefile.amには次のものがあります。
bin_PROGRAMS = sample
sample_SOURCES = main.cpp
sampleconfdir = $(sysconfdir)/sample
sampleconf_DATA = sample.cfg
インストーラを使用するたびに、make install
Sample.cfgファイルが上書きされます。ファイルがすでに存在する場合は、コピーをスキップするようにautomakeにどのように指示しますか?
答え1
ソフトウェアがサンプル構成をインストールし、ユーザーが実際のインストールで使用するためにこの構成をコピーして変更できるようにするのは非常に一般的です。 「ユーザー」とは誰でもシステム全体にソフトウェアをインストールするローカル管理者(ルート)であるか、$HOME
システム内部のどこかにソフトウェアをインストールする権限のないユーザーであれ、ソフトウェアをインストールします。
たとえば、サンプル構成ファイルをインストールできます。
- または下にありますが、
sysconfdir
ファイル名が変更されました(たとえば、サフィックスを含む.example
)。 examples
別のディレクトリですdocdir
。
次に、この資料では、INSTALL
ユーザーのニーズに合わせてこれらの例をコピーして変更する方法について説明します。
これの利点は、新しいバージョンのソフトウェアをインストールするユーザーが設定ファイルの最新の例を取得できることです。その後、必要に応じて新しいファイルに基づいて実際の構成を更新できます。
新しい設定ファイルをインストールしないでください。いいえ例をインストールするときに構成構文またはその設定が変更された場合、ユーザーはファイルがどのように見えるかわからないため、混乱を招く可能性があります(ユーティリティガイドのアップグレード手順に明示的に記載されていない限り)。 )。