【问题标题】:excluding file types when packaging an rpm打包 rpm 时排除文件类型
【发布时间】:2014-05-28 19:19:22
【问题描述】:

在我用于打包 python rpm 的规范文件中,我想删除某些目录中的某些文件类型:

例如,我想排除这些目录中的源 *.py 文件:

lib/*.py

comm/*.py

我认为我应该在规范的 %file 部分执行此操作。有什么建议吗?

【问题讨论】:

    标签: python packaging rpm


    【解决方案1】:

    你需要使用 %exclude 宏,即

    %files
    %exclude /lib/*.py
    %exclude /comm/*.py
    

    【讨论】:

      【解决方案2】:

      在遥远的过去,您只是通过在 %file 部分中不包含您不想要的文件来做到这一点,因此它们不会被打包。事实证明,这可能太容易出错,因此一些 RPM 实现开始抱怨未打包的文件。由于 RPM 开发总是有点碎片化和文档不足,我不清楚规范的解决方案是什么,但我建议最安全的方法是在安装程序结束时删除文件。这种方法还可以轻松传输到其他包装系统,例如 dpkg。

      【讨论】:

        【解决方案3】:

        或者只是从 buildroot 中删除它们:

        %install
        ...
        find %{buildroot} -name ".py" -delete
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-22
          • 1970-01-01
          • 2018-03-28
          • 1970-01-01
          • 2016-12-04
          相关资源
          最近更新 更多