从.src.rpm包中提取出完整的源码的方法

以提取 kernel-3.10.0-693.el7.src.rpm 版本的kernel代码为例:

1 什么是完整的源码

最初始的源码加上打了所有的patch后的源码,即最新的源码。

2 提取过程

2.1 从.src.rpm中提取rpm工程文件

cp kernel-3.10.0-693.el7.src.rpm /root/rpmbuild/SOURCES/
cd /root/rpmbuild/SOURCES/
//extract files from cpio
rpm2cpio kernel-3.10.0-693.el7.src.rpm | cpio -iv

2.2 根据spec文件提取源码

rpmbuild -bp kernel.spec

3 生成的源码所在的位置

//生成的源码位置为安装rpmbuild的BUILD目录下:
/root/rpmbuild/BUILD/kernel-3.10.0-693.el7/

4 如果是提取.rpm文件中的内容

那么就要加上-d参数,用来生成目录,否则报错。

rpm2cpio xxx | cpio -iv -d
上一篇:架构师的成长之路初片~源码包转成rpm包


下一篇:kernel rpm 制作与过程探索