我正在编写 spec 文件,安装 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