我正在編寫一個規範文件,當我安裝 rpm 時,得到了一些意想不到的結果。我想看看安裝過程認為它在做什麼。
人為的例子,假設我有:
%install
mkdir -p %{buildroot}%{somedir}
cp nice.file %{buildroot}%{somedir}
rpm 安裝成功,但 Nice.file 不是我期望的位置 - 是的,在這個人為的示例中,這肯定不會發生,但我還有更多的事情發生...
因此添加一些診斷:
%install
mkdir -p %{buildroot}%{somedir}
echo "about to copy to %{buildroot}%{somedir}"
cp nice.file %{buildroot}%{somedir}
ls %{buildroot}%{somedir}
當我建造 rpm 時,所有這些都顯示得很好,但在安裝時我什麼也看不到。
有沒有辦法獲得一些診斷輸出?更好的是明確地追蹤執行步驟?
我現在使用的是 Centos 7,但對任何使用 rpm 的平台都感興趣。
答案1
%install 部分確實沒有什麼在安裝過程中。此部分用於將建置工件安裝到 %buildroot 中的正確位置,以便 %files 部分可以稍後取得它們。
看https://stackoverflow.com/questions/21557015/build-rpm-to-just-install-files和https://rpm-packaging-guide.github.io/#working-with-spec-files