【问题标题】:How to use %debug_package while using rpmbuild?使用 rpmbuild 时如何使用 %debug_package?
【发布时间】:2023-08-28 19:11:01
【问题描述】:

Linux 版本 2.6.18-131.el5 gcc 版本 4.1.2 RPM 版本 4.4.2.3

我使用以下命令来构建包: $ sudo rpmbuild -ba xxx.spec

本以为应该默认构建debuginfo包,但是只得到了xxx.src.rpm和xxx.x86_64.rpm,没有debuginfo包。

然后我在我的 xxx.spec 中添加一行,“#%debug_package”:

然后调试包就建好了! 但我认为前面带'#'的行被认为是评论! 这是如何工作的?

我完全糊涂了。

【问题讨论】:

  • 我已经解决了问题。我安装包redhat-rpm-config,然后默认获取debuginfo包。但是谁能告诉我这个包是如何影响 debuginfo 的构建的?

标签: rpm rpmbuild rpm-spec


【解决方案1】:

这是rpm 中最烦人的“功能”之一,它一直吸引着人们# 只是注释掉多行宏的第一行。将其注释掉的正确方法是

#%%debug_package

第一个% 转义第二个;宏之后的结果就是你想要的。

【讨论】:

  • 感谢您的回答。但是为什么debug_package不是默认构建的呢?
  • 您应该能够完全删除该行,因为应该自动构建 debuginfo 包(如果没有,您可能需要安装 redhat-rpm-config)。我在distracted-it.blogspot.com/2014/08/… 上提供了一些简短的信息
  • 这也暗示了更多解释:trac.netlabs.org/rpm/wiki/…