【发布时间】:2014-05-28 19:19:22
【问题描述】:
在我用于打包 python rpm 的规范文件中,我想删除某些目录中的某些文件类型:
例如,我想排除这些目录中的源 *.py 文件:
lib/*.py
comm/*.py
我认为我应该在规范的 %file 部分执行此操作。有什么建议吗?
【问题讨论】:
在我用于打包 python rpm 的规范文件中,我想删除某些目录中的某些文件类型:
例如,我想排除这些目录中的源 *.py 文件:
lib/*.py
comm/*.py
我认为我应该在规范的 %file 部分执行此操作。有什么建议吗?
【问题讨论】:
你需要使用 %exclude 宏,即
%files
%exclude /lib/*.py
%exclude /comm/*.py
【讨论】:
在遥远的过去,您只是通过在 %file 部分中不包含您不想要的文件来做到这一点,因此它们不会被打包。事实证明,这可能太容易出错,因此一些 RPM 实现开始抱怨未打包的文件。由于 RPM 开发总是有点碎片化和文档不足,我不清楚规范的解决方案是什么,但我建议最安全的方法是在安装程序结束时删除文件。这种方法还可以轻松传输到其他包装系统,例如 dpkg。
【讨论】:
或者只是从 buildroot 中删除它们:
%install
...
find %{buildroot} -name ".py" -delete
【讨论】: