.src.rpm源代码包制作rpm包

制作rpm包

从repo仓库里下载到*.src.rpm源代码包,里面有*.tar.gz源代码包、补丁和其他文件,使用rpm2cpio *.src.rpm | cpio -div命令解压。
下载.src.rpm包到制定目录

ls

在这里插入图片描述
解压.src.rpm源代码包

rpm2cpio tree-1.7.0-3.fc21.src.rpm | cpio -div

.src.rpm源代码包制作rpm包_第1张图片
如果要重新给源代码包打上补丁

rpmdev-setuptree

在当前用户目录建立制作rpm包的目录结构rpmbuild,

可以使用tree命令看一下。

tree rpmbuild/

.src.rpm源代码包制作rpm包_第2张图片
使用rpm -ivh .src.rpm,源代码包解压到rpmbuild的目录结构里,在SOURCES目录下存放着.tgz源代码压缩包和一些列*.patch补丁文件,在SPECS目录下存放在tree.spec文件。.spec文件可以用来解压tgz源代码压缩包,也可以用来重新制作生成.rpm和*.src.rpm包

rpm -ivh  tree-1.7.0-3.fc21.src.rpm

.src.rpm源代码包制作rpm包_第3张图片
再使用rpmbuild -bp *.spec就可以将tar.gz源代码包解压到BUILD目录下,-bp参数是在spec文件中的%prep阶段,解压打补丁。此时在就可以在BUILD目录下执行./configure 、make、make install等安装过程。

rpmbuild -bp tree.spec

.src.rpm源代码包制作rpm包_第4张图片
制作好补丁后,修改完工程项目后,使用rpmbuild -ba *.spec就可以生成rpm包和srpms源代码包了。

rpmbuild -ba tree.spec

.src.rpm源代码包制作rpm包_第5张图片

注释

  • 在使用rpmbuild -ba *.spec命令之前,需要预先安装一些软件包,使用dnf install 软件名安装,解决软件依赖问题。
  • 把输出记录到日志文件的方法 make 2>&1 tee make.log

你可能感兴趣的:(Linux系统,#,rpm)