単純な RPM インストーラーを作成しています。その%install
過程で作成したディレクトリ構造にファイルをコピーするだけです。
%install
プロセスは問題ありません。コマンドを使用して次のフォルダーを作成し/opt/company/application/
、mkdir -p %{buildroot}/opt/company/%{name}
パッケージからファイルとサブディレクトリをコピーします。私はそれをインストールしようとしましたが、動作します。
アンインストールするときに疑問が生じます。フォルダーを削除したいのですが、インストール場所を参照するときにどこでも/opt/company/application/
使用することになっていると思いました。%{buildroot}
私の理解では、ユーザーの構造が異なる可能性があり、それが機能するとは想定できないからですrmdir /opt/company/%{name}/
。セクションでそのコマンドを使用すると%postun
、ディレクトリが正常に削除されますが、使用rmdir ${buildroot}/opt/company/%{name}
してもフォルダーは削除されません。
私の質問は、適切なインストール場所を取得するためにを使用${buildroot}
するべきではありませんか? %postun
そうでない場合、なぜですか?