最近一个项目需要替换系统的一个二进制文件,于是就学习了一波rpm包相关知识
src.rpm是源码包,通过rpm的方式打包,执行rpm -ivh xxx.src.rpm就会解压出源码到~/rpmbuild目录,rpmbuild 下面有两个目录SOURCES和SPECS,SPECS是rpmbuild的配置文件,SOURCES是代码的源码包,到SPECS目录,运行rpmbuild -bb xxx.spec就可以通过源代码构建出二进制,打包好的二进制rpm包存放在RPMS, 源码和编译过程产生的二进制放在BUILD目录。想打包为别的格式可以去此目录拿到二进制文件
rpmbuild是个漫长的过程,他首先整理SOURCES目录下面的源码文件,有补丁的打补丁,然后就是常规的./configure, make, make test。
前期也涉及了patch和diff的方式管理源码,在原有代码基础上修改之后通过diff生成一个patch, 然后在SPEC里面指定一下patch文件名字,把patch文件放到SOURCE里面就好了,还算是毕竟清晰的。 常用的命令:
评论
暂无评论~~