0

rpmbuildスペックファイルを使用して既存の設定ファイルを更新する方法を調べてきました。

例として、私のrpmで、設定ファイルに行を追加したいと思います。/etc/stunnel/stunnel

[SomeAppName]
accept = 8006
connect = 127.0.0.1:5006

私は現在、%installセクションにこれを持っています:

cat stunnel/stunnel.conf >> %{buildroot}/etc/stunnel/stunnel.conf

rpmを実行するたびに、これらの同じ行が構成ファイルに追加されるため、これは明らかにごみです。

/etc/stunnel/stunnel.confまた、rpmパッケージを消去するときにファイルを削除したくないので、ファイルをrpmの一部にしたくありません。

私の質問は次のとおりです。

  1. /etc/stunnel/stunnel.confをrpmの一部から除外するにはどうすればよいですか?
  2. rpm中に設定ファイルに行を追加する正しい方法は何ですか?
  3. これを機能させる方法や、スペックファイルで使用できる数行の例を確認できるリンクを誰かに提供してもらえますか。

Max Rpmで公式ガイドを見てきましたが、これまでのところ、私の問題に対する答えは見つかりませんでした。

4

1 に答える 1

2

a)より多くの最新のツールは、この正確な理由から、フラットファイルと並列の.d構成ディレクトリもサポートしています。たとえば、私のDebian wheezyディストリビューションは、/ etc/stunnelを各.confファイルが個別のstunnel構成であるディレクトリとして扱います。

b)確立された代替案は、次のような条件付き構成のようです。

grep -q '[SomeAppName]' %{buildroot}/etc/stunnel/stunnel.conf || cat ...

(または、stunnel.confがすでに存在するかどうかわからない場合)

grep -s '[SomeAppName]' %{buildroot}/etc/stunnel/stunnel.conf || cat ...
于 2011-09-14T13:00:19.323 に答える