rpmbuild:如何跳过 "debuginfo" 包的生成(不更改 SPEC 文件;既不是 .rpmmacros)
rpmbuild: how to skip generation of "debuginfo" packages (without change SPEC file ; neither .rpmmacros)
我们需要在 EL7 上(重新)生成第三方包,但我们不想按照建议更改 SPEC 文件(%define debug_package %{nil}
https://www.redhat.com/archives/shrike-list/2003-April/msg00069.html ) 并且既不更改 ~/.rpmmacros
文件,因为它位于用于 RPM 构建的共享框中。
有什么方法可以通过命令行(附加参数)用 rpmbuild
解决这个问题吗?
经过多次测试,我找到了解决方案。事实上,可以使用 --define
在 SPEC 文件之外定义 debug_package
。这给出了:
rpmbuild --define "debug_package %{nil}" -ba SPECS/original.spec
结果是:我没有修改第三方 SPEC 文件,也没有生成 RPM -debuginfo
。
rpmbuild --rebuild --nodebuginfo file.src.rpm
-- 这仍然会生成 debuginfo rpm
另一个解决方案:
cat /etc/rpm/macros
%debug_package %{nil}
我们需要在 EL7 上(重新)生成第三方包,但我们不想按照建议更改 SPEC 文件(%define debug_package %{nil}
https://www.redhat.com/archives/shrike-list/2003-April/msg00069.html ) 并且既不更改 ~/.rpmmacros
文件,因为它位于用于 RPM 构建的共享框中。
有什么方法可以通过命令行(附加参数)用 rpmbuild
解决这个问题吗?
经过多次测试,我找到了解决方案。事实上,可以使用 --define
在 SPEC 文件之外定义 debug_package
。这给出了:
rpmbuild --define "debug_package %{nil}" -ba SPECS/original.spec
结果是:我没有修改第三方 SPEC 文件,也没有生成 RPM -debuginfo
。
rpmbuild --rebuild --nodebuginfo file.src.rpm
-- 这仍然会生成 debuginfo rpm
另一个解决方案:
cat /etc/rpm/macros
%debug_package %{nil}