アップストリームRPMで設定ファイルを変更する正しい方法は何ですか?

アップストリームRPMで設定ファイルを変更する正しい方法は何ですか?

%config(noreplace)他のRPMによってインストールされたファイルを変更するRPMを生成する正しい方法は何ですか?

一般的な問題の具体的な例:定義が内部イメージをalmalinux-repos指すようにインストールされているリポジトリ定義を変更しようとしています。baseurlリポジトリ定義%config(noreplace)はにあるので、almalinux-reposさまざまな方法で変更できます。しかし、我々は修正もパッケージにしたいと思います。

1つのアイデアは新しいパッケージを作成することですObsoletes: almalinux-repos。これはalmalinux-reposasを使用し、BuildRequiresそのファイルをビルドルートに含めることを提案します。Obsoletes簡単に怪我をする可能性があるため、この方法は使用しないことをお勧めします。

別のアイデアは、新しいパッケージを作成し、Requires: almalinux-reposそれを使用して%patchファイルを変更することです。

2番目の質問:このメカニズムを使用すると仮定すると、パッケージの検証に自動的に含まれるように新しいパッケージに%patch追加する必要がありますか?Supplements: almalinux-repos

ベストアンサー1

almalinux-repos2番目のアプローチでは、ローカルパッケージがインストールされるまでパッケージのファイルを変更できないという問題があります。修正があると%patch正しく適用されない危険があります。

私のアプローチは、RPMファイルを使用するのではなく、Ansibleを使用して関心のある設定ファイルに正しい設定があることを確認することです。他の多くの可能性があります。このアプローチは、実際のソリューションではなく独自のソリューションに近いです。

おすすめ記事