rpmbuild下执行外部脚本或获取RPM_BUILD_ROOT变量的方法

A way to execute external script under rpmbuild or get RPM_BUILD_ROOT variable

在构建 RPM 的过程中,我们正在从目录 A 中的存档中提取一些内容。我们在 %files 部分中使用该存档中的文件列表更新 rpm.spec 并传递一个文件-f 包含我们从存档中获得的所有内容。

我们失败的下一步是我们需要将提取的文件复制到 RPM_BUILD_ROOT 文件夹 A 的步骤。有没有办法将 RPM_BUILD_ROOT 值获取到我们的脚本中,以便它会在需要的地方复制文件吗?

是否有其他方法可以将档案中的文件添加到 RPM 中?

谢谢!

没有。 RPM_BUILD_ROOT 是 mktempd() (更容易)。你无法预测。有充分的理由。

您想将文件添加为 SOURCE0、SOURCE1、SOURCE2.... 然后您可以:

%install
cp -a %{SOURCE0} %{SOURCE1} ... %{buildroot}/some/dir