automakeが_DATAファイルを上書きするのを防ぐ方法

automakeが_DATAファイルを上書きするのを防ぐ方法

Makefile.amには次のものがあります。

bin_PROGRAMS = sample
sample_SOURCES = main.cpp
sampleconfdir = $(sysconfdir)/sample
sampleconf_DATA = sample.cfg

インストーラを使用するたびに、make installSample.cfgファイルが上書きされます。ファイルがすでに存在する場合は、コピーをスキップするようにautomakeにどのように指示しますか?

答え1

ソフトウェアがサンプル構成をインストールし、ユーザーが実際のインストールで使用するためにこの構成をコピーして変更できるようにするのは非常に一般的です。 「ユーザー」とは誰でもシステム全体にソフトウェアをインストールするローカル管理者(ルート)であるか、$HOMEシステム内部のどこかにソフトウェアをインストールする権限のないユーザーであれ、ソフトウェアをインストールします。

たとえば、サンプル構成ファイルをインストールできます。

  1. または下にありますが、sysconfdirファイル名が変更されました(たとえば、サフィックスを含む.example)。
  2. examples別のディレクトリですdocdir

次に、この資料では、INSTALLユーザーのニーズに合わせてこれらの例をコピーして変更する方法について説明します。

これの利点は、新しいバージョンのソフトウェアをインストールするユーザーが設定ファイルの最新の例を取得できることです。その後、必要に応じて新しいファイルに基づいて実際の構成を更新できます。

新しい設定ファイルをインストールしないでください。いいえ例をインストールするときに構成構文またはその設定が変更された場合、ユーザーはファイルがどのように見えるかわからないため、混乱を招く可能性があります(ユーティリティガイドのアップグレード手順に明示的に記載されていない限り)。 )。

関連情報