rsv-1.0 という rpm をビルドします。rsv-1.0.rpm をインストールすると、自動的に rsv.cfg ファイルが /etc にインストールされます。
パッケージには、ファイル etc/rsc.cfg が 1 つだけ含まれています。
更新された rpm 用にファイル rsv.cfg を変更したい場合は、rsv-2.0.rpm とします。
次に、空のディレクトリを作成し、これを新しいSPECファイルに含めてrsv-2.0.tar.gzにテアしました
%post
if [ -f /etc/rsv.cfg ]; then
/bin/echo "hello-2.0" > /etc/rsv.cfg
fi
シェルコマンドとして
しかし、rpm -ivh rsv-2.0.rpmを使用した場合にのみ機能することがわかりました
rpm -Uvh rsv-2.0.rpm を使用すると、/etc/rsv.cfg 内のファイルが消えます。
だから私の質問は、シェルコマンドを実行するだけの更新rpmを作成する方法ですか?
v2 の仕様ファイルを更新する
Name: rsv
Version: 2.0
Release: 1
Summary: rsv rpm
Group: rsv
License: GPL+
URL:
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
#BuildRequires:
#Requires:
%description
%{summary}
%prep
%setup -q
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
#cp -a * %{buildroot}
%clean
rm -rf %{buildroot}
%post
if [ -f /etc/rsv.cfg ]; then
/bin/echo "hello-2.0" > /etc/rsv.cfg
fi
%files
%defattr(-,root,root,-)
%doc
#%config %{_sysconfdir}/%{name}.cfg
%changelog
v1.0 のスペック ファイルは、%config と #cp のコメントを外すだけです。