【问题标题】:Can rpmbuild ignore files in buildroot?rpmbuild 可以忽略 buildroot 中的文件吗?
【发布时间】:2023-06-03 19:49:01
【问题描述】:

我有一个被检入 svn 的目标目录。我在运行 rpmbuild 时将目标用作 --buildroot。由于每个目录中的 .svn 目录,这会导致 rpmbuild 失去理智。有没有办法让 rpmbuild 放松一下?

我查看了 svn export target target-build,但它只知道 rpm 跟踪的文件。也许不是一个坏方法,但我不太确定这是最好的方法。

【问题讨论】:

    标签: svn rpm rpmbuild


    【解决方案1】:

    您可以做的是在安装阶段在 rpm 规范中构建文件列表(忽略您需要忽略的文件),然后在 %files 部分使用此文件列表,而不是仅指定整个目录。

    您可以在股票 RedHat/CentOS php rpm 中找到一个示例 - 构建 php 扩展的部分。

    【讨论】:

    • 但这仍然要求任何剩余的文件都不在 buildroot 中。我将看一下php rpm以获得一些启发。
    【解决方案2】:

    您一开始就不应该覆盖 buildroot。最新版本的 rpm 可以在 rpm 构建过程中自动清理(即执行 rm -rf)buildroot。

    如果不出意外,您可能会失去工作。不,无论 rpm 在 buildroot 中找到什么,它都假定它在构建过程中被放在那里并且应该被安装(即在%install 部分忘记了一些东西)。

    【讨论】: