rpmbuild:如何跳过“debuginfo”包的生成(不更改 SPEC 文件;.rpmmacros 也不)

Posted

技术标签:

【中文标题】rpmbuild:如何跳过“debuginfo”包的生成(不更改 SPEC 文件;.rpmmacros 也不)【英文标题】:rpmbuild: how to skip generation of "debuginfo" packages (without change SPEC file ; neither .rpmmacros) 【发布时间】:2016-08-27 06:06:08 【问题描述】:

我们需要在 EL7 上(重新)生成第三方包,但我们不想按照建议(%define debug_package %nilhttps://www.redhat.com/archives/shrike-list/2003-April/msg00069.html)更改 SPEC 文件,也不想更改 ~/.rpmmacros 文件因为它位于 RPM 构建的共享框上。

有没有办法通过rpmbuild 的命令行(附加参数)解决这个问题?

【问题讨论】:

【参考方案1】:

经过多次测试,我找到了解决方案。事实上,可以在 SPEC 文件之外定义debug_package,使用--define。这给出了:

rpmbuild --define "debug_package %nil" -ba SPECS/original.spec

结果是:我没有修改第三方SPEC文件,也没有生成RPM-debuginfo

【讨论】:

【参考方案2】:

rpmbuild --rebuild --nodebuginfo file.src.rpm -- 这仍然会生成 debuginfo rpms

另一种解决方案:

cat /etc/rpm/macros 
%debug_package %nil

【讨论】:

以上是关于rpmbuild:如何跳过“debuginfo”包的生成(不更改 SPEC 文件;.rpmmacros 也不)的主要内容,如果未能解决你的问题,请参考以下文章

rpmbuild打包出错处理

RPM包rpmbuild SPEC文件深度说明 装载

cmake/cpack 组件 debuginfo rpm 包没有出现

没有出现cmake / cpack组件的debuginfo rpm包

CentOS下的RPM包制作教程收集(rpmbuild)

rpmbuild 构建rpm包时报错:拟 用rpmbuild 建rpm驱动,然后转载模块进内核。RedHat 5.7, 截图如下: