使用rpmbuild打包时不对文件进行strip操作
摘自: https://www.ichenfu.com/2017/11/20/rpmbuild-not-strip/
By Chen Fu
文章目录
默认情况下,在使用rpmbuild打包时,会对安装的所有文件进行strip操作,去除文件的一些调试信息,并将这些调试信息放到debuginfo包中,但在很多时候,我们并不需要rpmbuild帮我们执行strip,也不需要生成debuginfo包,所以我们可以修改一下spec文件,关闭这些选项。
针对文件的strip操作是在__os_install_post
这个宏中定义的,我们可以运行一下rpmbuild --showrc
看一下原始的__os_install_post
做了哪些操作:
1 | ... |
可以看到在打包时会对文件进行一系列操作,比如压缩,strip,编译Python脚本等,所以,我们只需要在spec文件中,加上%define __os_install_post %{nil}
,将__os_install_post
设置为空,这样在打包的时候,就不会执行上面的这些操作了,也就不会对文件进行strip操作了。同样的,如果不需要生成debuginfo包,只需要再加上%define debug_package %{nil}
就可以了。