解包RPM文件并重新打包

我有一个RPM文件。 我必须对该RPM进行一些更改,重新打包并testing。 谁能帮我?

修改您没有源代码的RPM的最佳方法是遵循以下步骤:

  1. 使用rpm2cpio命令将rpm解包到一个目录中
  2. 在该子目录内进行必要的更改
  3. 制作一个“虚拟”spec文件并构建它。

该虚拟spec文件可能如下所示:

Name: blah Version: 1.0 Release: 1 Summary: blah License: blah Distribution: blah Group: blah Packager: me BuildRoot: /path/to/dir/with/mods %description blah %files /path/to/dir/with/mods/* 

用这个实际值替换这里的每个“blah”(使用rpm -qpi rpm file来获取值)。 将BuildRoot替换为已解包的已修改rpm的目录。 然后运行rpmbuild -bb dummy.spec

由于没有定义准备工作/设置/构建/安装步骤,只需要在buildroot中创建一个RPM。

如果rpm包有脚本文件,你也必须把它们放在这个虚拟spec文件中。 要查看包是否有任何脚本,请运行: rpm -qp --scripts rpm file 。 同样的事情去依赖,先决条件等

我可能还有其他的细节,但是这应该足以让你开始。

更新:对于它的价值,也有http://rpmrebuild.sourceforge.net/

我认为这是一个叫做补丁的概念。 我开始使用这个链接修补第一个srpm。 但基本思路是,获取srpm,安装srpm,在build area目录下创建你的补丁,并在spec文件中指定补丁文件%patch0 -p1。 然后做rpm构建。 快乐补丁!