1

単純な 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そうでない場合、なぜですか?

4

1 に答える 1

0

ご心配なく。セクションでディレクトリを自分のものとして主張すると%files、RPM がそれを処理します。

参考までに、%{buildroot}おそらくターゲット マシンには存在しません。

于 2013-09-19T00:53:31.800 に答える