【问题标题】:How to debug %post with rpmbuild如何使用 rpmbuild 调试 %post
【发布时间】:2014-11-25 00:59:21
【问题描述】:

我正在构建一个 RPM,它需要在安装完成后运行多个脚本来配置它以完成安装。我必须在 %post 部分运行脚本,因为配置取决于主机的类型。所有这一切都相当容易而且很好,但是每次我遇到 %post 部分的错误时,我都必须重建整个包,这大约需要 20 分钟。有没有办法跳过重新编译所有内容,只使用 %post 中的更改构建一个新包?

【问题讨论】:

    标签: redhat rpmbuild


    【解决方案1】:

    如果您的规范文件没有创建随机构建目录并且之后不会删除该构建树,那么 make 可以省略更耗时的编译。 IE。类似于在 rpmbuild 中不使用 --clean 选项。

    然后,您还可以在 rpmbuild 中使用 --short-circuit 标志来跳过构建的第一阶段。

    【讨论】:

    • 根据手册页,--short-circuit 仅适用于 -bi 和 -bc。要测试 %post 部分,我需要使用 -bb 或 -ba 来构建实际的包。
    【解决方案2】:

    脚本在手动运行与从 RPM 安装运行时是否有所不同?您可以制作一个没有%post 的测试RPM,然后手动运行被测脚本(以root 身份)。在需要测试的每种主机类型上执行此操作,直到您认为自己掌握了它。 然后将其添加为%post 并尝试一下。

    【讨论】:

    • 我的大部分测试都是这样做的。然而,正是我试图测试的 RPM 宏使得测试变得困难。这些只能在 rpmbuild 期间发生,afaik。
    猜你喜欢
    • 1970-01-01
    • 2015-02-07
    • 2013-08-28
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 2014-07-09
    • 2018-05-30
    • 2023-03-15
    相关资源
    最近更新 更多