[rpm编程】debuginfo子包设置
debuginfo子包设置
_debuginfo_subpackages
是 RPM(Red Hat Package Manager) 打包过程中用于自动生成调试信息子包的宏。当该值设置为 1
时,打包工具会在构建过程中提取二进制文件和库的调试符号和相关的源代码信息。自动创建一个单独的调试信息子包(通常命名为 *-debuginfo
),用于存放这些调试信息。确保生成的调试信息子包符合打包规范,从而方便开发者或用户调试程序或分析核心转储文件。centos8 stream会默认设置为1,centos7默认设置为0。
centos8 stream系统:
# rpm --eval “%{_debuginfo_subpackages}”
“%{_debuginfo_subpackages}”
centos7系统:
# rpm --eval “%{_debuginfo_subpackages}”
“%{_debuginfo_subpackages}”
如果调试信息不会直接包含在主包中,而是被分离到单独的子包中,可以修改~/.rpmmacros达到目的,修改rpmbuild的_top_dir为:
%_topdir /root/test/rpmbuild
%_debuginfo_subpackages 1
也可以在rpmbuild打包时设置,如下:
rpmbuild -ba --define="_topdir /data/rpmbuild" --define="_debuginfo_subpackages 0" /data/rpmbuild/Specs/ceph.spec